Bagian Basis Pengetahuan ▾

Alat

Alat

LlamaIndex + Gonka AI — Aplikasi RAG dengan biaya rendah

LlamaIndex adalah kerangka kerja terkemuka untuk membangun aplikasi RAG dan agen AI di Python (ada juga versi TypeScript LlamaIndex.TS). Ini menangani pemuatan dokumen, pemotongan, pengindeksan, pencarian vektor, dan penyusunan respons — Anda menjelaskan data, dan LlamaIndex mengubahnya menjadi sistem tanya jawab di atas LLM apa pun.

Ada satu masalah — biaya inferensi. RAG secara alami boros: untuk setiap pertanyaan, permintaan dikirim ke model ditambah beberapa fragmen konteks yang ditemukan, dan untuk mengindeks koleksi besar, embbedding ditambahkan. Pada volume produksi, ini berarti ribuan permintaan per hari. Dengan OpenAI ($2,50–15 per 1 juta token) atau Anthropic ($3–15 per 1 juta), bahkan layanan tanya jawab yang sederhana pun bisa berubah menjadi puluhan ribu dolar per bulan.

LlamaIndex secara native bekerja dengan endpoint yang kompatibel dengan OpenAI melalui kelas OpenAILike. Ini berarti JoinGonka Gateway dapat dihubungkan dengan beberapa baris kode — tanpa penyedia khusus atau patch. Hasilnya: sistem RAG yang sama bekerja seharga $0,0005/1 juta token pada input (output ×3) melalui jaringan desentralisasi Gonka — ratusan hingga ribuan kali lebih murah daripada API cloud.

Mulai Cepat: Terhubung melalui OpenAILike

Kunci API JoinGonka: daftar di gate.joingonka.ai/register — kami memberikan 10 juta token gratis di awal — dan buat kunci jg-xxx di Dashboard.

Instalasi:

pip install llama-index llama-index-llms-openai-like

Untuk API arbitrer yang kompatibel dengan OpenAI, LlamaIndex menyediakan kelas OpenAILike dari paket llama_index.llms.openai_like. Contoh permintaan minimal ke Gonka:

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-kunci-anda",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,            # Gonka adalah endpoint obrolan
    is_function_calling_model=True, # panggilan alat asli didukung
    context_window=131072,         # 128K di Qwen3-235B
    max_tokens=8192,               # batas output melalui Gateway (Qwen)
)

response = llm.complete("Jelaskan apa itu RAG dalam tiga kalimat.")
print(response)

Penting tentang OpenAILike: Anda harus menentukan is_chat_model=True — jika tidak, LlamaIndex akan pergi ke completion-endpoint, yang tidak kami miliki. is_function_calling_model=True mengaktifkan panggilan alat asli. Atur context_window sesuai model agar LlamaIndex memotong konteks dengan benar.

Contoh: Pipeline RAG dengan mesin query

Skenario klasik LlamaIndex adalah indeks pada dokumen Anda dan kueri terhadapnya melalui query_engine. LLM global ditentukan sekali melalui Settings.llm, setelah itu seluruh pipeline akan menggunakan Gonka secara otomatis.

from llama_index.core import (
    VectorStoreIndex,
    SimpleDirectoryReader,
    Settings,
)
from llama_index.llms.openai_like import OpenAILike
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

# 1. LLM melalui Gonka (sekali - secara global)
Settings.llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-kunci-anda",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    context_window=131072,
    max_tokens=8192,
)

# 2. Embedding lokal (gratis, tanpa OpenAI)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. Pemuatan dan pengindeksan dokumen dari folder ./data
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. Permintaan ke basis pengetahuan
query_engine = index.as_query_engine()
response = query_engine.query("Tentang apa dokumen ini?")
print(response)

Nuansa kritis tentang embedding: secara default VectorStoreIndex menggunakan embedding OpenAI (text-embedding-ada-002) — ini adalah panggilan berbayar terpisah ke OpenAI, bukan ke Gonka. Untuk sepenuhnya menghindari OpenAI, tentukan model embedding lokal melalui Settings.embed_model (seperti pada contoh di atas — HuggingFaceEmbedding, paket pip install llama-index-embeddings-huggingface). Kemudian generasi berjalan melalui Gonka, dan vektorisasi — secara lokal dan gratis.

