Framework & platform

LlamaIndex

Integrasikan TokenLab dengan LlamaIndex menggunakan integrasi yang kompatibel dengan OpenAI

Gambaran Umum

Tipe: Framework atau Platform

Jalur Utama: Kompatibel dengan OpenAI melalui OpenAILike

Tingkat Dukungan: Didukung melalui OpenAILike

Untuk TokenLab, pengaturan LlamaIndex yang paling tangguh adalah menggunakan integrasi yang kompatibel dengan OpenAI alih-alih menggunakan kelas OpenAI bawaan.

Dokumentasi LlamaIndex saat ini secara eksplisit merekomendasikan OpenAILike untuk endpoint pihak ketiga yang kompatibel dengan OpenAI, karena kelas OpenAI bawaan menyimpulkan metadata dari nama model resmi.

Dengan kata lain: perlakukan OpenAILike sebagai jalur TokenLab yang didukung di sini, bukan kelas OpenAI bawaan.

Instalasi

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

Konfigurasi Dasar

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.6-terra",
    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

Penggunaan Dasar

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

LLM OpenAILike Minimal

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,
)

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)

Streaming

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

Embeddings

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

RAG dengan Dokumen

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)

Mesin chat

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)

Penggunaan Async

import asyncio

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

asyncio.run(main())

Praktik Terbaik

Di halaman ini