Menjimatkan Kos Rantaian Segera dengan GemBatch

Patricia Arquette
Lepaskan: 2024-11-25 16:14:10
asal
585 orang telah melayarinya

Taming the Cost of Prompt Chaining with GemBatch

Perantaian segera merevolusikan cara kami berinteraksi dengan model bahasa besar (LLM). Dengan memautkan berbilang gesaan bersama-sama, kami boleh mencipta perbualan yang kompleks dan dinamik dan menangani tugas yang rumit. Tetapi kuasa ini datang pada harga - secara literal. Setiap panggilan API ke perkhidmatan LLM seperti Gemini Google menambah pada bil anda.

Banyak penyedia LLM menawarkan penyelesaian: pemprosesan kelompok. Hantar berbilang gesaan dalam satu permintaan dan nikmati diskaun yang ketara (selalunya sekitar 50%!). Walau bagaimanapun, melaksanakan kumpulan dalam aliran kerja rantaian segera boleh bertukar menjadi mimpi ngeri pengekodan dengan cepat.

Cabaran Rantaian Prompt Kelompok

Bayangkan anda sedang membina chatbot dengan dialog berbilang langkah. Dengan rantaian gesaan tradisional, anda akan menghantar setiap mesej pengguna dan menunggu respons model sebelum merumuskan gesaan seterusnya. Tetapi untuk memanfaatkan diskaun kelompok, anda perlu:

  • Kumpul gesaan: Daripada menghantar serta-merta, kumpulkan gesaan mengikut kelompok.
  • Ambil ketaksinkronan: Hantar kumpulan dan tunggu (berpotensi lebih lama) untuk kerja selesai.
  • Respons peta: Sebaik sahaja hasil kumpulan tiba, padankan dengan betul setiap respons dengan gesaan yang sepadan dalam rantaian.

Selain itu, anda perlu mengendalikan had kadar, ralat dan percubaan semula. Ini boleh membawa kepada kod berbelit yang sukar dibaca, nyahpepijat dan diselenggara.

Masukkan GemBatch: Wira Rangkaian Segera Anda

GemBatch ialah rangka kerja Python yang direka untuk memudahkan rantaian gesaan kelompok dengan Gemini Google. Ia disepadukan dengan lancar dengan Firebase, menyediakan persekitaran yang biasa dan berskala untuk aplikasi LLM anda.

Begini cara GemBatch menjadikan hidup anda lebih mudah:

  • Pengumpulan yang mudah: GemBatch mengendalikan kerumitan gesaan kumpulan di belakang tabir. Anda menentukan rantai gesaan anda secara berurutan, sama seperti yang anda lakukan dengan kaedah tradisional.
  • Pengendalian tak segerak: GemBatch menguruskan kerja kelompok tak segerak, memastikan rantaian segera anda dilaksanakan dengan lancar tanpa menyekat aplikasi anda.
  • Pemetaan respons ringkas: GemBatch secara automatik mengarahkan respons kembali ke titik yang betul dalam rantai gesaan anda.
  • Penjimatan kos: Dengan memanfaatkan diskaun kelompok Gemini, GemBatch boleh mengurangkan kos API LLM anda dengan ketara.

Contoh Pantas

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() 
Salin selepas log masuk

Contoh mudah ini menunjukkan cara Gembatch membenarkan anda mentakrifkan rantaian segera dengan gembatch.submit(). Gembatch menguruskan kumpulan permintaan kepada Gemini dan menguruskan respons tak segerak.

Mulakan dengan Gembatch

Bersedia untuk membuka kunci kuasa rantaian segera yang menjimatkan kos? Lihat repositori Gembatch di GitHub:

https://github.com/blueworrybear/gembatch

Kami mengalu-alukan maklum balas dan cadangan!

Atas ialah kandungan terperinci Menjimatkan Kos Rantaian Segera dengan GemBatch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan