الانتقال إلى المحتوى الرئيسي

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

نظرة عامة

النوع: إطار أو منصةالمسار الرئيسي: متوافق مع OpenAI via OpenAILikeمستوى الدعم: مدعوم عبر OpenAILike
بالنسبة إلى TokenLab، فإن إعداد LlamaIndex الأكثر متانة هو استخدام تكاملات متوافقة مع OpenAI بدلًا من فئات OpenAI المدمجة. توصي وثائق LlamaIndex الحالية صراحةً باستخدام OpenAILike لنقاط النهاية التابعة لجهات خارجية والمتوافقة مع OpenAI، لأن فئات OpenAI المدمجة تستنتج البيانات الوصفية من أسماء النماذج الرسمية. بمعنى آخر: تعامل هنا مع OpenAILike باعتباره المسار المدعوم لـ TokenLab، وليس فئات OpenAI المدمجة.

التثبيت

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

التكوين الأساسي

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

الاستخدام الأساسي

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

الدردشة

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)

البث

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

التضمينات

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

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)

محرك الدردشة

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)

الاستخدام غير المتزامن

import asyncio

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

asyncio.run(main())

أفضل الممارسات

يُفضَّل استخدام llama_index.llms.openai_like.OpenAILike و llama_index.embeddings.openai_like.OpenAILikeEmbedding مع TokenLab وبوابات متوافق مع OpenAI الأخرى التابعة لجهات خارجية.
مرّر api_base="https://api.tokenlab.sh/v1" مباشرةً في الكود بدلًا من الاعتماد على أسماء متغيرات البيئة القديمة الخاصة بـ OpenAI.
استخدم نماذج chat/reasoning لعملية التوليف، واستخدم text-embedding-3-small أو text-embedding-3-large للاسترجاع.