提示鏈正在徹底改變我們與大型語言模型 (LLM) 互動的方式。透過將多個提示連結在一起,我們可以建立複雜、動態的對話並處理複雜的任務。但這種力量確實是有代價的。每次對 LLM 服務(例如 Google 的 Gemini)的 API 呼叫都會增加您的帳單。
許多LLM提供者提供了一個解決方案:批次處理。在一個請求中發送多個提示並享受大幅折扣(通常在 50% 左右!)。然而,在提示鏈工作流程中實現批次處理很快就會變成編碼噩夢。
想像一下您正在建立一個具有多步驟對話的聊天機器人。使用傳統的提示鏈接,您將發送每個用戶訊息並等待模型的回應,然後再製定下一個提示。但要利用批量折扣,您需要:
除此之外,您還需要處理速率限制、錯誤和重試。這可能會導致難以閱讀、調試和維護的複雜程式碼。
GemBatch 是一個 Python 框架,旨在簡化與 Google Gemini 的批次提示連結。它與 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中文網其他相關文章!