Biaya: satu permintaan pipeline RAG (pencarian + generasi) menggunakan ~2–5K token LLM. Melalui Gonka ini hanya sebagian kecil sen; melalui OpenAI/Anthropic — 3–4 urutan magnitudo lebih mahal. Pada aliran ribuan permintaan per hari, perbedaannya berubah menjadi puluhan ribu dolar penghematan per bulan.

Perbandingan biaya beban kerja RAG

Aplikasi RAG bukanlah obrolan satu kali, melainkan aliran permintaan yang konstan: setiap pertanyaan pengguna menarik 2–5K token LLM (pertanyaan itu sendiri ditambah fragmen konteks yang ditemukan). Mari kita hitung volume tipikal dan berapa biayanya pada penyedia yang berbeda. Harga Gonka melalui JoinGonka Gateway: input ~$0,0005/1 juta, output sekitar tiga kali lipat.

SkenarioToken LLMOpenAI / AnthropicJoinGonka Gonka
Satu pertanyaan ke basis pengetahuan~4K$0,01 — $0,06~$0,000005
Chatbot dukungan (1 ribu permintaan/hari)~4 juta/hari$10 — $60 per hari~$0,005 per hari
Pengindeksan + Q&A per corpus (1 juta kata)~5 juta$12 — $75~$0,006
Layanan produksi, 50 ribu permintaan/bulan~200 juta/bulan$500 — $3.000 per bulan~$0,25 per bulan

Dengan 10 juta token gratis, Anda dapat men-debug seluruh pipeline RAG, mengindeks corpus uji, dan menjalankan ribuan permintaan — tanpa mengeluarkan sepeser pun. Pada volume produksi, JoinGonka Gateway mengubah RAG dari layanan mahal menjadi item pengeluaran yang bahkan tidak perlu diperhatikan.

Agen, panggilan alat, dan pemilihan model

LlamaIndex tidak hanya dapat menjawab berdasarkan dokumen, tetapi juga membangun agen dengan alat. Ketiga model Gonka mendukung fungsi pemanggilan alat asli — agen memanggil fungsi secara terstruktur, tanpa mengurai teks. Contoh agen dengan alat:

import asyncio
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-kunci-anda",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    is_function_calling_model=True,
    context_window=131072,
    max_tokens=8192,
)

def multiply(a: float, b: float) -> float:
    """Mengalikan dua angka."""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="Anda adalah asisten yang berguna. Gunakan alat untuk perhitungan.",
)

async def main():
    result = await agent.run("Berapa 1234 dikalikan 5678?")
    print(result)

asyncio.run(main())

Pilih model (bidang model dan batas context_window / max_tokens yang sesuai):

Model (model)KonteksOutput Maks.Kapan harus dipilih
Qwen/Qwen3-235B-A22B-Instruct-2507-FP8128K8192Default: RAG, agen, respons panjang
moonshotai/Kimi-K2.6128K3072Penalaran kuat dan panggilan alat
MiniMaxAI/MiniMax-M2.7128K4096Alternatif untuk tugas agen

Batas max_tokens melalui Gateway — hingga 8192 pada model Qwen3; untuk Kimi dan MiniMax, tentukan 3072 dan 4096 secara berurutan. Jika max_tokens tidak ditentukan untuk permintaan non-streaming, secara default akan mengembalikan hingga 1500 token — untuk respons RAG dan langkah agen, tentukan nilainya secara eksplisit.

TypeScript: untuk LlamaIndex.TS ada jalur cerminan — kelas OpenAI dari paket @llamaindex/openai menerima baseURL dan apiKey (atau membaca variabel OPENAI_BASE_URL / OPENAI_API_KEY), sehingga Gateway yang sama juga terhubung di tumpukan Node.js. Jika Anda membangun aplikasi AI pada kerangka kerja Python, lihat juga panduan untuk LangChain.

LlamaIndex + Gonka = RAG dan agen siap produksi dengan biaya rendah. Koneksi melalui OpenAILike (is_chat_model=True), panggilan alat asli, embedding lokal — input $0,0005/1M bukan $2,50–15 di OpenAI. 10M token gratis cukup untuk men-debug seluruh pipeline.

Ingin tahu lebih banyak?

Jelajahi bagian lain atau mulai hasilkan GNK sekarang.

Dapatkan 10 juta token gratis →