Bagian Basis Pengetahuan ▾

Navigasi

▸ Mulai di sini Berdasarkan peran

Kategori

Alat 37
Glosarium 12

Alat

LlamaIndex + Gonka AI — Aplikasi RAG dengan biaya rendah

LlamaIndex adalah framework utama untuk membangun aplikasi RAG dan agen AI menggunakan Python (juga tersedia versi TypeScript, LlamaIndex.TS). Framework ini menangani pemuatan dokumen, pemecahan menjadi chunk, pengindeksan, pencarian vektor, dan penyusunan jawaban — Anda mendeskripsikan data, dan LlamaIndex mengubahnya menjadi sistem tanya-jawab di atas LLM apa pun.

Satu-satunya masalah adalah biaya inferensi. RAG secara alami sangat boros: untuk setiap pertanyaan, model menerima permintaan ditambah beberapa fragmen konteks yang ditemukan, dan untuk pengindeksan koleksi besar, ditambahkan embedding. Dalam skala 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 sederhana bisa menghabiskan puluhan ribu dolar per bulan.

LlamaIndex bekerja secara native dengan endpoint apa pun yang kompatibel dengan OpenAI melalui class OpenAILike. Artinya, JoinGonka Gateway dapat terhubung hanya dengan beberapa baris kode — tanpa penyedia kustom atau patch tambahan. Hasilnya: sistem RAG yang sama berjalan dengan biaya $0.0069/1 juta token input (output ×3) melalui jaringan desentralisasi Gonka — ratusan hingga ribuan kali lebih murah daripada API cloud.

Mulai Cepat: Terhubung melalui OpenAILike

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

Instalasi:

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

Untuk API yang kompatibel dengan OpenAI, LlamaIndex menyediakan class OpenAILike dari paket llama_index.llms.openai_like. Contoh minimal permintaan 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="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,            # Gonka adalah chat-endpoint
    is_function_calling_model=True, # tool calling asli didukung
    context_window=200000,         # 200K untuk model jaringan
    max_tokens=8192,               # batas output melalui Gateway
)

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

Penting tentang OpenAILike: pastikan untuk menentukan is_chat_model=True — jika tidak, LlamaIndex akan pergi ke completion-endpoint, yang tidak kami miliki. is_function_calling_model=True mengaktifkan tool calls asli. Tetapkan 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 query ke dalamnya melalui query_engine. LLM global diatur sekali melalui Settings.llm, selanjutnya seluruh pipeline 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 via Gonka (sekali - secara global)
Settings.llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-kunci-anda",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,
    context_window=200000,
    max_tokens=8192,
)

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

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

# 4. Query ke basis pengetahuan
query_engine = index.as_query_engine()
response = query_engine.query("Apa isi 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 lepas dari OpenAI, atur model embedding lokal melalui Settings.embed_model (seperti contoh di atas — HuggingFaceEmbedding, paket pip install llama-index-embeddings-huggingface). Maka generasi dilakukan melalui Gonka, dan vektorisasi dilakukan secara lokal dan gratis.

Biaya: satu request pipeline RAG (pencarian + generasi) menghabiskan ~2–5K token LLM. Melalui Gonka ini hanya fraksi sen; melalui OpenAI/Anthropic — bisa 3–4 tingkat lebih mahal. Pada lalu lintas ribuan request per hari, perbedaannya bisa menghemat puluhan ribu dolar per bulan.

Perbandingan biaya beban kerja RAG

Aplikasi RAG bukan sekadar obrolan satu kali, melainkan aliran permintaan yang konstan: setiap pertanyaan pengguna memakan 2–5K token LLM (pertanyaan itu sendiri ditambah fragmen konteks yang ditemukan). Mari hitung volume tipikal dan biayanya pada penyedia yang berbeda. Harga Gonka melalui JoinGonka Gateway: input ~$0.0069/1M, output ×3.

SkenarioToken LLMOpenAI / AnthropicJoinGonka Gonka
Satu pertanyaan ke basis pengetahuan~4K$0.01 — $0.06~$0.00004
Chatbot dukungan (1K permintaan/hari)~4M/hari$10 — $60 per hari~$0.038 per hari
Indeksasi + Q&A pada korpus (1M kata)~5M$12 — $75~$0.048
Layanan produksi, 50K permintaan/bulan~200M/bulan$500 — $3,000 per bulan~$1.92 per bulan

Dengan 3M token gratis, Anda dapat menjalankan permintaan pertama pipeline RAG, mengindeks korpus 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 akan Anda sadari.

Agen, panggilan alat, dan pemilihan model

LlamaIndex tidak hanya mampu menjawab berdasarkan dokumen, tetapi juga membangun agen dengan alat. Ketiga model Gonka mendukung tool calling asli — agen memanggil fungsi secara terstruktur, tanpa parsing 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="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,
    is_function_calling_model=True,
    context_window=200000,
    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 membantu. Gunakan alat untuk perhitungan.",
)

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

asyncio.run(main())

Pemilihan model (field model dan limit context_window / max_tokens yang sesuai):

Model (model)KonteksOutput MaksKapan digunakan
MiniMaxAI/MiniMax-M2.7200K8192Default (seperti contoh): tool calling, agen, RAG
deepseek-ai/DeepSeek-V4-Flash-0731380K32768Konteks kedua terpanjang, output terpanjang, prompt besar murah
zai-org/GLM-5.3-Flash390K8192Model penalaran: logika kompleks, konteks terpanjang; penalaran menghabiskan sebagian max_tokens

Limit max_tokens melalui Gateway adalah hingga 8192 untuk MiniMax M2.7 dan GLM-5.3 Flash, dan hingga 32768 untuk DeepSeek V4 Flash. Jika max_tokens tidak ditentukan untuk permintaan non-streaming, defaultnya adalah 1500 token — untuk respons RAG dan langkah agen, harap tentukan nilai secara eksplisit.

TypeScript: untuk LlamaIndex.TS terdapat jalur cermin — class OpenAI dari paket @llamaindex/openai menerima baseURL dan apiKey (atau membaca variabel OPENAI_BASE_URL / OPENAI_API_KEY), sehingga Gateway yang sama dapat dihubungkan ke stack Node.js. Jika Anda membangun aplikasi AI dengan framework Python, lihat juga panduan tentang LangChain.

LlamaIndex + Gonka = RAG dan agen siap produksi seharga sepersekian sen. Koneksi melalui OpenAILike (is_chat_model=True), native tool calling, embedding lokal — input $0.0069/1M alih-alih $2.50–15 di OpenAI. Token awal memungkinkan Anda mencoba pipeline tanpa kartu kredit.

Ingin tahu lebih banyak?

Jelajahi bagian lain atau mulai hasilkan GNK sekarang.

Dapatkan token gratis →