Ana içeriğe atla

Genel Bakış

Tür: Framework veya PlatformBirincil Yol: OpenAILike aracılığıyla OpenAI uyumluDestek Güveni: OpenAILike aracılığıyla desteklenir
TokenLab için en sağlam LlamaIndex kurulumu, yerleşik OpenAI sınıfları yerine OpenAI uyumlu entegrasyonları kullanmaktır. Mevcut LlamaIndex dokümanları, üçüncü taraf OpenAI uyumlu uç noktalar için açıkça OpenAILike kullanımını önermektedir; çünkü yerleşik OpenAI sınıfları meta verileri resmi model isimlerinden çıkarır. Başka bir deyişle: OpenAILike sınıfını, yerleşik OpenAI sınıfları yerine burada desteklenen TokenLab yolu olarak kabul edin.

Kurulum

pip install llama-index-core \
  llama-index-readers-file \
  llama-index-llms-openai-like \
  llama-index-embeddings-openai-like

Temel Yapılandırma

from llama_index.core import Settings
from llama_index.llms.openai_like import OpenAILike
from llama_index.embeddings.openai_like import OpenAILikeEmbedding

llm = OpenAILike(
    model="gpt-5.4",
    api_base="https://api.tokenlab.sh/v1",
    api_key="sk-your-tokenlab-key",
    is_chat_model=True,
)

embed_model = OpenAILikeEmbedding(
    model_name="text-embedding-3-small",
    api_base="https://api.tokenlab.sh/v1",
    api_key="sk-your-tokenlab-key",
)

Settings.llm = llm
Settings.embed_model = embed_model

Temel Kullanım

response = llm.complete("Explain TokenLab in one sentence.")
print(response.text)

Minimal OpenAILike LLM

from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    model="claude-sonnet-5",
    api_base="https://api.tokenlab.sh/v1",
    api_key="sk-your-tokenlab-key",
    context_window=200000,
    is_chat_model=True,
    is_function_calling_model=True,
)

Sohbet (Chat)

from llama_index.core.llms import ChatMessage

messages = [
    ChatMessage(role="system", content="You are a helpful assistant."),
    ChatMessage(role="user", content="What is the capital of France?")
]

response = llm.chat(messages)
print(response.message.content)

Akış (Streaming)

for chunk in llm.stream_complete("Write a short poem about AI."):
    print(chunk.delta, end="", flush=True)

Gömme (Embeddings)

vector = embed_model.get_text_embedding("Hello, world!")
print(vector[:5])

Dokümanlar ile RAG

from llama_index.core import SimpleDirectoryReader, VectorStoreIndex

documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)

query_engine = index.as_query_engine()
response = query_engine.query("What is in my documents?")
print(response)

Sohbet Motoru (Chat Engine)

chat_engine = index.as_chat_engine(chat_mode="condense_question")

response = chat_engine.chat("What is TokenLab?")
print(response)

response = chat_engine.chat("How many models does it support?")
print(response)

Asenkron Kullanım

import asyncio

async def main():
    response = await llm.acomplete("Hello!")
    print(response.text)

asyncio.run(main())

En İyi Uygulamalar

TokenLab ve diğer üçüncü taraf OpenAI uyumlu ağ geçitleri için llama_index.llms.openai_like.OpenAILike ve llama_index.embeddings.openai_like.OpenAILikeEmbedding sınıflarını tercih edin.
Eski OpenAI ortam değişkeni isimlerine güvenmek yerine api_base="https://api.tokenlab.sh/v1" değerini doğrudan kod içerisinde geçirin.
Sentezleme için sohbet/akıl yürütme modellerini, geri alma (retrieval) işlemleri için ise text-embedding-3-small veya text-embedding-3-large modellerini kullanın.