Mga Seksyon ng Base ng Kaalaman ▾

Mga Gamit

Mga Tool

LlamaIndex + Gonka AI — Mga Aplikasyon ng RAG sa Maliit na Halaga

Ang LlamaIndex ay ang nangungunang framework para sa pagbuo ng RAG-applications at AI agents sa Python (mayroon ding LlamaIndex.TS na bersyon ng TypeScript). Ito ay nangangasiwa sa pag-load ng mga dokumento, paghati sa mga chunks, pag-index, paghahanap gamit ang mga vector at pagbuo ng sagot — inilalarawan mo ang data, at binibago ito ng LlamaIndex sa isang question-answering system sa itaas ng anumang LLM.

Ang problema ay isa lamang — ang halaga ng inference. Ang RAG ay likas na malaki ang gastos: para sa bawat tanong, ang kahilingan kasama ang ilang nahanap na fragment ng konteksto ay ipinapadala sa modelo, at para sa pag-index ng malalaking koleksyon, idinagdag ang mga embedding. Sa mga dami ng produksyon, ito ay libu-libong mga kahilingan bawat araw. Sa OpenAI ($2.50–15 bawat 1M token) o Anthropic ($3–15 bawat 1M), kahit isang simpleng serbisyo ng tanong-sagot ay nagiging sampu-sampung libong dolyar bawat buwan.

Ang LlamaIndex ay natively na gumagana sa anumang OpenAI-compatible na endpoint sa pamamagitan ng klase na OpenAILike. Nangangahulugan ito na ang JoinGonka Gateway ay konektado sa ilang linya lamang — nang walang custom na mga provider at patch. Ang resulta: ang parehong RAG system ay gumagana sa halagang $0.0005/1M token sa input (output ×3) sa pamamagitan ng desentralisadong network ng Gonka — daan-daan at libu-libong beses na mas mura kaysa sa mga cloud API.

Mabilis na Simula: Koneksyon sa pamamagitan ng OpenAILike

API Key ng JoinGonka: Magparehistro sa gate.joingonka.ai/register — sa simula, nagbibigay kami ng 10M na libreng token — at lumikha ng key na jg-xxx sa Dashboard.

Pag-install:

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

Para sa arbitraryong OpenAI-compatible na API, ang LlamaIndex ay nagbibigay ng klase na OpenAILike mula sa package na llama_index.llms.openai_like. Minimal na halimbawa ng kahilingan sa Gonka:

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-your-key",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,            # Gonka — ito ang chat endpoint
    is_function_calling_model=True, # sinusuportahan ang native tool calling
    context_window=131072,         # 128K sa Qwen3-235B
    max_tokens=8192,               # limit ng output sa pamamagitan ng Gateway (Qwen)
)

response = llm.complete("Ipaliwanag kung ano ang RAG sa tatlong pangungusap.")
print(response)

Mahalaga tungkol sa OpenAILike: tiyaking itakda ang is_chat_model=True — kung hindi, pupunta ang LlamaIndex sa completion endpoint, na wala kami. Ang is_function_calling_model=True ay nagbibigay-daan sa native tool calls. Itakda ang context_window ayon sa modelo, upang maayos na ma-segment ng LlamaIndex ang konteksto.

Halimbawa: RAG-pipeline na may query engine

Ang klasikong scenario ng LlamaIndex ay isang index para sa iyong mga dokumento at mga query dito sa pamamagitan ng query_engine. Ang Global LLM ay itinakda nang isang beses sa pamamagitan ng Settings.llm, pagkatapos noon, awtomatikong ginagamit ng buong pipeline ang Gonka.

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 sa pamamagitan ng Gonka (isang beses — globally)
Settings.llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-your-key",
    model="Qwen/Qwen3-235B-A22B-Instruct-2507-FP8",
    is_chat_model=True,
    context_window=131072,
    max_tokens=8192,
)

# 2. Local embeddings (libre, walang OpenAI)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. Pag-load at pag-index ng mga dokumento mula sa folder na ./data
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. Query sa knowledge base
query_engine = index.as_query_engine()
response = query_engine.query("Tungkol saan ang dokumentong ito?")
print(response)

Kritikal na nuance tungkol sa mga embedding: sa default, ang VectorStoreIndex ay gumagamit ng mga OpenAI embedding (text-embedding-ada-002) — ito ay mga hiwalay na bayad na tawag sa OpenAI, at hindi sa Gonka. Upang ganap na lumayo sa OpenAI, itakda ang isang lokal na modelong embedding sa pamamagitan ng Settings.embed_model (tulad ng sa halimbawa sa itaas — HuggingFaceEmbedding, package pip install llama-index-embeddings-huggingface). Pagkatapos, ang henerasyon ay sa pamamagitan ng Gonka, at ang vectorization ay lokal at libre.

