GPTCACHE教程:提高LLM應用程序的效率
GPTCACHE是大型語言模型(LLM)應用程序之類的開源框架。它存儲先前生成的LLM對類似查詢的響應。該應用程序不依賴LLM,而是檢查緩存是否相關響應以節省您的時間。
本指南探討了gptcache的工作原理以及如何在項目中有效使用它。
什麼是gptcache?
gptcache是一種緩存系統,旨在提高大語模型(LLM)(例如GPT-3)的性能和效率。它可以幫助LLMS存儲先前生成的查詢以節省時間和精力。
>
再次出現類似的查詢時,LLM可以拉起緩存的響應,而不是從頭開始開發新的響應。>
與其他工具不同,GPTCACHE在語義緩存上工作。語義緩存的目標是查詢/請求的目標。結果,當召回先前存儲的查詢時,它們的結果會降低服務器的工作量並提高高速緩存命中率。使用gptcache
的好處 GPTCACHE背後的主要思想是存儲和重複使用LLM推理過程中生成的中間計算。這樣做有幾個好處:LLM API調用上節省的成本
>>大多數llms根據所處理的令牌數量收取特定費用。那是gptcache派上用場的時候。它通過為類似查詢提供先前生成的響應來最大程度地減少LLM API調用的數量。結果,這可以通過減少額外的LLM呼叫費用來節省成本。
>提高了響應時間和效率
> 從緩存中檢索響應的比通過查詢LLM從頭開始生成它的速度要快得多。它提高了速度並改善了響應時間。有效的響應減輕了LLM本身的負擔,並釋放可以分配給其他任務的空間。
通過更快的應用程序性能增強了用戶體驗假設您正在搜索問題。您問的每個問題都需要年齡才能回答。為什麼?因為大多數LLM服務在設定期間內強制執行請求限制。超過這些限制的進一步阻止了請求,直到重置限制,這會導致服務中斷。
> chatgpt可以達到其響應生成限制
為了避免這些問題,gptchache caches先前對類似問題的答案。當您要求使用某些內容時,它會迅速檢查其內存並將信息閃爍。結果,您在少於平常的時間內得到回复。 >
>設置GPTCACHE 這是您可以直接安裝GPTCACHE的方法:
>安裝和配置
>使用此代碼安裝GPTCACHE軟件包。
! pip install -q gptcache
接下來,將gptcache導入您的應用程序。
from gptcache import GPTCache cache = GPTCache() # keep the mode default
就是這樣,您就完成了!
>與LLMS
集成>您可以通過其LLM適配器將GPTCACHE與LLMS集成。截至目前,它僅與兩個大型語言模型適配器兼容:
>- openai
- langchain
這是您可以將其與兩個適配器集成的方法:
>gptcache with openai chatgpt api
>將GPTCACHE與OpenAI集成,初始化緩存並從GPTCACHE.ADAPTER。
from gptcache import cache from gptcache.adapter import openai cache.init() cache.set_openai_key()
如果尚未設置它,則可以在unix/linux/macOS系統上使用openAi_api_key = your_api_key進行設置,或在Windows Systems上設置OpenAI_API_KEY = your_api_key。 然後,如果您問Chatgpt兩個確切的問題,它將從緩存中檢索第二個問題的答案,而不是再次問ChatGpt。
這是一個類似搜索緩存的示例代碼:
這是您在輸出中會看到的:
import time def response_text(openai_resp): return openai_resp['choices'][0]['message']['content'] print("Cache loading.....") # To use GPTCache, that's all you need # ------------------------------------------------- from gptcache import cache from gptcache.adapter import openai cache.init() cache.set_openai_key() # ------------------------------------------------- question = "what's github" for _ in range(2): start_time = time.time() response = openai.ChatCompletion.create( model='gpt-3.5-turbo', messages=[ { 'role': 'user', 'content': question } ], ) print(f'Question: {question}') print("Time consuming: {:.2f}s".format(time.time() - start_time)) print(f'Answer: {response_text(response)}\n')
第二次,GPT花了將近0秒的時間來回答相同的問題
>> gptcache with langchain
的方式
學習如何使用Langchain構建LLM應用程序。在您的項目中使用gptcache
from langchain.globals import set_llm_cache from langchain_openai import OpenAI # To make the caching really obvious, lets use a slower model. llm = OpenAI(model_name="gpt-3.5-turbo-instruct", n=2, best_of=2)
基本操作
由於LLM查詢的固有復雜性和可變性, >憑藉其模塊化設計,您可以根據您的要求自定義語義緩存實現。 >
>
log_time_func
監視內置指標,例如命中率,召回和延遲,以分析緩存的性能。較高的命中率表明,緩存更有效地為存儲數據提供了請求的內容,從而幫助您了解其有效性。
這是因為同一配置文件組中的用戶傾向於具有可從緩存響應中受益的相關查詢。但是,您必須採用正確的用戶分析和分類技術來分組用戶,並最大程度地利用共享緩存的好處。
2。過度依賴緩存的響應 儘管GPTCACHE可以提高效率,但如果緩存未正確無效,則對緩存響應的過度依賴會導致信息不准確。
>>>>>
>
>
gptcache槓桿嵌入算法將查詢轉換為稱為嵌入的數值表示。這些嵌入式存儲在矢量存儲中,從而實現有效的相似性搜索。此過程允許GPTCACHE從高速緩存存儲中識別和檢索相似或相關的查詢。
高級功能
>所有基本數據元素,例如初始查詢,提示,響應和訪問時間戳均存儲在“數據管理器”中。 GPTCACHE當前支持以下緩存存儲選項:> sqlite
>它不支持“ nosql”數據庫,但計劃很快就會合併。
但是,GPTCACHE可以根據指定的限製或計數從緩存存儲中刪除數據。要管理高速緩存大小,您可以實現至少最近使用的(LRU)驅逐策略,或者先於首先使用(FIFO)方法。
> lru驅逐策略
用戶的數據請求
'嵌入
您可以採取幾個步驟來優化GPTCACHE的性能,如下所示。
1。澄清您的提示例如,使用一致的措辭,例如“我無法登錄到我的帳戶”。這樣,gptcache識別出類似的問題,例如“忘記我的密碼”或“帳戶登錄問題”,更有效地。
>2。使用內置跟踪指標
縮放LLM應用程序的GPTCACHE
>為較大的LLM應用程序擴展GPTCACHE,請實現共享的緩存方法,該方法將相同的緩存用於具有相似配置文件的用戶組。創建用戶配置文件並對其進行分類以識別類似的用戶組。
1。緩存無效>
為了避免這種情況,請根據LLM的預期更新頻率設置緩存條目的到期時間,並定期刷新緩存。
>
3。忽略緩存質量
gptcache是優化LLM應用程序的性能和成本效益的強大工具。需要適當的配置,監視和緩存評估策略,以確保您獲得準確和相關的響應。
FAQS
>如何初始化緩存以運行GPTCACHE並導入OpenAI API?
! pip install -q gptcache
以上是GPTCACHE教程:提高LLM應用程序的效率的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

嘿,編碼忍者!您當天計劃哪些與編碼有關的任務?在您進一步研究此博客之前,我希望您考慮所有與編碼相關的困境,這是將其列出的。 完畢? - 讓&#8217

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

介紹 想像一下,穿過美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

介紹 Openai已根據備受期待的“草莓”建築發布了其新模型。這種稱為O1的創新模型增強了推理能力,使其可以通過問題進行思考

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

對於那些可能是我專欄新手的人,我廣泛探討了AI的最新進展,包括體現AI,AI推理,AI中的高科技突破,及時的工程,AI培訓,AI,AI RE RE等主題
