Maison >interface Web >js tutoriel >Mémoire ChatGPT : Comment ça marche ?

Mémoire ChatGPT : Comment ça marche ?

PHPz
PHPzoriginal
2024-08-26 21:36:321121parcourir

ChatGPT Memory: How does it work ?

Avez-vous déjà souhaité que votre IA puisse se souvenir que vous préférez des réponses courtes et directes ? Ou que vous aimez des réponses plus détaillées sur certains sujets ? La mémoire IA rend cela possible, permettant au système de rappeler vos préférences et de s'adapter à différentes conversations.

Chez LLMChat, nous travaillons à la création d'expériences de chat IA plus intuitives, en rendant l'IA plus intelligente, mais aussi plus personnelle. L'un des principaux moyens par lesquels nous y sommes parvenus est de donner à l'IA la capacité de se souvenir.

Comment fonctionne la mémoire IA

La mémoire IA stocke des informations spécifiques à l'utilisateur pour personnaliser les interactions futures. Il exploite une approche d'appel de fonctions, déclenchant des actions spécifiques lorsque de nouvelles informations doivent être ajoutées, mises à jour ou supprimées. Par exemple, si vous dites à l'IA que vous préférez des réponses concises, elle s'en souvient et ajuste ses réponses lors des prochaines discussions.

Voici le schéma que nous utilisons pour gérer la mémoire :

const memoryToolSchema = z.object({
  memory: z.array(
    z.string().describe("Key information about the user")
  ).describe("New info to be added or updated"),
  question: z.string().describe("The user's request"),
});

La fonction mémoire en action

Regardons le cœur de notre système de mémoire IA. Lorsque de nouvelles informations sont fournies, telles que les préférences de l'utilisateur, notre DynamicStructuredTool garantit que l'IA met à jour ou ajoute les détails nécessaires de manière dynamique. Voici un aperçu de son fonctionnement :

const memoryFunction = (context: ToolExecutionContext) => {
  return new DynamicStructuredTool({
    name: "memory",
    description: "Manages user preferences and adapts interactions...",
    schema: memoryToolSchema,
    func: async ({ memory, question }) => {
      const existingMemories = context.preferences?.memories || [];

      const chain = RunnableSequence.from([
        PromptTemplate.fromTemplate(`
          User request: "{question}"
          New info: {new_memory}
          Existing memories: {existing_memory}

          Update memories:
          1. Update existing details
          2. Remove if necessary
          3. Add new unique memories`),
        context.model,
        memoryParser,
      ]);

      const response = await chain.invoke({
        new_memory: memory.join("\n"),
        existing_memory: existingMemories.join("\n"),
        question: question,
      });

      context.updatePreferences?.({ memories: response.memories });
      return question;
    },
  });
};

Cette fonction garantit que l'IA s'adapte en permanence aux préférences de l'utilisateur, ce qui rend chaque interaction plus personnalisée et plus pertinente.

Pourquoi la mémoire est importante

La mémoire IA améliore l'expérience utilisateur en rendant les interactions plus personnalisées. Qu'il s'agisse de mémoriser vos réponses, de suivre des projets en cours ou de connaître vos préférences, la mémoire permet à l'IA de fonctionner plus intelligemment. Il donne également aux utilisateurs le contrôle, leur permettant de gérer ce qui est mémorisé, de mettre à jour leurs préférences ou de tout effacer si nécessaire.

// Example: Updating user preferences in real-time
context.updatePreferences?.({
  memories: response.memories,
});

Conclusion

La mémoire fait de l'IA plus qu'un simple outil : elle devient un compagnon qui s'adapte à vous. En utilisant une approche d'appel de fonction, nous avons ouvert de nouvelles possibilités de conversations dynamiques et personnalisées. Chez LLMChat, nous sommes enthousiasmés par la façon dont la mémoire peut transformer les interactions de l'IA, les rendant plus intelligentes et plus humaines.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn