Le chaînage d'invites révolutionne la façon dont nous interagissons avec les grands modèles de langage (LLM). En reliant plusieurs invites entre elles, nous pouvons créer des conversations complexes et dynamiques et aborder des tâches complexes. Mais ce pouvoir a un prix – littéralement. Chaque appel d'API à un service LLM comme Gemini de Google s'ajoute à votre facture.
De nombreux prestataires LLM proposent une solution : le traitement par lots. Envoyez plusieurs invites en une seule demande et bénéficiez de réductions importantes (souvent autour de 50 % !). Cependant, la mise en œuvre du traitement par lots dans un flux de travail en chaîne d'invites peut rapidement se transformer en un cauchemar de codage.
Imaginez que vous créez un chatbot avec un dialogue en plusieurs étapes. Avec le chaînage d’invites traditionnel, vous enverriez un message à chaque utilisateur et attendriez la réponse du modèle avant de formuler l’invite suivante. Mais pour profiter des remises par lots, vous devez :
En plus de cela, vous devez gérer les limites de débit, les erreurs et les tentatives. Cela peut conduire à un code alambiqué, difficile à lire, à déboguer et à maintenir.
GemBatch est un framework Python conçu pour simplifier le chaînage des invites par lots avec Gemini de Google. Il s'intègre parfaitement à Firebase, offrant un environnement familier et évolutif pour vos applications LLM.
Voici comment GemBatch vous facilite la vie :
import gembatch # Define a simple prompt chain def task_a_prompt1(): gembatch.submit( { "contents": [ { "role": "user", "parts": [{"text": "What is the capital of France?"}], } ], }, # prompt 1 "publishers/google/models/gemini-1.5-pro-002", task_a_prompt2 ) def task_a_prompt2(response: generative_models.GenerationResponse): gembatch.submit( { "contents": [ { "role": "model", "parts": [{"text": response.text}], }, { "role": "user", "parts": [{"text": f"And what is the population of {response.text}?"}], } ], }, # prompt 2 "publishers/google/models/gemini-1.5-pro-002", task_a_output ) def task_a_output(response: generative_models.GenerationResponse): print(response.text) # Start the prompt chain task_a_prompt1()
Cet exemple simple montre comment Gembatch vous permet de définir une chaîne d'invites avec gembatch.submit(). Gembatch s'occupe de regrouper les requêtes vers Gemini et de gérer les réponses asynchrones.
Prêt à exploiter toute la puissance d'un chaînage d'invites rentable ? Consultez le référentiel Gembatch sur GitHub :
https://github.com/blueworrybear/gembatch
Nous apprécions les commentaires et les suggestions !
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!