Gastos: ang isang kahilingan sa RAG-pipeline (paghahanap + henerasyon) ay gumagamit ng ~2–5K na token ng LLM. Sa pamamagitan ng Gonka, ito ay bahagi ng isang sentimo; sa pamamagitan ng OpenAI/Anthropic — 3–4 na order ng magnitude na mas mahal. Sa dumaraming libu-libong kahilingan bawat araw, ang pagkakaiba ay nagiging sampu-sampung libong dolyar sa pag-iimpok bawat buwan.

Paghahambing ng gastos sa workload ng RAG

Ang RAG application ay hindi isang one-time chat, kundi isang tuloy-tuloy na daloy ng mga kahilingan: bawat tanong ng user ay humihila ng 2–5K LLM tokens (ang tanong mismo kasama ang mga nahanap na fragment ng konteksto). Kalkulahin natin ang mga tipikal na volume at kung gaano sila kamahal sa iba't ibang provider. Mga presyo ng Gonka sa pamamagitan ng JoinGonka Gateway: input ~$0.0005/1M, output ×3.

ScenarioLLM TokensOpenAI / AnthropicJoinGonka Gonka
Isang tanong sa knowledge base~4K$0.01 — $0.06~$0.000005
Customer support chatbot (1K requests/araw)~4M/araw$10 — $60 sa isang araw~$0.005 sa isang araw
Indexing + Q&A sa corpus (1M words)~5M$12 — $75~$0.006
Production service, 50K requests/buwan~200M/buwan$500 — $3,000 sa isang buwan~$0.25 sa isang buwan

Sa libreng 10M token, maaari mong i-debug ang buong RAG pipeline, i-index ang test corpus, at magpatakbo ng libu-libong mga kahilingan — nang walang gastos. Sa mga volume ng produksyon, ginagawa ng JoinGonka Gateway ang RAG mula sa isang mamahaling serbisyo patungo sa isang item ng gastos na hindi mo na kailangang pansinin.

Mga Ahente, pagtawag ng tool at pagpili ng modelo

Ang LlamaIndex ay hindi lamang marunong sumagot sa mga dokumento, ngunit bumuo din ng mga ahente na may mga tool. Lahat ng tatlong modelo ng Gonka ay sumusuporta sa native tool calling — ang mga ahente ay tumatawag ng mga function sa structured na paraan, nang walang pag-parse ng teksto. Halimbawa ng isang ahente na may 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-your-key",
    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:
    """Pinaparami ang dalawang numero."""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="Ikaw ay isang kapaki-pakinabang na assistant. Gumamit ng mga tool para sa mga kalkulasyon.",
)

async def main():
    result = await agent.run("Ano ang 1234 multiply by 5678?")
    print(result)

asyncio.run(main())

Pagpili ng Modelo (field ng model at kaukulang mga limitasyon ng context_window / max_tokens):

Modelo (model)KontekstoMax. OutputKailan Kukuha
Qwen/Qwen3-235B-A22B-Instruct-2507-FP8128K8192Default: RAG, mga ahente, mahabang sagot
moonshotai/Kimi-K2.6128K3072Malakas na pangangatuwiran at pagtawag sa tool
MiniMaxAI/MiniMax-M2.7128K4096Alternatibo para sa mga task ng ahente

Ang limit na max_tokens sa pamamagitan ng Gateway — hanggang 8192 sa modelong Qwen3; para sa Kimi at MiniMax, itakda ang 3072 at 4096 ayon sa pagkakabanggit. Kung ang max_tokens ay hindi tinukoy para sa isang non-streaming na kahilingan, sa default ay magbabalik ng hanggang 1500 token — para sa mga RAG na sagot at mga hakbang ng ahente, tukuyin nang malinaw ang halaga.

TypeScript: para sa LlamaIndex.TS, mayroong parallel na landas — ang klase na OpenAI mula sa package na @llamaindex/openai ay tumatanggap ng baseURL at apiKey (o nagbabasa ng mga variable na OPENAI_BASE_URL / OPENAI_API_KEY), kaya ang parehong Gateway ay konektado din sa Node.js stack. Kung bumubuo ka rin ng mga AI application sa Python frameworks, tingnan din ang gabay para sa LangChain.

LlamaIndex + Gonka = production-ready RAG at mga ahente sa bahagi ng isang sentimo. Koneksyon sa pamamagitan ng OpenAILike (is_chat_model=True), native tool calling, lokal na embeddings — input $0.0005/1M sa halip na $2.50–15 sa OpenAI. Sapat na ang 10M libreng token upang i-debug ang buong pipeline.

Gusto mo pang matuto?

Galugarin ang iba pang mga seksyon o simulang kumita ng GNK ngayon.

Kumuha ng libreng 10M token →