cari
RumahPeranti teknologiAITutorial 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.

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
Tesla's Robovan adalah permata tersembunyi pada penggoda Robotaxi 2024Tesla's Robovan adalah permata tersembunyi pada penggoda Robotaxi 2024Apr 22, 2025 am 11:48 AM

Sejak tahun 2008, saya telah memperjuangkan van yang dikongsi bersama-pada masa yang digelar "Robotjitney," kemudian "Vansit" -dan masa depan pengangkutan bandar. Saya meramalkan kenderaan ini sebagai penyelesaian transit generasi akan datang abad ke-21, Surpas

Pertaruhan Kelab Sam di AI untuk menghapuskan cek resit dan meningkatkan runcitPertaruhan Kelab Sam di AI untuk menghapuskan cek resit dan meningkatkan runcitApr 22, 2025 am 11:29 AM

Merevolusikan pengalaman checkout Sistem "Just Go" inovatif Sam Club membina teknologi "imbasan & pergi" yang sedia ada AI yang sedia ada, yang membolehkan ahli mengimbas pembelian melalui aplikasi Sam's Club semasa perjalanan membeli-belah mereka.

AI Omniverse Nvidia berkembang di GTC 2025AI Omniverse Nvidia berkembang di GTC 2025Apr 22, 2025 am 11:28 AM

Predictability dan barisan produk baru NVIDIA di GTC 2025 Nvidia, pemain utama dalam infrastruktur AI, memberi tumpuan kepada peningkatan ramalan untuk pelanggannya. Ini melibatkan penghantaran produk yang konsisten, memenuhi jangkaan prestasi, dan

Meneroka keupayaan model Google ' s Gemma 2Meneroka keupayaan model Google ' s Gemma 2Apr 22, 2025 am 11:26 AM

Google's Gemma 2: Model bahasa yang kuat dan cekap Model Bahasa Gemma Google, yang disambut untuk kecekapan dan prestasi, telah berkembang dengan kedatangan Gemma 2. Siaran terbaru ini terdiri daripada dua model: parameter 27 bilion ver

Gelombang Seterusnya: Perspektif dengan Dr. Kirk Borne - Analytics VidhyaGelombang Seterusnya: Perspektif dengan Dr. Kirk Borne - Analytics VidhyaApr 22, 2025 am 11:21 AM

Ini memimpin dengan episod data yang menampilkan Dr Kirk Borne, seorang saintis data terkemuka, astrofizik, dan pembesar suara TEDX. Pakar terkenal dalam Big Data, AI, dan Pembelajaran Mesin, Dr. Borne menawarkan pandangan yang tidak ternilai ke dalam keadaan semasa dan masa depan Traje

AI untuk pelari dan atlet: kami membuat kemajuan yang sangat baikAI untuk pelari dan atlet: kami membuat kemajuan yang sangat baikApr 22, 2025 am 11:12 AM

Terdapat beberapa perspektif yang sangat berwawasan dalam maklumat ini mengenai maklumat mengenai kejuruteraan yang menunjukkan kepada kita mengapa kecerdasan buatan sangat baik untuk menyokong latihan fizikal orang. Saya akan menggariskan idea teras dari setiap perspektif penyumbang untuk menunjukkan tiga aspek reka bentuk yang merupakan bahagian penting dalam penerokaan penerokaan kecerdasan buatan dalam sukan. Peranti tepi dan data peribadi mentah Idea ini mengenai kecerdasan buatan sebenarnya mengandungi dua komponen -satu yang berkaitan dengan di mana kita meletakkan model bahasa yang besar dan yang lain berkaitan dengan perbezaan antara bahasa manusia dan bahasa yang kita tanda -tanda penting kita "menyatakan" apabila diukur dalam masa nyata. Alexander Amini tahu banyak tentang berlari dan tenis, tetapi dia masih

Jamie Engstrom mengenai Teknologi, Bakat dan Transformasi di CaterpillarJamie Engstrom mengenai Teknologi, Bakat dan Transformasi di CaterpillarApr 22, 2025 am 11:10 AM

Ketua Pegawai Maklumat Caterpillar dan Naib Presiden Kanan IT, Jamie Engstrom, mengetuai pasukan global lebih dari 2,200 profesional IT di 28 negara. Dengan 26 tahun di Caterpillar, termasuk empat setengah tahun dalam peranannya sekarang, Engst

Kemas kini foto Google baru menjadikan sebarang foto pop dengan kualiti ultra HDRKemas kini foto Google baru menjadikan sebarang foto pop dengan kualiti ultra HDRApr 22, 2025 am 11:09 AM

Alat HDR Ultra baru Google Photos: Panduan Cepat Tingkatkan foto anda dengan alat Ultra HDR baru Google Photos, mengubah imej standard ke dalam karya-karya bertenaga, tinggi dinamik. Sesuai untuk media sosial, alat ini meningkatkan kesan foto,

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini