Abschnitte der Wissensbasis ▾

Navigation

▸ Hier starten Nach Rollen

Kategorien

Werkzeuge 32
Glossar 12

Werkzeuge

LlamaIndex + Gonka AI – RAG-Anwendungen für kleines Geld

LlamaIndex ist das führende Framework für den Bau von RAG-Anwendungen und KI-Agenten in Python (eine TypeScript-Version, LlamaIndex.TS, existiert ebenfalls). Es übernimmt das Laden von Dokumenten, das Chunking, die Indizierung, die Vektorsuche und die Zusammenstellung der Antwort — Sie beschreiben die Daten, und LlamaIndex verwandelt sie in ein Frage-Antwort-System über jeder LLM.

Das einzige Problem ist der Preis für das Inferencing. RAG ist von Natur aus ressourcenintensiv: Bei jeder Frage gehen die Anfrage sowie mehrere gefundene Kontextfragmente an das Modell, und bei der Indizierung großer Sammlungen kommen Embeddings hinzu. In der Produktion sind dies Tausende von Anfragen pro Tag. Bei OpenAI ($2,50–15 pro 1 Mio. Token) oder Anthropic ($3–15 pro 1 Mio.) verwandelt sich selbst ein bescheidener Frage-Antwort-Service in Zehntausende von Dollar pro Monat.

LlamaIndex funktioniert nativ mit jedem OpenAI-kompatiblen Endpoint über die Klasse OpenAILike. Das bedeutet, dass das JoinGonka Gateway mit wenigen Zeilen eingebunden wird — ohne benutzerdefinierte Provider und Patches. Das Ergebnis: Das gleiche RAG-System läuft für $0,003/1M Eingabe-Token (Ausgabe ×3) über das dezentrale Gonka-Netzwerk — hunderte bis tausende Male günstiger als Cloud-APIs.

Schnellstart: Verbindung über OpenAILike

JoinGonka API-Key: Registrieren Sie sich unter gate.joingonka.ai/register — wir bieten 10M kostenlose Token zum Start — und erstellen Sie einen jg-xxx Schlüssel im Dashboard.

Installation:

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

Für eine beliebige OpenAI-kompatible API bietet LlamaIndex die OpenAILike-Klasse aus dem Paket llama_index.llms.openai_like. Minimales Beispiel für eine Anfrage an Gonka:

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-ihr-schluessel",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,            # Gonka ist ein Chat-Endpoint
    is_function_calling_model=True, # natives Tool Calling wird unterstützt
    context_window=200000,         # 200K bei Netzwerkmodellen
    max_tokens=8192,               # Ausgabelimit über Gateway
)

response = llm.complete("Erkläre, was RAG ist, in drei Sätzen.")
print(response)

Wichtig bezüglich OpenAILike: Geben Sie unbedingt is_chat_model=True an — sonst greift LlamaIndex auf den Completion-Endpoint zu, den wir nicht bereitstellen. is_function_calling_model=True aktiviert natives Tool Calling. Setzen Sie context_window entsprechend dem Modell, damit LlamaIndex den Kontext korrekt aufteilt.

Beispiel: RAG-Pipeline mit Query Engine

Ein klassisches LlamaIndex-Szenario ist ein Index über Ihre Dokumente und Anfragen dazu über den query_engine. Die globale LLM wird einmal über Settings.llm festgelegt, danach nutzt die gesamte Pipeline Gonka automatisch.

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 über Gonka (global einmalig)
Settings.llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-ihr-schluessel",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,
    context_window=200000,
    max_tokens=8192,
)

# 2. Lokale Embeddings (kostenlos, ohne OpenAI)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. Laden und Indizieren von Dokumenten aus dem Ordner ./data
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. Anfrage an die Wissensdatenbank
query_engine = index.as_query_engine()
response = query_engine.query("Worum geht es in diesem Dokument?")
print(response)

Kritischer Hinweis zu Embeddings: Standardmäßig verwendet VectorStoreIndex OpenAI-Embeddings (text-embedding-ada-002) — dies sind separate kostenpflichtige Aufrufe an OpenAI und nicht an Gonka. Um OpenAI vollständig zu umgehen, setzen Sie ein lokales Embedding-Modell über Settings.embed_model (wie im Beispiel oben — HuggingFaceEmbedding, Paket pip install llama-index-embeddings-huggingface). Dann erfolgt die Generierung über Gonka und die Vektorisierung lokal und kostenlos.

Kosten: Eine RAG-Pipeline-Anfrage (Suche + Generierung) verbraucht ~2–5K LLM-Token. Über Gonka sind das Bruchteile eines Cents; über OpenAI/Anthropic ist es um 3–4 Größenordnungen teurer. Bei tausenden Anfragen täglich summiert sich der Unterschied auf zehntausende Dollar Ersparnis pro Monat.

Kostenvergleich der RAG-Last

Eine RAG-Anwendung ist kein einmaliger Chat, sondern ein ständiger Strom von Anfragen: Jede Benutzerfrage zieht 2–5K LLM-Token nach sich (die Frage selbst plus die gefundenen Kontextfragmente). Berechnen wir die typischen Volumina und die Kosten bei verschiedenen Anbietern. Gonka-Preise über das JoinGonka Gateway: Eingabe ~$0,003/1M, Ausgabe ×3.

SzenarioLLM-TokenOpenAI / AnthropicJoinGonka Gonka
Eine Frage an die Wissensdatenbank~4K$0,01 — $0,06~$0,00002
Support-Chatbot (1K Anfragen/Tag)~4M/Tag$10 — $60 pro Tag~$0,019 pro Tag
Indizierung + Q&A für Korpus (1M Wörter)~5M$12 — $75~$0,024
Produktions-Service, 50K Anfragen/Monat~200M/Monat$500 — $3.000 pro Monat~$0,96 pro Monat

Mit 10M kostenlosen Token können Sie die gesamte RAG-Pipeline debuggen, den Testkorpus indizieren und Tausende von Anfragen ausführen — ohne einen Cent auszugeben. Bei Produktionsmengen verwandelt das JoinGonka Gateway RAG von einem teuren Dienst in einen Kostenpunkt, den Sie kaum bemerken werden.

Agenten, Tool-Aufruf und Modellauswahl

LlamaIndex kann nicht nur Dokumente beantworten, sondern auch Agenten mit Tools aufbauen. Beide Gonka-Modelle unterstützen natives Tool Calling — Agenten rufen Funktionen strukturiert auf, ohne Text-Parsing. Beispiel eines Agenten mit einem 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-ihr-schluessel",
    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:
    """Multipliziert zwei Zahlen."""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="Du bist ein hilfreicher Assistent. Nutze Tools für Berechnungen.",
)

async def main():
    result = await agent.run("Was ist 1234 mal 5678?")
    print(result)

asyncio.run(main())

Modellauswahl (Feld model und entsprechende Limits context_window / max_tokens):

Modell (model)KontextMax. AusgabeEmpfehlung
moonshotai/Kimi-K2.6200K8192Standard: starkes Schlussfolgern, Tool Calling, Agenten
MiniMaxAI/MiniMax-M2.7200K8192RAG, langer Kontext, lange Antworten

Das max_tokens-Limit über das Gateway beträgt bis zu 8192 für alle Modelle im Netzwerk. Wenn max_tokens für eine Nicht-Streaming-Anfrage nicht festgelegt ist, werden standardmäßig bis zu 1500 Token zurückgegeben — für RAG-Antworten und Agenten-Schritte setzen Sie den Wert bitte explizit.

TypeScript: Für LlamaIndex.TS gibt es den analogen Weg — die OpenAI Klasse aus dem Paket @llamaindex/openai akzeptiert baseURL und apiKey (oder liest die Variablen OPENAI_BASE_URL / OPENAI_API_KEY), sodass dasselbe Gateway auch im Node.js-Stack angeschlossen werden kann. Wenn Sie AI-Applikationen auch auf Python-Frameworks aufbauen, schauen Sie sich auch den Leitfaden zu LangChain an.

LlamaIndex + Gonka = production-ready RAG und Agenten für einen Bruchteil eines Cents. Verbindung über OpenAILike (is_chat_model=True), native tool calling, lokale Embeddings — $0,003/1M Eingabe anstelle von $2,50–15 bei OpenAI. 10M kostenlose Token reichen aus, um die gesamte Pipeline zu debuggen.

Möchten Sie mehr erfahren?

Erkunden Sie andere Abschnitte oder beginnen Sie jetzt GNK zu verdienen.

10 Mio. kostenlose Token erhalten →