Langsung ke konten utama

Gambaran Umum

Untuk LemonData, setup LlamaIndex yang lebih andal adalah menggunakan integrasi yang kompatibel dengan OpenAI alih-alih class OpenAI bawaan. Dokumentasi LlamaIndex saat ini secara eksplisit merekomendasikan OpenAILike untuk endpoint pihak ketiga yang kompatibel dengan OpenAI, karena class OpenAI bawaan menyimpulkan metadata dari nama model resmi. Dengan kata lain: di sini perlakukan OpenAILike sebagai jalur LemonData yang didukung, bukan kelas OpenAI bawaan.
Jenis: Framework atau platformJalur utama: OpenAI-compatible melalui OpenAILikeTingkat dukungan: Didukung melalui OpenAILike

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.4",
    api_base="https://api.lemondata.cc/v1",
    api_key="sk-your-lemondata-key",
    is_chat_model=True,
)

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

Settings.llm = llm
Settings.embed_model = embed_model

Penggunaan Dasar

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

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)

Chat Engine

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

response = chat_engine.chat("What is LemonData?")
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

Utamakan llama_index.llms.openai_like.OpenAILike dan llama_index.embeddings.openai_like.OpenAILikeEmbedding untuk LemonData dan gateway pihak ketiga lain yang kompatibel dengan OpenAI.
Berikan api_base="https://api.lemondata.cc/v1" secara langsung di kode alih-alih mengandalkan nama environment variable OpenAI yang lebih lama.
Gunakan model chat/reasoning untuk sintesis dan text-embedding-3-small atau text-embedding-3-large untuk retrieval.