Ana içeriğe atla

Genel Bakış

Tür: Framework veya platformBirincil yol: OpenAI uyumlu via OpenAILikeDestek seviyesi: OpenAILike üzerinden desteklenir
AI Sonar için daha sağlam LlamaIndex kurulumu, yerleşik OpenAI sınıfları yerine OpenAI uyumlu integrations kullanmaktır. Mevcut LlamaIndex dokümantasyonu, yerleşik OpenAI sınıflarının resmi model adlarından metadata çıkarması nedeniyle, üçüncü taraf OpenAI uyumlu endpoint’leri için açıkça OpenAILike kullanılmasını önerir. Başka bir deyişle: burada OpenAILike yolunu AI Sonar için desteklenen yol olarak görün; yerleşik OpenAI sınıflarını değil.

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.aisonar.dev/v1",
    api_key="sk-your-api-key",
    is_chat_model=True,
)

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

Settings.llm = llm
Settings.embed_model = embed_model

Temel Kullanım

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

Sohbet

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ış

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

Belgelerle 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

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

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

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

Async Kullanım

import asyncio

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

asyncio.run(main())

En İyi Uygulamalar

AI Sonar ve diğer üçüncü taraf OpenAI uyumlu gateway’ler için llama_index.llms.openai_like.OpenAILike ve llama_index.embeddings.openai_like.OpenAILikeEmbedding kullanmayı tercih edin.
Eski OpenAI environment-variable adlarına güvenmek yerine api_base="https://api.aisonar.dev/v1" değerini doğrudan kod içinde iletin.
Sentez için chat/reasoning modellerini, retrieval için ise text-embedding-3-small veya text-embedding-3-large kullanın.