Tutorial Requesty: Gerbang LLM Terpadu dengan Failover Otomatis
Pelajari cara menggunakan gerbang LLM terpadu Requesty, failover, caching, dan analitik untuk membangun aplikasi AI yang andal dan hemat biaya di berbagai penyedia.
Aplikasi AI Anda berjalan baik dengan OpenAI sampai tagihan mencapai $2.000 per bulan. Anda menambahkan Anthropic untuk penalaran yang lebih baik dan Google untuk penghematan biaya, dan kini Anda harus menangani tiga API berbeda, masing-masing dengan penagihan dan pemantauan terpisah. Saat OpenAI down, aplikasi Anda rusak. Saat Anda terkena batas laju, pengguna melihat error. Anda memerlukan pendekatan yang lebih andal.
Requesty mengatasinya dengan menyediakan gerbang terpadu dengan failover otomatis dan alat optimasi biaya. Konfigurasikan rantai failover dan preferensi caching sekali di dasbor, lalu setiap permintaan API akan otomatis menggunakan kebijakan tersebut.
Saat sebuah penyedia down, Requesty beralih ke model cadangan Anda. Saat Anda mengaktifkan caching pada penyedia yang didukung seperti Anthropic, Anda memangkas biaya untuk kueri berulang.
Dalam tutorial ini, saya akan membahas kemampuan inti Requesty. Saya mulai dengan panggilan API dasar melalui gerbang terpadu dan streaming respons. Lalu kita akan mengonfigurasi failover otomatis untuk menjamin waktu aktif, mengaktifkan caching penyedia untuk mengurangi biaya saat kueri berulang, dan menggunakan dasbor analitik untuk memantau pengeluaran serta mengoptimalkan penggunaan Anda. Fitur-fitur ini bekerja sama baiknya apakah Anda membangun prototipe AI pertama atau menerapkan sistem produksi dalam skala besar.
Apa itu Requesty?
Requesty adalah gerbang LLM terpadu yang menghubungkan Anda ke lebih dari 300 model dari penyedia seperti OpenAI, Anthropic, Google, Meta, dan AWS melalui satu API. Ini adalah layanan terkelola, jadi Anda tidak perlu meng-host apa pun sendiri.
Gambaran umum dan fitur utama
Requesty mengonfigurasi kebijakan perutean melalui dasbor alih-alih kode atau file konfigurasi. Anda menyiapkan rantai failover, bobot load balancing, dan preferensi caching melalui antarmuka web, dan kebijakan ini otomatis berlaku untuk semua permintaan API.
Konfigurasi berbasis dasbor memungkinkan:
Caching native penyedia: Aktifkan caching pada penyedia yang didukung seperti Anthropic dan Gemini untuk menggunakan ulang bagian prompt dan mengurangi biaya untuk permintaan berulang.
Failover otomatis yang cepat: Platform otomatis beralih ke model cadangan saat penyedia bermasalah, dengan jaminan SLA 99,99%.
Analitik waktu nyata: Lacak token, biaya, persentil latensi, tingkat hit cache, dan frekuensi failover untuk semua permintaan Anda melalui satu dasbor terpadu.
Kemampuan ini dipadukan dengan kebijakan perutean fleksibel (rantai fallback, load balancing, optimasi latensi), pagar pembatas keamanan bawaan untuk PII dan injeksi prompt, serta pelacakan biaya yang terperinci.
OpenRouter menyediakan akses terpadu serupa ke berbagai LLM namun dengan perutean dasar dan tanpa dasbor analitik. LiteLLM menawarkan fitur sebanding tetapi memerlukan self-hosting dan konfigurasi YAML manual untuk kebijakan perutean. Requesty berada di tengah sebagai layanan terkelola dengan konfigurasi berbasis dasbor.
Kapan saya harus menggunakan Requesty?
Jika Anda menjalankan sistem perusahaan dengan persyaratan waktu aktif ketat, SLA 99,99% sangat penting. Saat aplikasi Anda down, Anda kehilangan uang. Fitur keamanan bawaan seperti redaksi PII dan deteksi injeksi prompt menangani persyaratan kepatuhan tanpa perlu membangun sistem ini sendiri. Tim yang beroperasi di bawah GDPR dapat mengaktifkan hosting UE untuk menjaga data tetap berada di yurisdiksi yang tepat.
Tim pengembang yang membangun aplikasi AI produksi menghindari keterikatan vendor dengan beralih penyedia melalui konfigurasi alih-alih menulis ulang kode. Failover otomatis berarti Anda tidak perlu membangun infrastruktur keandalan kustom.
Proyek dengan anggaran ketat mendapat manfaat dari caching penyedia dan load balancing strategis. Alih-alih menulis logika optimasi sendiri, Anda mengonfigurasi kebijakan sekali dan biarkan Requesty menangani pengurangan biaya.
Prasyarat
Siapkan lingkungan pengembangan Anda. Ini memakan waktu sekitar 5 menit dan mencakup paket Python, kunci API, dan konfigurasi dasar.
Anda memerlukan Python 3.7 atau yang lebih baru terpasang di sistem Anda. Verifikasi versi Anda:
import sys
print(f"Python {sys.version_info.major}.{sys.version_info.minor}")Didukung oleh
Instal paket yang diperlukan menggunakan pip atau uv:
pip install openai python-dotenv
# or with uv: uv add openai python-dotenvDidukung oleh
Anda memerlukan paket openai untuk berinteraksi dengan API Requesty. Paket python-dotenv menangani variabel lingkungan secara aman.
Buat akun Requesty diapp.requesty.ai. Setelah masuk, buka bagian API Keys dan buat kunci baru. Salin kunci ini untuk autentikasi. Jangan lupa menambahkan sejumlah dana ke akun Anda juga.
Simpan kunci API Anda dalam file .env di direktori proyek Anda:
Ini menjaga kredensial Anda tetap berada di luar kode dan membuat Anda lebih aman saat membagikan proyek tanpa mengekspos rahasia.
Verifikasi semuanya berfungsi dengan memuat variabel lingkungan dan memeriksa bahwa kunci API dapat diakses:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
api_key = os.getenv("REQUESTY_API_KEY")# Check your setupif api_key:print("✓ API key loaded")
client = OpenAI(
api_key=api_key,
base_url="https://router.requesty.ai/v1")print("✓ Client configured")else:print("✗ API key not found")Didukung oleh
Jika Anda melihat kedua tanda centang, Anda siap membuat permintaan pertama.
Memulai dengan Requesty: Membuat Panggilan API Pertama
Dengan lingkungan yang telah dikonfigurasi dan kunci API siap, Anda dapat membuat panggilan API pertama. Requesty berfungsi sebagai pengganti langsung untuk SDK OpenAI. Jika Anda pernah menggunakan OpenAI sebelumnya, ini akan terasa familier. Satu-satunya perbedaan adalah mengarahkan klien Anda ke router Requesty.
Berikut cara menyiapkan klien Anda:
import os
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(
api_key=os.getenv("REQUESTY_API_KEY"),
base_url="https://router.requesty.ai/v1")Didukung oleh
Parameter base_url inilah yang merutekan permintaan Anda melalui Requesty alih-alih langsung ke OpenAI. Anda dapat mengujinya dengan panggilan ke GPT-5:
response = client.chat.completions.create(
model="openai/gpt-5",
messages=[{"role":"user","content":"Explain recursion in one sentence"}])print(response.choices[0].message.content)Didukung oleh
Keluaran:
Recursion is a technique where a function solves a problem by calling itself on smaller inputs until it reaches a base case.Didukung oleh
Parameter model menggunakan format provider/model-name. Di sini openai/gpt-5, yang mengakses model terbaru OpenAI dengankemampuan penalaran native dan kinerja yang ditingkatkan untuk tugas pengkodean dan matematika. Selain format model dan URL dasar, SDK bekerja identik dengan milik OpenAI.
Catatan: Setiap panggilan API berbayar. Requesty menambahkan markup 5% di atas harga dasar penyedia, sehingga GPT-5 sedikit lebih mahal melalui Requesty daripada memanggil OpenAI langsung. Anda membayar untuk keandalan, kemampuan failover, dan dasbor terpadu. Pantau penggunaan Anda melalui dasbor Requesty untuk melacak pengeluaran.
Objek respons berisi metadata berguna selain konten pesan:
print(f"Model used: {response.model}")print(f"Total tokens: {response.usage.total_tokens}")print(f"Response: {response.choices[0].message.content}")Didukung oleh
Keluaran:
Model used: gpt-5-2025-08-07
Total tokens: 108
Response: Recursion is a technique where a function solves a problem by calling itself on smaller inputs until it reaches a base case.Didukung oleh
Jumlah token membantu Anda melacak biaya, karena penetapan harga biasanya per token.
Beralih ke penyedia lain dengan mengubah nama model:
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4",
messages=[{"role":"user","content":"Explain recursion in one sentence"}])print(f"Claude says: {response.choices[0].message.content}")Didukung oleh
Keluaran:
Claude says: Recursion is a programming technique where a function calls itself to solve a problem by breaking it down into smaller, similar subproblems until it reaches a base case that stops the repetition.Didukung oleh
Claude 4 menawarkan jendela konteks yang diperluas dan penalaran yang ditingkatkan yang membuatnya unggul untuk analisis kode yang kompleks. Semua model yang tersedia mengikuti pola provider/model-name yang sama:
# OpenAI GPT-4o
model ="openai/gpt-4o"# Anthropic Claude
model ="anthropic/claude-sonnet-4"
Wrap your API calls in error handling before moving to production:try:
response = client.chat.completions.create(
model="openai/gpt-5",
messages=[{"role":"user","content":"Hello!"}])print(response.choices[0].message.content)except Exception as e:print(f"Error: {e}")Didukung oleh
Ini menangkap time-out jaringan, kunci API tidak valid, atau model tidak tersedia tanpa membuat aplikasi Anda crash.
Streaming untuk Respons Real-Time di Requesty
Saat Anda meminta respons panjang, layar membeku selama beberapa detik sementara model menghasilkan ribuan token. Lalu semuanya muncul sekaligus.
Pengguna menatap layar kosong, bertanya-tanya apakah ada yang sedang berlangsung.
Streaming mengatasinya dengan mengirim potongan respons saat model menghasilkannya, sehingga pengguna melihat kata-kata muncul secara progresif, seperti ChatGPT. Ini membuat aplikasi terasa responsif, terutama untuk respons panjang seperti penjelasan, pembuatan kode, atau karya kreatif.
Untuk mengaktifkan streaming di Requesty, setel parameter stream ke True:
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role":"user","content":"Explain recursion like I'm five years old"}],
stream=True)for chunk in response:if chunk.choices[0].delta.content isnotNone:print(chunk.choices[0].delta.content, end="", flush=True)Didukung oleh
Respons mengalir kata demi kata:
Okay! Imagine you have a big basket of toys, and you're trying to find your favorite teddy bear.
But instead of looking through the whole basket all at once, you call your little sibling and say,
"Can you look in here and find my teddy bear? If you see more baskets inside, ask someone else to help in the same way!" …Didukung oleh
Parameter stream=True mengubah respons dari satu objek menjadi iterator yang menghasilkan potongan. Setiap potongan berisi sepotong teks dalam delta.content. Parameter end="" mencegah baris baru di antara potongan, dan flush=True memaksa tampilan segera alih-alih buffering.
Aplikasi produksi sering membutuhkan pengalaman streaming sekaligus teks lengkap untuk logging atau analisis. Fungsi bantu berikut menangani keduanya:
defstream_and_capture(model, messages):"""Stream response to user while capturing complete text."""
response = client.chat.completions.create(
model=model,
messages=messages,
stream=True)
complete_text =""for chunk in response:if chunk.choices[0].delta.content isnotNone:
text = chunk.choices[0].delta.content
complete_text += text
print(text, end="", flush=True)print()# Final newlinereturn complete_text
# Use it
full_response = stream_and_capture("anthropic/claude-sonnet-4",[{"role":"user","content":"Write a haiku about debugging code at 3 AM"}])print(f"\nCaptured {len(full_response)} characters")Didukung oleh
Keluaran:
Blinking cursor waits
Coffee cold, eyes burning red,
One missing bracket.
Captured 74 charactersDidukung oleh
Streaming tidak selalu menjadi pilihan tepat. Untuk respons singkat atau keluaran terstruktur seperti data JSON, permintaan biasa lebih sederhana dan lebih cepat karena overhead pemrosesan potongan melebihi manfaat pengalaman pengguna.
Stream bisa gagal di tengah karena masalah jaringan, batas laju, atau gangguan penyedia. Bungkus kode streaming Anda dengan penanganan error dasar:
try:
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role":"user","content":"Explain quantum entanglement in one sentence"}],
stream=True)for chunk in response:if chunk.choices[0].delta.content isnotNone:print(chunk.choices[0].delta.content, end="", flush=True)except Exception as e:print(f"\nError: {e}")Didukung oleh
Jika sebuah stream gagal, Anda menangkap error dan dapat mencoba lagi secara manual atau jatuh kembali ke model lain.
Failover Otomatis untuk Keandalan
Aplikasi produksi tidak bisa menanggung waktu henti. Saat OpenAI terkena batas laju selama jam sibuk, pengguna Anda melihat error. Saat Anthropic mengalami gangguan, chatbot Anda berhenti bekerja. Kegagalan ini tak terelakkan saat Anda bergantung pada penyedia eksternal.
Requesty menanganinya melalui failover otomatis. Saat model utama Anda gagal, Requesty beralih ke cadangan Anda dalam waktu kurang dari 50 milidetik.
Apa itu failover dan mengapa penting
Sistem failover mendeteksi saat model utama Anda tidak tersedia dan mengarahkan ulang permintaan Anda ke model cadangan tanpa memerlukan perubahan pada kode Anda. Deteksi terjadi otomatis saat penyedia mengembalikan error, terkena batas laju, atau time-out. Requesty lalu merutekan permintaan Anda ke model berikutnya dalam rantai yang Anda konfigurasikan.
Requesty menjamin waktu aktif 99,99% melalui sistem ini. Itu sekitar 4 menit waktu henti per bulan maksimal, dibandingkan berpotensi berjam-jam jika Anda menggunakan satu penyedia tanpa opsi cadangan.
Tiga jenis kebijakan mengendalikan cara kerja failover:
Fallback Chain: Mencoba model secara berurutan. Jika yang pertama gagal, coba yang kedua. Jika itu gagal, coba yang ketiga. Ini cocok saat Anda memiliki model pilihan tetapi ingin opsi cadangan.
Load Balancing: Membagi trafik ke beberapa model berdasarkan persentase. Anda bisa mengirim 70% ke GPT-5 dan 30% ke Claude Sonnet 4 untuk mengurangi beban pada satu penyedia. Saat satu model tidak tersedia, Requesty otomatis merutekan semua trafik ke model yang berfungsi.
Latensi: Merutekan permintaan ke model yang merespons paling cepat. Requesty mengukur waktu respons dan mengirim trafik ke opsi dengan latensi terendah. Ini mengoptimalkan kecepatan dibandingkan biaya.
Kebanyakan tim memulai dengan Fallback Chain karena sifatnya yang prediktabel. Anda mendapatkan model pilihan saat tersedia dan cadangan otomatis saat tidak.
Mengonfigurasi rantai fallback
Penyiapan failover dilakukan di dasbor Requesty. Buka bagian API Keys, lalu klik Policies. Buat kebijakan Fallback Chain baru. Anda akan melihat formulir untuk menambahkan model sesuai urutan preferensi.
Berikut contoh rantai yang menyeimbangkan kualitas, biaya, dan ketersediaan:
1. openai/gpt-5
2. anthropic/claude-sonnet-4
3. deepseek/deepseek-r1:free
Rantai ini mencoba GPT-5 terlebih dahulu karena cepat dan mumpuni. Jika itu gagal, ia mencoba Claude Sonnet 4 dengan kualitas serupa. Jika kedua model premium down, ia jatuh ke DeepSeek R1, yang gratis dan hampir selalu tersedia.
Setelah Anda menyimpan kebijakan ini dan melampirkannya ke kunci API Anda, failover terjadi tanpa perubahan kode:
response = client.chat.completions.create(
model="openai/gpt-5",
messages=[{"role":"user","content":"Explain how DNS works"}])print(f"Model used: {response.model}")print(response.choices[0].message.content)Didukung oleh
Kolom response.model menampilkan model yang benar-benar menangani permintaan Anda. Dasbor melacak frekuensi failover sehingga Anda dapat melihat kapan model cadangan digunakan.
Keluaran:
Model used: gpt-5-2025-08-07
DNS (Domain Name System) translates human-readable website addresses like "google.com" into IP addresses (like 142.250.80.46) that computers use to locate and connect to servers. This translation happens through a hierarchical system of DNS servers that cache and distribute this information globally for fast lookups.Didukung oleh
Jika semua model dalam rantai Anda gagal, Requesty mengembalikan error setelah mencoba masing-masing. Anda akan mendapatkan respons error API standar yang menunjukkan tidak ada model yang tersedia. Ini jarang terjadi tetapi mungkin saat terjadi gangguan luas.
Beberapa pedoman yang cocok saat membangun rantai failover:
Gunakan penyedia berbeda: Jika Anda menempatkan openai/gpt-5 dan openai/gpt-4o dalam rantai, keduanya bisa down saat terjadi gangguan OpenAI. Campurkan penyedia untuk keandalan yang lebih baik.
Urutkan berdasarkan kualitas dulu, lalu biaya: Tempatkan model terbaik Anda di awal. Jika tidak tersedia, coba yang terbaik berikutnya. Fallback terakhir Anda harus opsi paling andal, meskipun kualitasnya lebih rendah atau gratis.
Sertakan setidaknya tiga model: Satu cadangan berarti dua titik kegagalan. Tiga model atau lebih memberi cakupan yang lebih baik.
Uji rantai Anda: Lakukan beberapa permintaan dan periksa dasbor analitik untuk melihat model mana yang menangani trafik. Ini memastikan kebijakan Anda bekerja.
Sementara LiteLLM memerlukan konfigurasi YAML manual untuk failover, Requesty menangani semuanya melalui kebijakan di dasbor.
Caching untuk Mengurangi Biaya
Menjalankan kueri yang sama berulang kali itu berbiaya. Jika Anda memiliki chatbot dokumentasi yang menjawab pertanyaan yang sama berulang, atau asisten pengkodean dengan sistem prompt yang sama untuk setiap permintaan, Anda membayar harga penuh setiap kali. Caching memperbaikinya dengan menggunakan ulang bagian prompt Anda yang tidak berubah.
Beberapa penyedia mendukung caching prompt secara native. Anthropic dan Gemini memungkinkan Anda menyimpan bagian prompt yang tidak berubah dan menggunakannya kembali di berbagai permintaan. Ini memangkas biaya saat Anda memiliki pola berulang karena Anda hanya membayar penuh untuk bagian baru.
Saat Anda mengirim permintaan dengan sistem prompt panjang, penyedia menyimpannya di cache mereka. Pada permintaan berikutnya dengan sistem prompt yang sama, mereka mengambilnya dari cache alih-alih memproses ulang. Anda membayar biaya baca cache yang lebih rendah, bukan biaya pemrosesan penuh.
Lewatkan auto_cache dalam kolom extra_body dengan objek requesty bertingkat:
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4",
messages=[{"role":"system","content":"You are a helpful documentation assistant. You answer questions about Python's asyncio library based on the official docs. Be concise and include code examples."},{"role":"user","content":"How do I create a basic event loop?"}],
extra_body={"requesty":{"auto_cache":True}})print(response.choices[0].message.content)Didukung oleh
Sistem prompt tetap sama di berbagai permintaan. Dengan auto_cache: True, Anthropic menyimpannya ke cache setelah permintaan pertama. Permintaan berikutnya menggunakan ulang prompt yang di-cache dan hanya memproses pertanyaan pengguna.
Parameter caching menerima tiga nilai:
True: Aktifkan caching untuk permintaan ini
False: Secara eksplisit melewati caching meskipun penyedia mendukungnya (berguna untuk data sensitif atau konten peka waktu di mana Anda ingin memastikan pemrosesan baru)
Lewati: Gunakan perilaku default (tanpa caching kecuali dikonfigurasi secara global)
Hanya Anthropic dan Gemini yang saat ini mendukung caching prompt. Menggunakan auto_cache dengan penyedia lain akan diam-diam kembali ke pemrosesan normal tanpa error.
Kapan menggunakan caching
Caching paling efektif saat Anda memiliki sistem prompt panjang yang tetap sama di berbagai permintaan. Bot dokumentasi dan asisten pengodean adalah contoh yang baik. Bot FAQ dan sistem dukungan pelanggan juga mendapat manfaat saat pengguna mengajukan pertanyaan serupa. Basis pengetahuan dengan dokumen referensi besar yang tidak berubah juga merupakan kasus penggunaan yang kuat.
Lewati caching saat setiap permintaan memerlukan data baru. Aplikasi cuaca dan harga saham termasuk dalam kategori ini. Rekomendasi personal dengan prompt unik untuk setiap pengguna tidak akan mendapat manfaat. Pemantauan real-time dan feed langsung terlalu sering berubah untuk memperoleh manfaat dari caching.
Contoh ini menampilkan chatbot dokumentasi untuk pustaka Python. Sistem prompt mencakup seluruh referensi API. Pengguna mengajukan pertanyaan berbeda, tetapi sistem prompt tetap sama:
# Simulate a long API documentation string
long_api_documentation ="""
Python AsyncIO Library Reference:
- asyncio.run(): Execute async functions
- asyncio.create_task(): Schedule coroutines
- asyncio.gather(): Run multiple tasks
... (this continues for 5,000+ tokens)
"""# First request - cache miss, pays full price
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4",
messages=[{"role":"system","content": long_api_documentation},{"role":"user","content":"How do I authenticate?"}],
extra_body={"requesty":{"auto_cache":True}})print(f"Tokens: {response.usage.total_tokens}")# Output: Tokens: 5,247 (full processing)Didukung oleh
Permintaan kedua dengan sistem prompt yang sama mengenai cache:
# Second request - cache hit, reduced cost
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4",
messages=[{"role":"system","content": long_api_documentation},{"role":"user","content":"What are rate limits?"}],
extra_body={"requesty":{"auto_cache":True}})print(f"Tokens: {response.usage.total_tokens}")# Output: Tokens: 312 (only new content processed, 5,000 tokens served from cache)Didukung oleh
Biaya baca cache mengurangi pengeluaran sebesar 50 hingga 90% untuk bagian yang di-cache.
Periksa tingkat hit cache Anda di dasbor Requesty pada bagian Analytics. Jika di bawah 40%, prompt Anda terlalu sering berubah untuk mendapat manfaat dari caching.
Cari pola di mana Anda dapat menstandarkan sistem prompt atau mengekstrak konten variabel ke pesan pengguna. Dasbor juga menampilkan total penghematan dari caching, dipecah berdasarkan penyedia dan model, sehingga Anda dapat melihat tepatnya di mana upaya optimasi Anda membuahkan hasil.
Pelacakan Biaya dan Analitik Requesty
Dasbor Anda saat ini hampir kosong. Anda telah membuat beberapa permintaan uji, mungkin menghabiskan $0,10. Belum banyak yang bisa dianalisis. Bagian ini menunjukkan apa yang perlu Anda atur sekarang dan apa yang menjadi berguna nanti saat Anda masuk ke produksi.
Menetapkan batas pengeluaran adalah praktik baik bahkan untuk pengujian. Buka bagian API Keys di dasbor Anda, klik kunci Anda, dan temukan “API Limits.” Tetapkan ambang anggaran bulanan $5. Requesty akan memberi tahu Anda pada 50%, 75%, dan 90% dari batas itu. Untuk perlindungan lebih ketat, tetapkan batas penggunaan yang menghentikan semua permintaan saat Anda mencapai batas. Ini mencegah kecelakaan selama pengujian dan melindungi Anda di produksi.
Seiring pertumbuhan penggunaan, Requesty melacak lima metrik utama:
Penggunaan token: Berapa banyak token yang dikonsumsi setiap permintaan
Pelacakan biaya: Pengeluaran tepat per model dan penyedia
Metrik latensi: Waktu respons P50, P95, P99
Kinerja cache: Tingkat hit yang menunjukkan penghematan biaya
Frekuensi failover: Seberapa sering model cadangan digunakan
Setelah beberapa minggu trafik produksi, metrik ini menunjukkan pola yang membantu Anda mengoptimalkan. Gunakan dasbor untuk menemukan alur kerja mahal dan beralih ke model yang lebih murah, temukan kueri berulang dan aktifkan caching dengan auto_cache: true, serta pantau pola failover untuk menyesuaikan rantai fallback Anda. Sebuah chatbot dokumentasi menurunkan biaya dari $500 menjadi $200 per bulan dengan mengaktifkan caching setelah dasbor menunjukkan 70% kueri identik.
Pemantauan, penskalaan, dan praktik operasional terbaik menjadi krusial saat Anda beralih dari prototipe ke produksi. LLMOps membahas siklus hidup lengkap pengelolaan model bahasa besar di lingkungan produksi, termasuk strategi optimasi biaya yang melengkapi analitik bawaan Requesty.
Kesimpulan
Anda telah mempelajari bagaimana Requesty bekerja sebagai gerbang terpadu ke 300+ model AI melalui satu API. Penyiapannya sederhana: instal SDK OpenAI, arahkan ke URL dasar Requesty, dan Anda terhubung. Dari sana, streaming menghadirkan respons progresif, rantai failover menjamin waktu aktif bahkan saat penyedia gagal, dan caching dapat memangkas biaya hingga setengahnya saat Anda menangani prompt berulang.
Pilihan antara Requesty, LiteLLM, dan OpenRouter bergantung pada prioritas Anda. Jika Anda memerlukan infrastruktur terkelola dengan failover otomatis dan analitik bawaan, Requesty menangani kompleksitasnya untuk Anda. Tim yang nyaman dengan self-hosting dan menginginkan kontrol granular dapat menggunakan pendekatan open-source LiteLLM. OpenRouter menyediakan akses terpadu dasar saat Anda nyaman dengan pemilihan model manual dan tidak memerlukan kebijakan perutean lanjutan.
Mulailah dengan mengonfigurasi rantai fallback dengan tiga model dari penyedia berbeda, lalu aktifkan caching pada permintaan dengan sistem prompt berulang. Untuk kasus penggunaan yang lebih canggih, jelajahi kemampuan penalaran Claude Sonnet 4 atau terapkan praktik LLMOps untuk penerapan produksi.
Saya adalah kreator konten data science dengan pengalaman lebih dari 2 tahun dan salah satu dengan jumlah pengikut terbesar di Medium. Saya suka menulis artikel mendalam tentang AI dan ML dengan sedikit gaya sarkastik—karena harus ada sesuatu untuk membuatnya tidak terlalu membosankan. Saya telah menghasilkan lebih dari 130 artikel dan satu kursus di DataCamp, dengan satu lagi sedang dalam proses. Konten saya telah dilihat oleh lebih dari 5 juta pasang mata, dan 20 ribu di antaranya menjadi pengikut di Medium dan LinkedIn.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Mulai perjalanan Anda mengembangkan aplikasi berbasis AI dengan OpenAI API. Pelajari fungsionalitas yang menjadi dasar aplikasi AI populer seperti ChatGPT.
Aplikasi AI Anda berjalan baik dengan OpenAI sampai tagihan mencapai $2.000 per bulan. Anda menambahkan Anthropic untuk penalaran yang lebih baik dan Google untuk penghematan biaya, dan kini Anda harus menangani tiga API berbeda, masing-masing dengan penagihan dan pemantauan terpisah. Saat OpenAI down, aplikasi Anda rusak. Saat Anda terkena batas laju, pengguna melihat error. Anda memerlukan pendekatan yang lebih andal.
Requesty mengatasinya dengan menyediakan gerbang terpadu dengan failover otomatis dan alat optimasi biaya. Konfigurasikan rantai failover dan preferensi caching sekali di dasbor, lalu setiap permintaan API akan otomatis menggunakan kebijakan tersebut.
Saat sebuah penyedia down, Requesty beralih ke model cadangan Anda. Saat Anda mengaktifkan caching pada penyedia yang didukung seperti Anthropic, Anda memangkas biaya untuk kueri berulang.
Dalam tutorial ini, saya akan membahas kemampuan inti Requesty. Saya mulai dengan panggilan API dasar melalui gerbang terpadu dan streaming respons. Lalu kita akan mengonfigurasi failover otomatis untuk menjamin waktu aktif, mengaktifkan caching penyedia untuk mengurangi biaya saat kueri berulang, dan menggunakan dasbor analitik untuk memantau pengeluaran serta mengoptimalkan penggunaan Anda. Fitur-fitur ini bekerja sama baiknya apakah Anda membangun prototipe AI pertama atau menerapkan sistem produksi dalam skala besar.
Apa itu Requesty?
Requesty adalah gerbang LLM terpadu yang menghubungkan Anda ke lebih dari 300 model dari penyedia seperti OpenAI, Anthropic, Google, Meta, dan AWS melalui satu API. Ini adalah layanan terkelola, jadi Anda tidak perlu meng-host apa pun sendiri.
Gambaran umum dan fitur utama
Requesty mengonfigurasi kebijakan perutean melalui dasbor alih-alih kode atau file konfigurasi. Anda menyiapkan rantai failover, bobot load balancing, dan preferensi caching melalui antarmuka web, dan kebijakan ini otomatis berlaku untuk semua permintaan API.
Konfigurasi berbasis dasbor memungkinkan:
Kemampuan ini dipadukan dengan kebijakan perutean fleksibel (rantai fallback, load balancing, optimasi latensi), pagar pembatas keamanan bawaan untuk PII dan injeksi prompt, serta pelacakan biaya yang terperinci.
OpenRouter menyediakan akses terpadu serupa ke berbagai LLM namun dengan perutean dasar dan tanpa dasbor analitik. LiteLLM menawarkan fitur sebanding tetapi memerlukan self-hosting dan konfigurasi YAML manual untuk kebijakan perutean. Requesty berada di tengah sebagai layanan terkelola dengan konfigurasi berbasis dasbor.
Kapan saya harus menggunakan Requesty?
Jika Anda menjalankan sistem perusahaan dengan persyaratan waktu aktif ketat, SLA 99,99% sangat penting. Saat aplikasi Anda down, Anda kehilangan uang. Fitur keamanan bawaan seperti redaksi PII dan deteksi injeksi prompt menangani persyaratan kepatuhan tanpa perlu membangun sistem ini sendiri. Tim yang beroperasi di bawah GDPR dapat mengaktifkan hosting UE untuk menjaga data tetap berada di yurisdiksi yang tepat.
Tim pengembang yang membangun aplikasi AI produksi menghindari keterikatan vendor dengan beralih penyedia melalui konfigurasi alih-alih menulis ulang kode. Failover otomatis berarti Anda tidak perlu membangun infrastruktur keandalan kustom.
Proyek dengan anggaran ketat mendapat manfaat dari caching penyedia dan load balancing strategis. Alih-alih menulis logika optimasi sendiri, Anda mengonfigurasi kebijakan sekali dan biarkan Requesty menangani pengurangan biaya.
Prasyarat
Siapkan lingkungan pengembangan Anda. Ini memakan waktu sekitar 5 menit dan mencakup paket Python, kunci API, dan konfigurasi dasar.
Anda memerlukan Python 3.7 atau yang lebih baru terpasang di sistem Anda. Verifikasi versi Anda:
Instal paket yang diperlukan menggunakan pip atau uv:
Anda memerlukan paket
openaiuntuk berinteraksi dengan API Requesty. Paketpython-dotenvmenangani variabel lingkungan secara aman.Buat akun Requesty di app.requesty.ai. Setelah masuk, buka bagian API Keys dan buat kunci baru. Salin kunci ini untuk autentikasi. Jangan lupa menambahkan sejumlah dana ke akun Anda juga.
Simpan kunci API Anda dalam file
.envdi direktori proyek Anda:Ini menjaga kredensial Anda tetap berada di luar kode dan membuat Anda lebih aman saat membagikan proyek tanpa mengekspos rahasia.
Verifikasi semuanya berfungsi dengan memuat variabel lingkungan dan memeriksa bahwa kunci API dapat diakses:
Jika Anda melihat kedua tanda centang, Anda siap membuat permintaan pertama.
Memulai dengan Requesty: Membuat Panggilan API Pertama
Dengan lingkungan yang telah dikonfigurasi dan kunci API siap, Anda dapat membuat panggilan API pertama. Requesty berfungsi sebagai pengganti langsung untuk SDK OpenAI. Jika Anda pernah menggunakan OpenAI sebelumnya, ini akan terasa familier. Satu-satunya perbedaan adalah mengarahkan klien Anda ke router Requesty.
Berikut cara menyiapkan klien Anda:
Parameter
base_urlinilah yang merutekan permintaan Anda melalui Requesty alih-alih langsung ke OpenAI. Anda dapat mengujinya dengan panggilan ke GPT-5:Keluaran:
Parameter model menggunakan format
provider/model-name. Di siniopenai/gpt-5, yang mengakses model terbaru OpenAI dengan kemampuan penalaran native dan kinerja yang ditingkatkan untuk tugas pengkodean dan matematika. Selain format model dan URL dasar, SDK bekerja identik dengan milik OpenAI.Catatan: Setiap panggilan API berbayar. Requesty menambahkan markup 5% di atas harga dasar penyedia, sehingga GPT-5 sedikit lebih mahal melalui Requesty daripada memanggil OpenAI langsung. Anda membayar untuk keandalan, kemampuan failover, dan dasbor terpadu. Pantau penggunaan Anda melalui dasbor Requesty untuk melacak pengeluaran.
Objek respons berisi metadata berguna selain konten pesan:
Keluaran:
Jumlah token membantu Anda melacak biaya, karena penetapan harga biasanya per token.
Beralih ke penyedia lain dengan mengubah nama model:
Keluaran:
Claude 4 menawarkan jendela konteks yang diperluas dan penalaran yang ditingkatkan yang membuatnya unggul untuk analisis kode yang kompleks. Semua model yang tersedia mengikuti pola provider/model-name yang sama:
Ini menangkap time-out jaringan, kunci API tidak valid, atau model tidak tersedia tanpa membuat aplikasi Anda crash.
Streaming untuk Respons Real-Time di Requesty
Saat Anda meminta respons panjang, layar membeku selama beberapa detik sementara model menghasilkan ribuan token. Lalu semuanya muncul sekaligus.
Pengguna menatap layar kosong, bertanya-tanya apakah ada yang sedang berlangsung.
Streaming mengatasinya dengan mengirim potongan respons saat model menghasilkannya, sehingga pengguna melihat kata-kata muncul secara progresif, seperti ChatGPT. Ini membuat aplikasi terasa responsif, terutama untuk respons panjang seperti penjelasan, pembuatan kode, atau karya kreatif.
Untuk mengaktifkan streaming di Requesty, setel parameter
streamkeTrue:Respons mengalir kata demi kata:
Parameter
stream=Truemengubah respons dari satu objek menjadi iterator yang menghasilkan potongan. Setiap potongan berisi sepotong teks dalamdelta.content. Parameterend=""mencegah baris baru di antara potongan, danflush=Truememaksa tampilan segera alih-alih buffering.Aplikasi produksi sering membutuhkan pengalaman streaming sekaligus teks lengkap untuk logging atau analisis. Fungsi bantu berikut menangani keduanya:
Keluaran:
Streaming tidak selalu menjadi pilihan tepat. Untuk respons singkat atau keluaran terstruktur seperti data JSON, permintaan biasa lebih sederhana dan lebih cepat karena overhead pemrosesan potongan melebihi manfaat pengalaman pengguna.
Stream bisa gagal di tengah karena masalah jaringan, batas laju, atau gangguan penyedia. Bungkus kode streaming Anda dengan penanganan error dasar:
Jika sebuah stream gagal, Anda menangkap error dan dapat mencoba lagi secara manual atau jatuh kembali ke model lain.
Failover Otomatis untuk Keandalan
Aplikasi produksi tidak bisa menanggung waktu henti. Saat OpenAI terkena batas laju selama jam sibuk, pengguna Anda melihat error. Saat Anthropic mengalami gangguan, chatbot Anda berhenti bekerja. Kegagalan ini tak terelakkan saat Anda bergantung pada penyedia eksternal.
Requesty menanganinya melalui failover otomatis. Saat model utama Anda gagal, Requesty beralih ke cadangan Anda dalam waktu kurang dari 50 milidetik.
Apa itu failover dan mengapa penting
Sistem failover mendeteksi saat model utama Anda tidak tersedia dan mengarahkan ulang permintaan Anda ke model cadangan tanpa memerlukan perubahan pada kode Anda. Deteksi terjadi otomatis saat penyedia mengembalikan error, terkena batas laju, atau time-out. Requesty lalu merutekan permintaan Anda ke model berikutnya dalam rantai yang Anda konfigurasikan.
Requesty menjamin waktu aktif 99,99% melalui sistem ini. Itu sekitar 4 menit waktu henti per bulan maksimal, dibandingkan berpotensi berjam-jam jika Anda menggunakan satu penyedia tanpa opsi cadangan.
Tiga jenis kebijakan mengendalikan cara kerja failover:
Kebanyakan tim memulai dengan Fallback Chain karena sifatnya yang prediktabel. Anda mendapatkan model pilihan saat tersedia dan cadangan otomatis saat tidak.
Mengonfigurasi rantai fallback
Penyiapan failover dilakukan di dasbor Requesty. Buka bagian API Keys, lalu klik Policies. Buat kebijakan Fallback Chain baru. Anda akan melihat formulir untuk menambahkan model sesuai urutan preferensi.
Berikut contoh rantai yang menyeimbangkan kualitas, biaya, dan ketersediaan:
1. openai/gpt-5
2. anthropic/claude-sonnet-4
3. deepseek/deepseek-r1:free
Rantai ini mencoba GPT-5 terlebih dahulu karena cepat dan mumpuni. Jika itu gagal, ia mencoba Claude Sonnet 4 dengan kualitas serupa. Jika kedua model premium down, ia jatuh ke DeepSeek R1, yang gratis dan hampir selalu tersedia.
Setelah Anda menyimpan kebijakan ini dan melampirkannya ke kunci API Anda, failover terjadi tanpa perubahan kode:
Kolom
response.modelmenampilkan model yang benar-benar menangani permintaan Anda. Dasbor melacak frekuensi failover sehingga Anda dapat melihat kapan model cadangan digunakan.Keluaran:
Jika semua model dalam rantai Anda gagal, Requesty mengembalikan error setelah mencoba masing-masing. Anda akan mendapatkan respons error API standar yang menunjukkan tidak ada model yang tersedia. Ini jarang terjadi tetapi mungkin saat terjadi gangguan luas.
Beberapa pedoman yang cocok saat membangun rantai failover:
openai/gpt-5danopenai/gpt-4odalam rantai, keduanya bisa down saat terjadi gangguan OpenAI. Campurkan penyedia untuk keandalan yang lebih baik.Sementara LiteLLM memerlukan konfigurasi YAML manual untuk failover, Requesty menangani semuanya melalui kebijakan di dasbor.
Caching untuk Mengurangi Biaya
Menjalankan kueri yang sama berulang kali itu berbiaya. Jika Anda memiliki chatbot dokumentasi yang menjawab pertanyaan yang sama berulang, atau asisten pengkodean dengan sistem prompt yang sama untuk setiap permintaan, Anda membayar harga penuh setiap kali. Caching memperbaikinya dengan menggunakan ulang bagian prompt Anda yang tidak berubah.
Beberapa penyedia mendukung caching prompt secara native. Anthropic dan Gemini memungkinkan Anda menyimpan bagian prompt yang tidak berubah dan menggunakannya kembali di berbagai permintaan. Ini memangkas biaya saat Anda memiliki pola berulang karena Anda hanya membayar penuh untuk bagian baru.
Saat Anda mengirim permintaan dengan sistem prompt panjang, penyedia menyimpannya di cache mereka. Pada permintaan berikutnya dengan sistem prompt yang sama, mereka mengambilnya dari cache alih-alih memproses ulang. Anda membayar biaya baca cache yang lebih rendah, bukan biaya pemrosesan penuh.
Lewatkan
auto_cachedalam kolomextra_bodydengan objekrequestybertingkat:Sistem prompt tetap sama di berbagai permintaan. Dengan
auto_cache: True, Anthropic menyimpannya ke cache setelah permintaan pertama. Permintaan berikutnya menggunakan ulang prompt yang di-cache dan hanya memproses pertanyaan pengguna.Parameter caching menerima tiga nilai:
True: Aktifkan caching untuk permintaan iniFalse: Secara eksplisit melewati caching meskipun penyedia mendukungnya (berguna untuk data sensitif atau konten peka waktu di mana Anda ingin memastikan pemrosesan baru)Hanya Anthropic dan Gemini yang saat ini mendukung caching prompt. Menggunakan
auto_cachedengan penyedia lain akan diam-diam kembali ke pemrosesan normal tanpa error.Kapan menggunakan caching
Caching paling efektif saat Anda memiliki sistem prompt panjang yang tetap sama di berbagai permintaan. Bot dokumentasi dan asisten pengodean adalah contoh yang baik. Bot FAQ dan sistem dukungan pelanggan juga mendapat manfaat saat pengguna mengajukan pertanyaan serupa. Basis pengetahuan dengan dokumen referensi besar yang tidak berubah juga merupakan kasus penggunaan yang kuat.
Lewati caching saat setiap permintaan memerlukan data baru. Aplikasi cuaca dan harga saham termasuk dalam kategori ini. Rekomendasi personal dengan prompt unik untuk setiap pengguna tidak akan mendapat manfaat. Pemantauan real-time dan feed langsung terlalu sering berubah untuk memperoleh manfaat dari caching.
Contoh ini menampilkan chatbot dokumentasi untuk pustaka Python. Sistem prompt mencakup seluruh referensi API. Pengguna mengajukan pertanyaan berbeda, tetapi sistem prompt tetap sama:
Permintaan kedua dengan sistem prompt yang sama mengenai cache:
Biaya baca cache mengurangi pengeluaran sebesar 50 hingga 90% untuk bagian yang di-cache.
Periksa tingkat hit cache Anda di dasbor Requesty pada bagian Analytics. Jika di bawah 40%, prompt Anda terlalu sering berubah untuk mendapat manfaat dari caching.
Cari pola di mana Anda dapat menstandarkan sistem prompt atau mengekstrak konten variabel ke pesan pengguna. Dasbor juga menampilkan total penghematan dari caching, dipecah berdasarkan penyedia dan model, sehingga Anda dapat melihat tepatnya di mana upaya optimasi Anda membuahkan hasil.
Pelacakan Biaya dan Analitik Requesty
Dasbor Anda saat ini hampir kosong. Anda telah membuat beberapa permintaan uji, mungkin menghabiskan $0,10. Belum banyak yang bisa dianalisis. Bagian ini menunjukkan apa yang perlu Anda atur sekarang dan apa yang menjadi berguna nanti saat Anda masuk ke produksi.
Menetapkan batas pengeluaran adalah praktik baik bahkan untuk pengujian. Buka bagian API Keys di dasbor Anda, klik kunci Anda, dan temukan “API Limits.” Tetapkan ambang anggaran bulanan $5. Requesty akan memberi tahu Anda pada 50%, 75%, dan 90% dari batas itu. Untuk perlindungan lebih ketat, tetapkan batas penggunaan yang menghentikan semua permintaan saat Anda mencapai batas. Ini mencegah kecelakaan selama pengujian dan melindungi Anda di produksi.
Seiring pertumbuhan penggunaan, Requesty melacak lima metrik utama:
Setelah beberapa minggu trafik produksi, metrik ini menunjukkan pola yang membantu Anda mengoptimalkan. Gunakan dasbor untuk menemukan alur kerja mahal dan beralih ke model yang lebih murah, temukan kueri berulang dan aktifkan caching dengan
auto_cache: true, serta pantau pola failover untuk menyesuaikan rantai fallback Anda. Sebuah chatbot dokumentasi menurunkan biaya dari $500 menjadi $200 per bulan dengan mengaktifkan caching setelah dasbor menunjukkan 70% kueri identik.Pemantauan, penskalaan, dan praktik operasional terbaik menjadi krusial saat Anda beralih dari prototipe ke produksi. LLMOps membahas siklus hidup lengkap pengelolaan model bahasa besar di lingkungan produksi, termasuk strategi optimasi biaya yang melengkapi analitik bawaan Requesty.
Kesimpulan
Anda telah mempelajari bagaimana Requesty bekerja sebagai gerbang terpadu ke 300+ model AI melalui satu API. Penyiapannya sederhana: instal SDK OpenAI, arahkan ke URL dasar Requesty, dan Anda terhubung. Dari sana, streaming menghadirkan respons progresif, rantai failover menjamin waktu aktif bahkan saat penyedia gagal, dan caching dapat memangkas biaya hingga setengahnya saat Anda menangani prompt berulang.
Pilihan antara Requesty, LiteLLM, dan OpenRouter bergantung pada prioritas Anda. Jika Anda memerlukan infrastruktur terkelola dengan failover otomatis dan analitik bawaan, Requesty menangani kompleksitasnya untuk Anda. Tim yang nyaman dengan self-hosting dan menginginkan kontrol granular dapat menggunakan pendekatan open-source LiteLLM. OpenRouter menyediakan akses terpadu dasar saat Anda nyaman dengan pemilihan model manual dan tidak memerlukan kebijakan perutean lanjutan.
Mulailah dengan mengonfigurasi rantai fallback dengan tiga model dari penyedia berbeda, lalu aktifkan caching pada permintaan dengan sistem prompt berulang. Untuk kasus penggunaan yang lebih canggih, jelajahi kemampuan penalaran Claude Sonnet 4 atau terapkan praktik LLMOps untuk penerapan produksi.