Bagian Basis Pengetahuan ▾

Navigasi

▸ Mulai di sini Berdasarkan peran

Kategori

Alat 32
Glosarium 12

Alat

LlamaIndex + Gonka AI — Aplikasi RAG dengan biaya rendah

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

Satu-satunya masalah adalah biaya inferenced. RAG secara alami sangat menguras resource: setiap pertanyaan ke model menyertakan permintaan ditambah beberapa potongan konteks yang ditemukan, dan untuk pengindeksan koleksi besar, terdapat tambahan biaya embedding. Dalam skala produksi, ini mencapai ribuan permintaan per hari. Dengan OpenAI (2,50 $ – 15 $ per 1 juta token) atau Anthropic (3 $ – 15 $ per 1 juta token), bahkan layanan tanya-jawab sederhana bisa menelan biaya puluhan ribu dolar per bulan.

LlamaIndex bekerja secara native dengan endpoint yang kompatibel dengan OpenAI melalui kelas OpenAILike. Artinya, JoinGonka Gateway dapat terhubung hanya dalam beberapa baris kode — tanpa provider kustom atau patch. Hasilnya: sistem RAG yang sama berjalan seharga 0,003 $ per 1 juta token input (output ×3) melalui jaringan terdesentralisasi 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 berikan 10M token gratis di awal — dan buat kunci jg-xxx di Dashboard.

Instalasi:

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

Untuk API apa pun yang kompatibel dengan OpenAI, LlamaIndex menyediakan class OpenAILike dari paket llama_index.llms.openai_like. Contoh minimal request 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, # native tool calling didukung
    context_window=200000,         # 200K untuk model jaringan
    max_tokens=8192,               # batas output via Gateway
)

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

Penting tentang OpenAILike: pastikan untuk menyertakan is_chat_model=True — jika tidak, LlamaIndex akan mengakses completion-endpoint yang tidak kami miliki. is_function_calling_model=True mengaktifkan native tool calls. 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 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 bukanlah obrolan sekali jalan, melainkan aliran permintaan yang terus-menerus: setiap pertanyaan pengguna menarik 2–5K token LLM (pertanyaan itu sendiri ditambah fragmen konteks yang ditemukan). Mari kita hitung volume tipikal dan biayanya pada berbagai penyedia. Harga Gonka melalui JoinGonka Gateway: input ~0,003 $ per 1M, output ×3.

SkenarioToken LLMOpenAI / AnthropicJoinGonka Gonka
Satu pertanyaan ke basis pengetahuan~4K0,01 $ – 0,06 $~0,00002 $
Chatbot support (1K permintaan/hari)~4M/hari10 $ – 60 $ / hari~0,019 $ / hari
Pengindeksan + Q&A corpus (1M kata)~5M12 $ – 75 $~0,024 $
Layanan produksi, 50K permintaan/bulan~200M/bulan500 $ – 3.000 $ / bulan~0,96 $ / bulan

Dengan 10 juta token gratis, Anda bisa melakukan debug seluruh pipeline RAG, mengindeks korpus pengujian, dan menjalankan ribuan permintaan tanpa menghabiskan satu sen pun. Dalam volume produksi, JoinGonka Gateway mengubah RAG dari layanan mahal menjadi pos pengeluaran yang hampir tidak terasa.

Agen, panggilan alat, dan pemilihan model

LlamaIndex tidak hanya bisa menjawab lewat dokumen, tetapi juga membangun agen dengan alat (tools). Kedua model Gonka mendukung native tool calling — agen memanggil fungsi secara terstruktur, tanpa parsing teks. Contoh agen dengan tool:

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="Kamu adalah asisten yang membantu. Gunakan tools untuk perhitungan.",
)

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

asyncio.run(main())

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

Model (model)KonteksOutput MaksKapan digunakan
moonshotai/Kimi-K2.6200K8192Default: penalaran kuat, tool calling, agen
MiniMaxAI/MiniMax-M2.7200K8192RAG, konteks panjang, jawaban panjang

Limit max_tokens via Gateway maksimal hingga 8192 untuk semua model jaringan. Jika max_tokens tidak ditentukan untuk request non-streaming, default-nya akan mengembalikan hingga 1500 token — untuk jawaban RAG dan langkah agen, tentukan nilainya secara eksplisit.

TypeScript: untuk LlamaIndex.TS terdapat jalur зеркальный (mirror) — class OpenAI dari paket @llamaindex/openai menerima baseURL dan apiKey (atau membaca variabel OPENAI_BASE_URL / OPENAI_API_KEY), jadi Gateway yang sama juga terhubung di stack Node.js. Jika Anda membangun aplikasi AI pada framework Python, lihat juga panduan untuk LangChain.

LlamaIndex + Gonka = RAG dan agen siap produksi dengan biaya hanya sebagian kecil dari sen. Koneksi via OpenAILike (is_chat_model=True), tool calling native, embedding lokal — input 0,003 $ per 1M dibandingkan dengan 2,50 $–15 $ di OpenAI. 10 juta token gratis cukup untuk melakukan debug seluruh pipeline.

Ingin tahu lebih banyak?

Jelajahi bagian lain atau mulai hasilkan GNK sekarang.

Dapatkan 10 juta token gratis →