cheapaimodel

LlamaIndex

Dùng mô hình của cheapaimodel trong LlamaIndex qua API tương thích OpenAI.

Sao chép

LlamaIndex kết nối với các dịch vụ tương thích OpenAI qua OpenAILike từ gói llama-index-llms-openai-like. Vì OpenAILike không tự tra được thông tin của mô hình lạ, bạn cần tự khai báo hai điều: đây là mô hình chat, và cửa sổ ngữ cảnh của nó dài bao nhiêu.

Thiết lập LlamaIndexGiá trị
Base URLapi_basehttps://api.cheapaimodel.ai/v1
API keyapi_keyKey của bạn từ trang API key trong bảng điều khiển
ID mô hìnhmodeldeepseek-v4-1-flash, hoặc bất kỳ ID nào trong danh mục
Mô hình chatis_chat_modelTrue
Cửa sổ ngữ cảnhcontext_windowĐộ dài ngữ cảnh của mô hình tính bằng token, xem trên trang của mô hình đó trong danh mục

Thiết lập

Các gói LlamaIndex hiện tại cần Python 3.10 trở lên.

Terminal
pip install llama-index-llms-openai-like

Tra độ dài ngữ cảnh trên trang của mô hình, ví dụ deepseek-v4-1-flash, rồi điền vào CONTEXT_WINDOW:

main.py
import os
from llama_index.core.llms import ChatMessage
from llama_index.llms.openai_like import OpenAILike

CONTEXT_WINDOW = ...  # the context length from the model's page, in tokens

llm = OpenAILike(
    model="deepseek-v4-1-flash",
    api_base="https://api.cheapaimodel.ai/v1",
    api_key=os.environ["CHEAPAIMODEL_API_KEY"],
    is_chat_model=True,
    context_window=CONTEXT_WINDOW,
)

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

# Streaming
messages = [ChatMessage(role="user", content="Write a haiku about the sea.")]
for chunk in llm.stream_chat(messages):
    print(chunk.delta, end="", flush=True)

Với is_chat_model=True, mọi lệnh gọi, kể cả complete, đều được gửi tới /v1/chat/completions.

Dùng trong toàn bộ LlamaIndex

Gán llm vào Settings để làm mặc định cho index, query engine và chat engine:

main.py
from llama_index.core import Settings

Settings.llm = llm

Vector index còn cần một mô hình embedding, và mặc định Settings.embed_model dùng mô hình của OpenAI. cheapaimodel chưa có mô hình embeddings, nên đặt Settings.embed_model thành mô hình embedding của nhà cung cấp khác hoặc một mô hình chạy cục bộ. Đừng trỏ mô hình embedding tới Base URL của chúng tôi.

Lỗi thường gặp

  • Yêu cầu bị gửi tới /v1/completions. Mặc định is_chat_model là False, khiến complete, thậm chí cả chat, được gửi tới endpoint completions cũ dưới dạng một prompt duy nhất. Các mô hình của chúng tôi chỉ liệt kê /v1/chat/completions và /v1/responses. Đặt is_chat_model=True.
  • ValueError: Unknown model 'deepseek-v4-1-flash'. Please provide a valid OpenAI model name. LLM đang dùng là OpenAI từ llama_index.llms.openai, vốn chỉ nhận tên mô hình của chính OpenAI. Dùng OpenAILike.
  • Could not load OpenAI embedding model khi tạo index. Settings.embed_model vẫn là mặc định của OpenAI. Đổi sang mô hình embedding của nhà cung cấp khác hoặc một mô hình chạy cục bộ.
  • 503 kèm model_not_found ở /v1/embeddings. Cùng nguyên nhân, khi OPENAI_API_KEY và OPENAI_API_BASE được đặt thành key cheapaimodel của bạn và Base URL của chúng tôi: mô hình embedding mặc định cũng đọc các biến này nên gửi yêu cầu embeddings sang chúng tôi. Thay vào đó, hãy truyền api_key và api_base cho OpenAILike, rồi đặt Settings.embed_model.
  • kimi-k3 trả về 400. OpenAILike luôn gửi temperature, mặc định là 0.1, trong khi kimi-k3 chỉ nhận 1 hoặc 0.6. Truyền temperature=1.0. Xem Giới hạn tham số lấy mẫu.
  • Một truy vấn tạo ra nhiều yêu cầu. Mặc định context_window là 3900 token, và LlamaIndex chia nhỏ văn bản truy xuất được cho vừa, nên query engine gửi nhiều yêu cầu hơn mức cần thiết. Đặt context_window bằng độ dài ngữ cảnh của mô hình.

Với các lỗi Base URL như thiếu /v1, xem Base URL.

Sao chép
Mở trong

Trên trang này