Prompt Chaining revolutioniert die Art und Weise, wie wir mit großen Sprachmodellen (LLMs) interagieren. Durch die Verknüpfung mehrerer Eingabeaufforderungen können wir komplexe, dynamische Gespräche erstellen und komplizierte Aufgaben bewältigen. Aber diese Leistung hat ihren Preis – im wahrsten Sinne des Wortes. Jeder API-Aufruf an einen LLM-Dienst wie Gemini von Google erhöht Ihre Rechnung.
Viele LLM-Anbieter bieten eine Lösung: Stapelverarbeitung. Senden Sie mehrere Aufforderungen in einer einzigen Anfrage und profitieren Sie von erheblichen Rabatten (oft um die 50 %!). Allerdings kann die Implementierung der Stapelverarbeitung innerhalb eines Prompt-Chain-Workflows schnell zu einem Programmier-Albtraum werden.
Stellen Sie sich vor, Sie erstellen einen Chatbot mit einem mehrstufigen Dialog. Bei der herkömmlichen Eingabeaufforderungsverkettung würden Sie jedem Benutzer eine Nachricht senden und auf die Antwort des Modells warten, bevor Sie die nächste Eingabeaufforderung formulieren. Um jedoch Mengenrabatte nutzen zu können, müssen Sie Folgendes tun:
Darüber hinaus müssen Sie mit Ratenlimits, Fehlern und Wiederholungsversuchen umgehen. Dies kann zu kompliziertem Code führen, der schwer zu lesen, zu debuggen und zu warten ist.
GemBatch ist ein Python-Framework, das die Batch-Prompt-Verkettung mit Googles Gemini vereinfacht. Es lässt sich nahtlos in Firebase integrieren und bietet eine vertraute und skalierbare Umgebung für Ihre LLM-Anwendungen.
So macht GemBatch Ihr Leben einfacher:
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()
Dieses einfache Beispiel zeigt, wie Sie mit Gembatch eine Eingabeaufforderungskette mit gembatch.submit() definieren können. Gembatch kümmert sich um die Stapelung der Anfragen an Gemini und die Verwaltung der asynchronen Antworten.
Sind Sie bereit, das Potenzial einer kostengünstigen Prompt-Chaining-Funktion auszuschöpfen? Schauen Sie sich das Gembatch-Repository auf GitHub an:
https://github.com/blueworrybear/gembatch
Wir freuen uns über Feedback und Vorschläge!
Das obige ist der detaillierte Inhalt vonMit GemBatch die Kosten für Prompt Chaining senken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!