Quay lại blog

Công cụ & tích hợpHướng dẫn

Kết nối AnythingLLM với CheapTokens: thiết lập Generic OpenAI

Trỏ provider Generic OpenAI của AnythingLLM đến CheapTokens: Base URL, key, id model đầy đủ, cùng context window và Max Tokens cần nhập.

Bởi CheapTokens TeamĐã xuất bản 6 phút đọc

AnythingLLM kết nối với CheapTokens qua provider Generic OpenAI
Trên trang này
  1. Điền các cài đặt provider
  2. Vì sao hai giới hạn này quan trọng
  3. Kiểm tra kết nối bên ngoài AnythingLLM
  4. Một câu hỏi cho tài liệu của bạn tốn bao nhiêu
  5. Nếu không hoạt động

Bạn có thể kết nối AnythingLLM với CheapTokens bằng provider Generic OpenAI: đặt Base URL thành https://api.cheaptokens.dev/v1, dán API key, nhập id model đầy đủ, rồi điền context window thực và Max Tokens của model. Hai trường cuối là thứ mọi người hay bỏ qua, và chúng quyết định một tài liệu dài có vừa hay không và câu trả lời có bị cắt hay không.

Tài liệu của chính AnythingLLM (trang Generic OpenAI, kiểm tra ngày 7 tháng 11 năm 2026, có banner v1.19.0) mô tả provider này là cách dùng bất kỳ nhà cung cấp LLM tương thích OpenAI nào. Họ cũng cảnh báo rằng nó hướng đến nhà phát triển: cấu hình sai có thể khiến nó hoạt động kỳ lạ, và id model phải đúng chính xác thứ mà endpoint phục vụ. Vậy nên hãy làm cho chính xác.

Điền các cài đặt provider#

Mở phần cài đặt LLM của AnythingLLM và chọn Generic OpenAI làm provider. Sau đó đi qua năm trường. Nhãn có thể khác một chút giữa các phiên bản, nên hãy dựa vào ý nghĩa.

Từng bước một

Năm trường, theo thứ tự

Base URL

Nhập gốc API, không phải endpoint đầy đủ: https://api.cheaptokens.dev/v1. Ví dụ trong tài liệu là một gốc kết thúc bằng /v1, và AnythingLLM tự thêm /chat/completions. Nếu bạn dán đường dẫn đầy đủ, request sẽ đi đến sai địa chỉ.

API key

Dán key CheapTokens của bạn. Nếu chưa có, hãy tạo trong dashboard trước. Hãy đối xử với nó như mật khẩu: đừng đưa vào ảnh chụp màn hình hay ghi chú workspace được chia sẻ.

Chat model name

Dùng id đầy đủ, ví dụ deepseek-ai/DeepSeek-V4-Flash-0731 hoặc zai-org/GLM-5.3-Flash. Các tên ngắn bạn thấy trong bảng giá không được API chấp nhận. Không chắc mình có id nào? Liệt kê các model bằng GET /v1/models.

Model context window

Ngân sách AnythingLLM dùng khi dựng prompt từ câu hỏi, các đoạn tài liệu được truy xuất và lịch sử chat. Nhập window thực của model: 380000 cho DeepSeek-V4-Flash, 390000 cho GLM-5.3-Flash.

Max Tokens

Giới hạn trên cho độ dài một câu trả lời. Mặc định của AnythingLLM là 1024. Nhập 32768 cho DeepSeek-V4-Flash hoặc 8192 cho GLM-5.3-Flash.

Base URL trong AnythingLLM: đường dẫn endpoint đầy đủ là sai, gốc API mới đúng
Dán gốc API kết thúc bằng /v1; AnythingLLM tự thêm /chat/completions

Lưu, mở một workspace và đặt câu hỏi. Embeddings (phần biến tài liệu của bạn thành các đoạn có thể tìm kiếm) là một cài đặt riêng trong AnythingLLM, nên provider ở trên chỉ thay đổi model nào viết câu trả lời.

Vì sao hai giới hạn này quan trọng#

Hãy tưởng tượng bạn thả một hợp đồng 60 trang vào workspace và yêu cầu tóm tắt các điều khoản chấm dứt. Với mặc định, hai điều sẽ hỏng. Context window bạn nhập có thể nhỏ hơn nhiều so với window thực của model, nên AnythingLLM cắt bớt những gì nó gửi. Và Max Tokens đang ở 1024, nên một bản tóm tắt dài sẽ dừng giữa câu.

Cách khắc phục là nói cho AnythingLLM sự thật về model:

Model (id) Context window Đầu ra mỗi câu trả lời
DeepSeek-V4-Flash (deepseek-ai/DeepSeek-V4-Flash-0731) 380K tối đa 32.768 token
GLM-5.3-Flash (zai-org/GLM-5.3-Flash) 390K tối đa 8.192 token

