プロンプト チェーンは、大規模言語モデル (LLM) との対話方法に革命をもたらしています。複数のプロンプトをリンクすることで、複雑で動的な会話を作成し、複雑なタスクに取り組むことができます。しかし、この力には文字通り代償が伴います。 Google の Gemini などの LLM サービスへの API 呼び出しごとに料金が加算されます。
多くの LLM プロバイダーは、バッチ処理というソリューションを提供しています。 1 回のリクエストで複数のプロンプトを送信すると、大幅な割引 (多くの場合約 50%!) が受けられます。ただし、プロンプト チェーン ワークフロー内でバッチ処理を実装すると、すぐにコーディングの悪夢に変わる可能性があります。
複数ステップの対話を備えたチャットボットを構築していると想像してください。従来のプロンプト チェーンでは、各ユーザー メッセージを送信し、モデルの応答を待ってから次のプロンプトを作成します。ただし、一括割引を利用するには、次のことを行う必要があります:
これに加えて、レート制限、エラー、再試行を処理する必要があります。これにより、コードが複雑になり、読み取り、デバッグ、保守が難しくなる可能性があります。
GemBatch は、Google の Gemini とのバッチ プロンプト チェーンを簡素化するために設計された Python フレームワークです。 Firebase とシームレスに統合され、LLM アプリケーションに使い慣れたスケーラブルな環境を提供します。
GemBatch がどのようにあなたの作業を楽にするかは次のとおりです:
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()
この簡単な例は、Gembatch で gembatch.submit() を使用してプロンプト チェーンを定義する方法を示しています。 Gembatch は、Gemini へのリクエストのバッチ処理と非同期応答の管理を処理します。
費用対効果の高いプロンプト チェーンの力を活用する準備はできていますか? GitHub の Gembatch リポジトリをチェックしてください:
https://github.com/blueworrybear/gembatch
フィードバックや提案を歓迎します!
以上がGemBatch を使用してプロンプト チェーンのコストを抑えるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。