Bilgi Tabanı Bölümleri ▾

Navigasyon

▸ Buradan başlayın Rol bazlı

Kategoriler

Araçlar 32
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 çerçevedir (ayrıca bir TypeScript sürümü olan LlamaIndex.TS de mevcuttur). Belge yükleme, parçalara ayırma (chunking), indeksleme, vektör araması ve yanıt oluşturma işlemlerini üstlenir; verileri tanımlarsınız, LlamaIndex ise bunları herhangi bir LLM üzerinde bir LLM üzerinde soru-cevap sistemine dönüştürür.

Tek sorun çıkarım (inference) maliyetidir. RAG doğası gereği açgözlüdür: Her soruda modele bir istek artı bulunan birkaç bağlamsal parça gönderilir ve büyük koleksiyonların indekslenmesi için embedding'ler eklenir. Üretim ölçeğinde bu, günde binlerce istektir. OpenAI ($2,50–15 / 1M token) veya Anthropic ($3–15 / 1M) ile mütevazı bir soru-cevap hizmeti bile aylık on binlerce dolara dönüşür.

LlamaIndex, OpenAILike sınıfı aracılığıyla herhangi bir OpenAI uyumlu endpoint ile yerel olarak çalışır. Bu, JoinGonka Gateway'in özel sağlayıcılar veya yamalar olmadan birkaç satırda entegre edilebileceği anlamına gelir. Sonuç: Aynı RAG sistemi, merkeziyetsiz Gonka ağı üzerinden $0,003/1M girdi tokeni (çıktı ×3) ile çalışır; bulut API'lerinden yüzlerce hatta binlerce kat daha ucuzdur.

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

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

Kurulum:

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

OpenAI uyumlu herhangi bir API için LlamaIndex, llama_index.llms.openai_like paketinden OpenAILike sınıfını sunar. Gonka'ya yapılacak bir talebin minimal örneği:

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,            # Gonka bir chat-endpoint'tir
    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 not: is_chat_model=True değerini mutlaka belirtin — aksi takdirde LlamaIndex, elimizde 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 içeriği doğru şekilde bölebilsin.

Ö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 beraberinde 2–5K LLM tokeni getirir (sorunun kendisi artı bulunan bağlam parçaları). Tipik hacimleri ve farklı sağlayıcılarda bunların maliyetlerini hesaplayalım. JoinGonka Gateway üzerinden Gonka fiyatları: Girdi ~$0,003/1M, çıktı ×3.

SenaryoLLM TokeniOpenAI / AnthropicJoinGonka Gonka
Bilgi tabanına bir soru~4K$0,01 — $0,06~$0,00002
Destek sohbet botu (1K istek/gün)~4M/gün$10 — $60/gün~$0,019/gün
İndeksleme + Külliyat üzerinde Soru-Cevap (1M kelime)~5M$12 — $75~$0,024
Üretim servisi, 50K istek/ay~200M/ay$500 — $3.000/ay~$0,96/ay

10M ücretsiz token ile tüm RAG hattını (pipeline) hata ayıklayabilir, test verilerini indeksleyebilir ve binlerce istek çalıştırabilirsiniz; üstelik bir kuruş bile harcamadan. Üretim ölçeklerinde JoinGonka Gateway, RAG'yi pahalı bir hizmetten neredeyse fark edilmeyecek bir gider kalemine dönüştürür.

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

LlamaIndex sadece belgeler üzerinde yanıt vermekle kalmaz, aynı zamanda araçlara sahip ajanlar da kurabilir. Her iki Gonka modeli de yerel tool calling özelliğini destekler — ajanlar metin ayrıştırma olmaksızın fonksiyonları yapılandırılmış bir şekilde çağırır. Araçlı bir 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 ilgili context_window / max_tokens limitleri):

Model (model)BağlamMaks. ÇıktıNe zaman seçilmeli
moonshotai/Kimi-K2.6200K8192Varsayılan: güçlü muhakeme, tool calling, ajanlar
MiniMaxAI/MiniMax-M2.7200K8192RAG, uzun bağlam, uzun yanıtlar

Gateway üzerinden max_tokens limiti, ağdaki tüm modeller için 8192'ye kadardır. Streaming olmayan bir talep için max_tokens ayarlanmazsa, 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 de benzer bir yol mevcuttur — @llamaindex/openai paketindeki OpenAI sınıfı baseURL ve apiKey parametrelerini kabul eder (veya OPENAI_BASE_URL / OPENAI_API_KEY değişkenlerini okur), bu sayede aynı Gateway, Node.js yığınında da bağlanabilir. Eğer AI uygulamalarınızı Python framework'leri ile geliştiriyorsanız, LangChain rehberine de göz atın.

LlamaIndex + Gonka = sentin kuruşuna üretim seviyesinde RAG ve ajanlar. OpenAILike (is_chat_model=True), yerel tool calling, yerel embedding'ler ile bağlantı: OpenAI'daki $2,50–15 yerine $0,003/1M girdi. 10M ücretsiz token, tüm pipeline'ı hata ayıklamak için yeterlidir.

Daha fazla bilgi edinmek ister misiniz?

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

10 milyon ücretsiz token alın →