Một thói quen đáng giữ: Max Tokens là giới hạn trên, không phải mục tiêu. Một câu hỏi ngắn vẫn nhận câu trả lời ngắn; bạn chỉ trả tiền cho token model thực sự viết. Nếu muốn hiểu điều gì xảy ra khi chạm giới hạn, vì sao câu trả lời AI dừng giữa câu đi qua finish_reason và max_tokens, còn context window là gì đề cập phía đầu vào.

Tài liệu AnythingLLM cũng nói rằng đặt Max Tokens bằng 0 sẽ bỏ giới hạn đầu ra khỏi request. Một con số rõ ràng dễ lý giải hơn, nên tôi sẽ nhập một con số.

Kiểm tra kết nối bên ngoài AnythingLLM#

Nếu cửa sổ chat hiện lỗi, sẽ hữu ích khi biết vấn đề nằm ở key và id model hay ở thứ gì đó bên trong AnythingLLM. Gửi một request thẳng đến API:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "messages": [{"role": "user", "content": "Say hi in five words."}], "max_tokens": 50}'

API tương thích OpenAI Chat Completions, nên một phản hồi hoạt động có văn bản trong choices[0].message.content, một finish_reason, và một khối usage với số token cho request đó. Nếu bạn nhận được những thứ đó, key, Base URL và id model đều ổn, và bất cứ thứ gì bạn thấy trong AnythingLLM đều đến từ các cài đặt ở trên. Thêm về endpoint trong tài liệu CheapTokens.

Một câu hỏi cho tài liệu của bạn tốn bao nhiêu#

Chat với tài liệu nặng về đầu vào: mỗi câu hỏi mang theo các đoạn được truy xuất. Giả sử bạn truy xuất sáu đoạn, mỗi đoạn khoảng 600 token, cộng câu hỏi và một chút lịch sử, ra khoảng 4.000 token đầu vào, với câu trả lời 400 token. Trên DeepSeek-V4-Flash, một câu hỏi như vậy tốn $0.0001. Đây là cùng khối lượng công việc trên các model cho 200 câu hỏi, với cột OpenRouter bên cạnh:

Mô hình Mỗi yêu cầu 200 yêu cầu OpenRouter, 200 yêu cầu
GLM-5.3-Flash $0.000096 $0.0192 $0.0334
DeepSeek-V4-Flash $0.0001 $0.02 $0.0672
MiniMax-M2.7 $0.00026 $0.052 $0.624

4.000 token đầu vào và 400 token đầu ra mỗi yêu cầu. Giá trên 1 triệu token là giá hiện hành và thay đổi cùng với biểu phí của chúng tôi; cột OpenRouter hiển thị giá tham chiếu cho cùng khối lượng công việc.

Tổng cộng, tính cả đầu vào và đầu ra, DeepSeek-V4-Flash rẻ hơn OpenRouter với khối lượng công việc này. Để có số liệu của riêng bạn, hãy kéo các thanh trượt: chỉ cần token mỗi câu hỏi và số câu hỏi mỗi ngày.

Máy tính chi phí

Một ngày câu hỏi cho tài liệu của bạn

Token đầu vào mỗi yêu cầu: 4.000 · Token đầu ra mỗi yêu cầu: 400 · Số yêu cầu mỗi ngày: 50

Mô hìnhMỗi ngàyMỗi tháng
GLM-5.3-Flash$0.0048$0.144
DeepSeek-V4-Flash$0.005$0.15
MiniMax-M2.7$0.013$0.39

Số đoạn bạn gửi là đòn bẩy lớn nhất. Một câu hỏi RAG tốn bao nhiêu cho thấy hóa đơn thay đổi theo nó, và mức giá hiện tại nằm trên trang giá.

Nếu không hoạt động#

Hầu hết lỗi là một trong bốn trường hợp. Khớp triệu chứng với nguyên nhân:

Ghép cặp

Khớp từng triệu chứng với nguyên nhân

  • Provider từ chối request và phàn nàn về max_tokensĐặt GENERIC_OPEN_AI_MODEL_MAX_TOKEN_KEY thành max_completion_tokens và khởi động lại AnythingLLM
  • 401 UnauthorizedAPI key bị thiếu, gõ sai hoặc dán kèm dấu cách
  • 404 hoặc "model not found"Id model là tên ngắn, không phải id đầy đủ từ danh sách model
  • Câu trả lời dừng giữa câuMax Tokens vẫn là mặc định 1024

Tùy chọn GENERIC_OPEN_AI_MODEL_MAX_TOKEN_KEY đến từ tài liệu AnythingLLM: nó thay đổi tên trường nào mang giới hạn trong request. Chi tiết về 401 và 404, xem API 401 hoặc 404: sai key, base URL hoặc id model.

Dùng client chat khác? Các bước gần giống với Open WebUI, LibreChat và Cherry Studio: một base URL tương thích OpenAI, một key, một id model đầy đủ.