Rumah >Peranti teknologi >AI >Tutorial GPTCache: Meningkatkan kecekapan dalam aplikasi LLM
GPTCache adalah rangka kerja sumber terbuka untuk aplikasi model bahasa besar (LLM) seperti CHATGPT. Ia menyimpan respons LLM sebelum ini kepada pertanyaan yang serupa. Daripada bergantung pada LLM, aplikasi memeriksa cache untuk respons yang relevan untuk menjimatkan masa anda.
Panduan ini meneroka bagaimana GPTCache berfungsi dan bagaimana anda boleh menggunakannya dengan berkesan dalam projek anda.
GPTCache adalah sistem caching yang direka untuk meningkatkan prestasi dan kecekapan model bahasa besar (LLMS) seperti GPT-3. Ia membantu LLMS menyimpan pertanyaan yang dihasilkan sebelum ini untuk menjimatkan masa dan usaha.
Apabila pertanyaan yang sama muncul lagi, LLM dapat menarik respons cache dan bukannya mengembangkan yang baru dari awal.
Tidak seperti alat lain, GptCache berfungsi pada caching semantik. Cache semantik memegang objektif pertanyaan/permintaan. Akibatnya, apabila pertanyaan yang disimpan sebelum ini ditarik balik, hasilnya mengurangkan beban kerja pelayan dan meningkatkan kadar hit cache.
Idea utama di sebalik GPTCache adalah untuk menyimpan dan menggunakan semula perhitungan pertengahan yang dihasilkan semasa proses kesimpulan LLM. Berbuat demikian mempunyai beberapa faedah:
Kebanyakan LLMS mengenakan yuran khusus bagi setiap permintaan berdasarkan bilangan token yang diproses. Itulah ketika GptCache berguna. Ia meminimumkan bilangan panggilan API LLM dengan melayani respons yang dihasilkan sebelum ini untuk pertanyaan yang sama. Akibatnya, ini menjimatkan kos dengan mengurangkan perbelanjaan panggilan LLM tambahan.
Mendapatkan respons dari cache jauh lebih cepat daripada menghasilkannya dari awal dengan menanyakan LLM. Ia meningkatkan kelajuan dan meningkatkan masa tindak balas. Tanggapan yang cekap mengurangkan beban LLM itu sendiri dan membebaskan ruang yang boleh diperuntukkan kepada tugas -tugas lain.
Katakan anda mencari soalan untuk kandungan anda. Setiap soalan yang anda tanya mengambil masa untuk AI untuk menjawab. Kenapa? Kerana kebanyakan perkhidmatan LLM menguatkuasakan had permintaan dalam tempoh yang ditetapkan. Melebihi had ini menghalang permintaan selanjutnya sehingga had semula, yang menyebabkan gangguan perkhidmatan.
Cukup meletakkan, dengan memanfaatkan respons cache, GPTCache memastikan aplikasi berasaskan LLM menjadi responsif dan cekap-seperti yang anda harapkan dari mana-mana alat moden.
Menyediakan GptCache Berikut adalah cara anda boleh memasang gptcache secara langsung: Pasang pakej gptcache menggunakan kod ini. Seterusnya, import gptCache ke dalam aplikasi anda. itu sahaja, dan anda sudah selesai! anda boleh mengintegrasikan GPTCache dengan LLM melalui penyesuai LLMnya. Setakat ini, ia serasi dengan hanya dua penyesuai model bahasa yang besar:
gptcache dengan langchain
menggunakan gptcache dalam projek anda Operasi Asas Untuk mengatasi batasan ini, GptCache mengamalkan strategi caching semantik. Kedai caching semantik yang serupa atau pertanyaan yang berkaitan -meningkatkan kebarangkalian hits cache dan meningkatkan kecekapan caching keseluruhan. GPTCache memanfaatkan algoritma penyembuhan untuk menukar pertanyaan menjadi perwakilan berangka yang dipanggil embeddings. Lembaran ini disimpan di kedai vektor, membolehkan carian kesamaan yang cekap. Proses ini membolehkan GPTCache mengenal pasti dan mengambil pertanyaan yang serupa atau berkaitan dari penyimpanan cache. Dengan reka bentuk modularnya, anda boleh menyesuaikan pelaksanaan cache semantik mengikut keperluan anda. bagaimanapun -kadang -kadang hits cache palsu dan cache terlepas boleh berlaku dalam cache semantik. Untuk memantau prestasi ini, GPTCache menyediakan tiga metrik prestasi: Semua elemen data asas seperti pertanyaan awal, arahan, respons, dan cap waktu akses disimpan dalam 'Pengurus Data'. GptCache kini menyokong pilihan penyimpanan cache berikut: Ia tidak menyokong pangkalan data 'NoSQL' lagi, tetapi ia dirancang untuk dimasukkan tidak lama lagi.
Memantau metrik terbina dalam seperti nisbah hit, ingat, dan latensi untuk menganalisis prestasi cache anda. Nisbah hit yang lebih tinggi menunjukkan bahawa cache lebih berkesan berfungsi kandungan yang diminta dari data yang disimpan, membantu anda memahami keberkesanannya. Untuk skala gptCache untuk aplikasi LLM yang lebih besar, melaksanakan pendekatan cache bersama yang menggunakan cache yang sama untuk kumpulan pengguna dengan profil yang sama. Buat profil pengguna dan mengklasifikasikannya untuk mengenal pasti kumpulan pengguna yang serupa. memanfaatkan cache bersama untuk pengguna kumpulan profil yang sama menghasilkan pulangan yang baik mengenai kecekapan dan skalabiliti cache. Ini kerana pengguna dalam kumpulan profil yang sama cenderung mempunyai pertanyaan yang berkaitan yang boleh mendapat manfaat daripada respons cache. Walau bagaimanapun, anda mesti menggunakan teknik profil dan klasifikasi pengguna yang betul untuk pengguna kumpulan dan memaksimumkan manfaat caching bersama dengan tepat. Jika anda bergelut dengan gptCache, terdapat beberapa langkah yang boleh anda ambil untuk menyelesaikan masalah. GptCache bergantung pada respons cache terkini. Sekiranya tindak balas LLM yang mendasari atau niat pengguna berubah dari masa ke masa, respons cache mungkin tidak tepat atau tidak relevan. Untuk mengelakkan ini, tetapkan masa tamat tempoh untuk penyertaan cache berdasarkan kekerapan kemas kini yang dijangkakan LLM dan kerap menyegarkan cache. Walaupun GPTCache dapat meningkatkan kecekapan, terlalu bergantung pada respons cache boleh membawa kepada maklumat yang tidak tepat jika cache tidak dibatalkan dengan betul. Untuk tujuan ini, pastikan permohonan anda kadang -kadang mengambil respons segar dari LLM, walaupun untuk pertanyaan yang sama. Ini mengekalkan ketepatan dan kualiti respons apabila berurusan dengan maklumat kritikal atau masa yang sensitif. Kualiti dan kaitan tindak balas cache memberi kesan kepada pengalaman pengguna. Oleh itu, anda harus menggunakan metrik penilaian untuk menilai kualiti respons cache sebelum melayani mereka kepada pengguna. Dengan memahami potensi perangkap dan penyelesaiannya, anda dapat memastikan bahawa GPTCache secara efektif meningkatkan prestasi dan kecekapan kos aplikasi berkuasa LLM anda-tanpa mengorbankan ketepatan atau pengalaman pengguna.
Untuk memulakan cache dan mengimport API OpenAI, import Openai dari gptcache.adapter. Ini secara automatik akan menetapkan pengurus data untuk memadankan cache yang tepat. Begini cara anda boleh melakukan ini:
Pemasangan dan Konfigurasi
! pip install -q gptcache
from gptcache import GPTCache
cache = GPTCache()
# keep the mode default
Integrasi dengan LLMS
Berikut adalah cara anda boleh mengintegrasikannya dengan kedua -dua penyesuai:
untuk mengintegrasikan gptCache dengan OpenAI, memulakan cache dan import OpenAI dari gptcache.adapter. from gptcache import cache
from gptcache.adapter import openai
cache.init()
cache.set_openai_key()
Sebelum anda menjalankan kod contoh, tetapkan pembolehubah persekitaran OpenAI_API_KEY dengan melaksanakan echo $ openai_api_key. 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')
inilah yang akan anda lihat dalam output:
Kali kedua, GPT mengambil hampir 0 saat untuk menjawab soalan yang sama
Jika anda ingin menggunakan LLM yang berbeza, cuba penyesuai Langchain. Berikut adalah cara anda boleh mengintegrasikan GptCahe dengan Langchain:
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)
Ketahui cara membina aplikasi LLM dengan Langchain. mari kita lihat bagaimana GPTCache dapat menyokong projek anda.
LLMS boleh menjadi tidak berkesan kerana kerumitan dan kebolehubahan pertanyaan LLM, mengakibatkan kadar hit cache yang rendah.
Ciri -ciri Lanjutan
menggunakan dasar pengusiran
Menilai Prestasi Respons
GPTCache menggunakan fungsi 'penilaian' untuk menilai sama ada tindak balas cache menangani pertanyaan pengguna. Untuk berbuat demikian, ia memerlukan tiga input: Permintaan pengguna untuk data
anda juga boleh menggunakan dua fungsi lain: '
Sekarang anda tahu bagaimana fungsi gptcache, berikut adalah beberapa amalan dan petua terbaik untuk memastikan anda meraih faedahnya.
Mengoptimumkan prestasi gptCache
1. Jelaskan arahan anda
Sebagai contoh, gunakan ungkapan yang konsisten seperti "Saya tidak boleh log masuk ke akaun saya." Dengan cara ini, GPTCache mengiktiraf isu yang sama, seperti "terlupa kata laluan saya" atau "masalah log masuk akaun," lebih cekap.
2. Gunakan metrik penjejakan terbina dalam
3. Skala gptCache untuk aplikasi LLM dengan pangkalan pengguna yang besar
Penyelesaian masalah masalah gptcache biasa
1. Pembatalan cache
2. Terlalu bergantung pada respons cache
3. Mengabaikan kualiti cache
GPTCache adalah alat yang berkuasa untuk mengoptimumkan prestasi dan kecekapan kos aplikasi LLM. Strategi penilaian konfigurasi, pemantauan, dan cache yang betul diperlukan untuk memastikan anda mendapat respons yang tepat dan relevan.
FAQS
Bagaimana anda memulakan cache untuk menjalankan gptCache dan mengimport API OpenAI?
! pip install -q gptcache
Apa yang berlaku jika anda bertanya kepada Chatgpt soalan yang sama dua kali? Oleh itu, jawapan kepada soalan kedua akan diperoleh dari cache tanpa meminta chatgpt lagi.
Atas ialah kandungan terperinci Tutorial GPTCache: Meningkatkan kecekapan dalam aplikasi LLM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!