Rumah >Peranti teknologi >AI >Tutorial GPTCache: Meningkatkan kecekapan dalam aplikasi LLM

Tutorial GPTCache: Meningkatkan kecekapan dalam aplikasi LLM

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-03-07 10:18:11214semak imbas

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.

Apa itu gptcache?

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.

faedah menggunakan gptcache

Idea utama di sebalik GPTCache adalah untuk menyimpan dan menggunakan semula perhitungan pertengahan yang dihasilkan semasa proses kesimpulan LLM. Berbuat demikian mempunyai beberapa faedah:

penjimatan kos pada panggilan API LLM

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.

masa tindak balas yang lebih baik dan kecekapan

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.

Pengalaman pengguna yang dipertingkatkan melalui prestasi aplikasi yang lebih cepat

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.

Tutorial GPTCache: Meningkatkan kecekapan dalam aplikasi LLM Untuk mengelakkan isu -isu ini, gptchache cache jawapan sebelumnya kepada soalan yang sama. Apabila anda meminta sesuatu, ia dengan cepat memeriksa ingatannya dan menyampaikan maklumat dalam kilat. Akibatnya, anda mendapat sambutan anda dalam masa yang lebih sedikit daripada biasa.

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:

Pemasangan dan Konfigurasi

Pasang pakej gptcache menggunakan kod ini.

! pip install -q gptcache

Seterusnya, import gptCache ke dalam aplikasi anda.

from gptcache import GPTCache
cache = GPTCache()  
# keep the mode default 

itu sahaja, dan anda sudah selesai!

Integrasi dengan LLMS

anda boleh mengintegrasikan GPTCache dengan LLM melalui penyesuai LLMnya. Setakat ini, ia serasi dengan hanya dua penyesuai model bahasa yang besar:

  • OpenAI
  • Langchain
Berikut adalah cara anda boleh mengintegrasikannya dengan kedua -dua penyesuai:

gptcache dengan openai chatgpt api

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.

Jika ia belum ditetapkan, anda boleh menetapkannya dengan menggunakan Export OpenAI_API_KEY = your_api_key pada sistem UNIX/LINUX/MACOS atau tetapkan OpenAI_API_KEY = your_api_key pada sistem Windows.

Kemudian, jika anda bertanya chatgpt dua soalan tepat, ia akan mengambil jawapan kepada soalan kedua dari cache dan bukannya meminta chatgpt lagi.

Berikut adalah kod contoh untuk cache carian yang serupa:

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:

Tutorial GPTCache: Meningkatkan kecekapan dalam aplikasi LLM Kali kedua, GPT mengambil hampir 0 saat untuk menjawab soalan yang sama

gptcache dengan langchain

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.

menggunakan gptcache dalam projek anda

mari kita lihat bagaimana GPTCache dapat menyokong projek anda.

Operasi Asas

LLMS boleh menjadi tidak berkesan kerana kerumitan dan kebolehubahan pertanyaan LLM, mengakibatkan kadar hit cache yang rendah.

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:

  • nisbah hit mengukur kadar kejayaan cache dalam memenuhi permintaan. Nilai yang lebih tinggi menunjukkan prestasi yang lebih baik.
  • latency menunjukkan masa yang diambil untuk mengambil data dari cache, di mana lebih rendah adalah lebih baik.
  • ingat menunjukkan perkadaran pertanyaan cache yang disajikan dengan betul. Peratusan yang lebih tinggi mencerminkan ketepatan yang lebih baik.

Ciri -ciri Lanjutan

Semua elemen data asas seperti pertanyaan awal, arahan, respons, dan cap waktu akses disimpan dalam 'Pengurus Data'. GptCache kini menyokong pilihan penyimpanan cache berikut:

  • sqlite
  • mysql
  • Pangkalan data PostgreSQL.

Ia tidak menyokong pangkalan data 'NoSQL' lagi, tetapi ia dirancang untuk dimasukkan tidak lama lagi.

menggunakan dasar pengusiran

Walau bagaimanapun, GPTCache boleh mengeluarkan data dari penyimpanan cache berdasarkan had atau kiraan yang ditentukan. Untuk menguruskan saiz cache, anda boleh melaksanakan dasar pengusiran yang paling kurang digunakan (LRU) atau pendekatan pertama (FIFO) yang pertama.

  • Dasar Pengusiran LRU Mengusahkan item yang paling tidak diakses baru -baru ini. Sementara itu, dasar pengusiran
  • membuang barang -barang cache yang telah hadir untuk tempoh terpanjang.
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
  • data cache dinilai
  • Parameter yang ditakrifkan pengguna (jika ada)
anda juga boleh menggunakan dua fungsi lain:

    '
  • log_time_func ' membolehkan anda merakam dan melaporkan tempoh tugas intensif seperti menghasilkan ' embeddings ' atau melakukan cheak ' carian . dengan '
  • persamaan_threshold,
  • ' Anda boleh menentukan ambang untuk menentukan apabila dua vektor embedding ( perwakilan tinggi dimensi data teks ) adalah cukup sama untuk dipadankan. GPTCache Amalan Terbaik dan Penyelesaian Masalah
Sekarang anda tahu bagaimana fungsi gptcache, berikut adalah beberapa amalan dan petua terbaik untuk memastikan anda meraih faedahnya.

Mengoptimumkan prestasi gptCache

Terdapat beberapa langkah yang boleh anda ambil untuk mengoptimumkan prestasi gptCache, seperti yang digariskan di bawah.

1. Jelaskan arahan anda

Bagaimana anda mendorong kesan LLM anda dengan seberapa baik GptCache berfungsi. Oleh itu, pastikan ungkapan anda konsisten untuk meningkatkan peluang anda untuk mencapai cache.

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

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.

3. Skala gptCache untuk aplikasi LLM dengan pangkalan pengguna yang besar

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.

Penyelesaian masalah masalah gptcache biasa

Jika anda bergelut dengan gptCache, terdapat beberapa langkah yang boleh anda ambil untuk menyelesaikan masalah.

1. Pembatalan cache

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.

2. Terlalu bergantung pada respons 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.

3. Mengabaikan kualiti cache

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.

wrap-up

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.

Jika anda baru untuk LLMS, sumber -sumber ini mungkin membantu:

  • Membangunkan Model Bahasa Besar
  • Bangunan aplikasi LLM dengan langchain dan gpt
  • Latihan LLM dengan Pytorch
  • menggunakan llm dengan cohere api
  • Membangunkan aplikasi LLM dengan Langchain

FAQS

Bagaimana anda memulakan cache untuk menjalankan gptCache dan mengimport API OpenAI?

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:

! 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn