Bilgi Tabanı Bölümleri ▾

Navigasyon

▸ Buradan başlayın Rol bazlı

Kategoriler

Araçlar 37
Sözlük 12

Araçlar

LlamaIndex + Gonka AI — RAG uygulamaları kuruşa

LlamaIndex, Python'da RAG uygulamaları ve AI-ajanları oluşturmak için önde gelen bir çerçevedir (ayrıca bir TypeScript sürümü olan LlamaIndex.TS de mevcuttur). Belgelerin yüklenmesini, parçalara ayrılmasını (chunking), indekslemeyi, vektör aramasını ve yanıtın birleştirilmesini üstlenir – siz verileri tanımlarsınız, LlamaIndex ise bunları herhangi bir LLM üzerinde bir soru-cevap sistemine dönüştürür.

Tek sorun var — inference maliyeti. RAG doğası gereği açgözlüdür: her soruda modele bir sorgu artı bulunan birkaç bağlam parçası gider ve büyük koleksiyonların indekslenmesi için embedding'ler eklenir. Üretim hacimlerinde bu günde binlerce sorgu demektir. OpenAI ($2.50–15, 1M token başına) veya Anthropic ($3–15, 1M başına) ile mütevazı bir soru-cevap servisi bile ayda on binlerce dolara mal olur.

LlamaIndex, OpenAILike sınıfı aracılığıyla herhangi bir OpenAI uyumlu endpoint ile yerel olarak çalışır. Bu, JoinGonka Gateway'in birkaç satır kodla bağlanabileceği anlamına gelir — özel sağlayıcılar veya yamalar olmadan. Sonuç: aynı RAG sistemi, merkeziyetsiz Gonka ağı üzerinden $0.0069/1M giriş token'ı (çıkış ×3) maliyetiyle çalışır — bulut API'lerinden yüzlerce ve binlerce kat daha ucuza.

Hızlı Başlangıç: OpenAILike aracılığıyla bağlantı

JoinGonka API Anahtarı: gate.joingonka.ai/register adresinden kaydolun — başlangıçta 3M ücretsiz token veriyoruz — ve Dashboard'dan jg-xxx anahtarınızı oluşturun.

Kurulum:

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

Herhangi bir OpenAI uyumlu API için LlamaIndex, llama_index.llms.openai_like paketinden OpenAILike sınıfını sağlar. Gonka'ya minimum örnek istek:

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-anahtariniz",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,            # Gonka bir chat-endpoint'idir
    is_function_calling_model=True, # yerel tool calling desteklenir
    context_window=200000,         # ağ modellerinde 200K
    max_tokens=8192,               # Gateway üzerinden çıktı sınırı
)

response = llm.complete("RAG'in ne olduğunu üç cümlede açıkla.")
print(response)

OpenAILike hakkında önemli: is_chat_model=True belirttiğinizden emin olun, aksi takdirde LlamaIndex bizde bulunmayan completion-endpoint'ine gider. is_function_calling_model=True yerel tool call'ları etkinleştirir. context_window değerini modele göre ayarlayın ki LlamaIndex bağlamı doğru şekilde kessin.

Örnek: Sorgu motorlu RAG ardışık düzeni

Klasik bir LlamaIndex senaryosu, belgeleriniz üzerinde bir dizin (index) oluşturmak ve query_engine üzerinden sorgulamaktır. Küresel LLM tek bir seferde Settings.llm üzerinden ayarlanır, sonrasında tüm pipeline otomatik olarak Gonka'yı kullanır.

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

# 1. Gonka üzerinden LLM (küresel olarak bir kez)
Settings.llm = OpenAILike(
    api_base="https://gate.joingonka.ai/v1",
    api_key="jg-anahtarınız",
    model="MiniMaxAI/MiniMax-M2.7",
    is_chat_model=True,
    context_window=200000,
    max_tokens=8192,
)

# 2. Yerel embedding'ler (ücretsiz, OpenAI olmadan)
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

# 3. ./data klasöründen belgelerin yüklenmesi ve indekslenmesi
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)

# 4. Bilgi tabanına sorgu
query_engine = index.as_query_engine()
response = query_engine.query("Bu belge ne hakkında?")
print(response)

Embedding'ler hakkında kritik bir nüans: VectorStoreIndex varsayılan olarak OpenAI embedding'lerini (text-embedding-ada-002) kullanır — bunlar Gonka'ya değil, OpenAI'a yapılan ayrı ücretli çağrılardır. OpenAI'dan tamamen kurtulmak için, yerel bir embedding modelini Settings.embed_model üzerinden ayarlayın (yukarıdaki örnekteki gibi — HuggingFaceEmbedding, paketi pip install llama-index-embeddings-huggingface). Bu durumda üretim Gonka ile yapılır, vektörleştirme ise yerel ve ücretsiz gerçekleşir.

Maliyet: Tek bir RAG-pipeline sorgusu (arama + üretim) ~2–5K LLM token'ı harcar. Gonka ile bu cents'in küçük bir kısmıdır; OpenAI/Anthropic ile bu 3–4 kat daha pahalıdır. Günde binlerce sorguluk bir akışta, aradaki fark ayda on binlerce dolar tasarrufa dönüşür.

RAG yük maliyetlerinin karşılaştırılması

RAG uygulaması tek seferlik bir sohbet değil, sürekli bir istek akışıdır: Kullanıcının her sorusu, LLM için 2–5K token tüketir (sorunun kendisi artı bulunan bağlam parçaları). Tipik hacimleri ve farklı sağlayıcılardaki maliyetleri hesaplayalım. JoinGonka Gateway üzerinden Gonka fiyatları: giriş ~$0.0069/1M, çıkış ×3.

SenaryoLLM TokenOpenAI / AnthropicJoinGonka Gonka
Bilgi bankasına bir soru~4K$0.01 — $0.06~$0.00004
Destek sohbet botu (1K istek/gün)~4M/gün$10 — $60/gün~$0.038/gün
İndeksleme + Q&A (1M kelime)~5M$12 — $75~$0.048
Production hizmeti, 50K istek/ay~200M/ay$500 — $3,000/ay~$1.92/ay

Ücretsiz 3M token ile ilk RAG pipeline isteklerini çalıştırabilir, test veri setini indeksleyebilir ve binlerce sorgu yapabilirsiniz — tek kuruş harcamadan. Üretim hacimlerinde JoinGonka Gateway, RAG'i pahalı bir hizmetten neredeyse fark edilmeyecek kadar küçük bir gider kalemine dönüştürür.

Aracılar, araç çağırma ve model seçimi

LlamaIndex sadece belgelere dayalı cevap vermekle kalmaz, araçlara sahip ajanlar da oluşturabilir. Üç Gonka modeli de yerel tool calling özelliğini destekler; ajanlar metin ayrıştırma olmaksızın yapılandırılmış şekilde fonksiyon çağırırlar. Araç kullanan ajan örneği:

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-anahtarınız",
    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:
    """İki sayıyı çarpar."""
    return a * b

agent = FunctionAgent(
    tools=[multiply],
    llm=llm,
    system_prompt="Faydalı bir asistansın. Hesaplamalar için araçları kullan.",
)

async def main():
    result = await agent.run("1234 ile 5678'in çarpımı kaçtır?")
    print(result)

asyncio.run(main())

Model seçimi (model alanı ve karşılık gelen context_window / max_tokens limitleri):

Model (model)BağlamMaks. ÇıkışNe zaman kullanılır
MiniMaxAI/MiniMax-M2.7200K8192Varsayılan (örnekteki gibi): tool calling, ajanlar, RAG
deepseek-ai/DeepSeek-V4-Flash-0731380K32768Ağın ikinci en uzun bağlamı, en uzun çıktı, ucuz büyük promptlar
zai-org/GLM-5.3-Flash390K8192Reasoning modeli: karmaşık mantık, en uzun ağ bağlamı; çıkarımlar max_tokens kısmını harcar

Gateway üzerinden max_tokens limiti MiniMax M2.7 ve GLM-5.3 Flash için 8192'ye kadar, DeepSeek V4 Flash için 32768'e kadardır. Eğer yayınlanmayan (non-streaming) bir istek için max_tokens belirtilmezse, varsayılan olarak 1500 token'a kadar döner; RAG yanıtları ve ajan adımları için değeri açıkça belirtin.

TypeScript: LlamaIndex.TS için benzer bir yol vardır; @llamaindex/openai paketindeki OpenAI sınıfı baseURL ve apiKey kabul eder (veya OPENAI_BASE_URL / OPENAI_API_KEY değişkenlerini okur), bu sayede aynı Gateway Node.js yığınında da kullanılabilir. Eğer AI uygulamalarını Python framework'lerinde de geliştiriyorsanız, LangChain kılavuzuna da göz atın.

LlamaIndex + Gonka = cent'in çok küçük bir kısmıyla production-ready RAG ve ajanlar. OpenAILike (is_chat_model=True) üzerinden bağlantı, native tool calling, yerel embedding'ler — OpenAI'daki $2.50–15 yerine giriş $0.0069/1M. Başlangıç tokenleri sayesinde kredi kartı olmadan pipeline'ı deneyebilirsiniz.

Daha fazla bilgi edinmek ister misiniz?

Diğer bölümleri keşfedin veya şimdi GNK kazanmaya başlayın.

Ücretsiz token alın →