Ce document détaille la configuration et l'utilisation des templates pour générer des réponses naturelles.
export const formatBalanceTemplate = `
Contexte:
- Adresse du portefeuille: {{address}}
- Solde: {{balance}} {{currency}}
Ne rajoute pas d'informations supplémentaires, reste factuel.
Changer la tournure de cette exemple pour que ce soit plus naturel et aléatoire.
Ta réponse devra ressembler à ceci:
Ce wallet a {{balance}} {{currency}}.
ou
D'après ce que j'ai trouvé sur l'explorateur, {{address}} a {{balance}} {{currency}}.
`;state.address = address; // Adresse XRP
state.balance = xrpBalance; // Solde en XRP
state.currency = "XRP"; // DeviseCes variables sont injectées dans le template via :
{{address}} -> state.address
{{balance}} -> state.balance
{{currency}} -> state.currencyconst context = composeContext({
state, // Injection du state
template: formatBalanceTemplate // Notre template
});const formattedResponse = await generateText({
runtime,
context,
modelClass: ModelClass.SMALL
});// Dans l'action getBalance
state.address = address;
state.balance = xrpBalance;
state.currency = "XRP";
const context = composeContext({
state,
template: formatBalanceTemplate
});La fonction composeContext :
- Fusionne le state avec le template
- Remplace les variables par leurs valeurs
- Prépare le contexte pour le LLM
const formattedResponse = await generateText({
runtime,
context,
modelClass: ModelClass.SMALL
});Le processus de génération :
- Utilise le contexte préparé
- Applique les instructions du template
- Génère une réponse naturelle
- Utilise
ModelClass.SMALLpour l'efficacité
Les templates doivent être cohérents avec les exemples :
- Style de langage similaire
- Ton approprié
- Format de réponse cohérent