Chạy AnythingLLM trên bất kỳ model nào qua Generic OpenAI.
Updated 2026-07-29
Provider Generic OpenAI của AnythingLLM kết nối toàn bộ app với bất kỳ endpoint tương thích OpenAI nào: Base URL https://api.apisrouter.com/v1, một key, một chat model id, và giới hạn token trung thực. Id Claude, GPT, Gemini, và DeepSeek đều hợp lệ, cho tài liệu, agent, và chat như nhau.
Câu trả lời nhanh: năm field trong LLM Preference.
Mở settings của AnythingLLM, vào mục LLM dưới AI Providers (màn hình trước đây có tên LLM Preference), và tìm Generic OpenAI trong danh sách provider. Chọn nó sẽ hiện ra năm field: Base URL, API Key, Chat Model Name, Token Context Window, và Max Tokens. Điền như sau: Base URL là https://api.apisrouter.com/v1 (phần /v1 thuộc về field này), key của bạn, và id catalog chính xác trong Chat Model Name, ví dụ claude-sonnet-4-6. Sau đó hai con số: Token Context Window là tổng cửa sổ của model và Max Tokens giới hạn một câu trả lời đơn, nên lấy cả hai từ tài liệu của model thay vì đoán. Lưu lại, và mọi workspace theo mặc định hệ thống giờ chat qua gateway. Tài liệu gắn cờ provider này là hướng-lập-trình-viên chính vì nó tin tưởng đầu vào của bạn; đó không phải cảnh báo chống lại việc dùng nó, chỉ là một tuyên bố rằng năm field kia là một hợp đồng.
Base URL: https://api.apisrouter.com/v1
API Key: sk-YOUR-APISROUTER-KEY
Chat Model Name: claude-sonnet-4-6
Token Context Window: 200000
Max Tokens: 8192Provider Generic OpenAI thực sự điều khiển những gì.
AnythingLLM (Mintplex Labs trên GitHub, khoảng 63K star) là trợ lý tài liệu riêng tư kiểu tất-cả-trong-một: workspace nhúng file của bạn, chat có căn cứ trên context truy xuất, agent dùng tool, có sẵn dưới dạng app desktop và server tự host. LLM preference cấu hình ở trên là bộ não mặc định cho tất cả những thứ đó. Request rời đi dưới dạng chat completions chuẩn nhắm vào Base URL của bạn với Chat Model Name làm chuỗi model, nên vendor không quan trọng: một id Claude hợp lệ như một id GPT, và chuyển đổi chỉ là sửa một field. Workspace cũng có thể ghi đè mặc định hệ thống bằng provider và cài đặt model riêng, đây là cách một deployment chạy claude-sonnet-4-6 cho workspace pháp lý và gpt-5.5 cho kỹ thuật mà không bên nào biết về bên kia. Hai field token đáng được tôn trọng vì AnythingLLM dùng chúng để lập ngân sách context. Giá trị context window quyết định bao nhiêu văn bản tài liệu truy xuất và lịch sử chat được nhồi vào mỗi request; đặt thấp hơn thực tế thì tài liệu bạn cẩn thận nhúng vào bị cắt khỏi chính câu trả lời của chúng, đặt cao hơn thực tế thì request bị bật lại vì giới hạn thực của model. Đây là cặp field đứng sau hầu hết các báo cáo "RAG cảm giác ngu ngơ" trên các endpoint tổng quát.
Embedding là một quyết định riêng biệt.
AnythingLLM tách LLM preference khỏi embedding preference, và sự tách biệt này có tính quyết định. Chat model trả lời câu hỏi; embedder biến tài liệu của bạn thành vector lúc tải lên, và các vector đó tồn tại lâu dài. Đổi chat model là miễn phí, bất kỳ ngày nào, theo từng workspace. Đổi embedder làm mất hiệu lực hình học của mọi thứ đã nhúng và nghĩa là phải nhúng lại tài liệu. Cài đặt thực tế: AnythingLLM có sẵn embedder cục bộ chạy offline và không tốn gì, nhiều deployment đơn giản giữ nguyên nó. Nếu bạn trỏ embedding preference vào một endpoint từ xa thay vào đó, hãy xác nhận id embedding cụ thể được phục vụ ở đó trước khi tải lên cơ sở tài liệu của bạn, và coi lựa chọn đó gắn chặt với vector store. Sự tự do điều này mang lại ở phía chat chính là ý nghĩa của kiến trúc: khi embedding đã ổn định, chat model Generic OpenAI là một núm vặn ít rủi ro. Chạy deepseek-v4-pro cho một tháng tóm tắt nặng, đổi field sang claude-sonnet-4-6 cho một quý công việc khách hàng, và không có gì về tài liệu của bạn cần di chuyển cả.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# Chat Model Name must match one of these ids exactlyChọn model cho công việc tài liệu.
Mọi id đều thanh toán qua cùng một key, nên vòng lặp so sánh chỉ là một lần sửa cài đặt: cùng workspace, cùng tài liệu, hai tuần cho mỗi ứng viên, và mức chi tiêu theo từng model trong console APIsRouter cạnh phán đoán của chính bạn về câu trả lời.
- QA có căn cứ trên đoạn truy xuất là công việc nặng đầu vào: claude-haiku-4-5-20251001 và gemini-3.5-flash trả lời tốt các câu hỏi theo dõi trích dẫn với giá theo khối lượng.
- claude-sonnet-4-6 xứng đáng là mặc định nơi câu trả lời được gửi cho con người không chỉnh sửa: review hợp đồng, soạn báo cáo, bất cứ gì có hậu quả.
- deepseek-v4-pro là con ngựa thồ long-context cho các workspace xây trên tài liệu lớn, nơi cửa sổ và giá đầu vào chi phối trải nghiệm.
- Workspace agent cần gọi tool đáng tin cậy; bắt đầu agent với claude-sonnet-4-6, rồi kiểm tra xem một id nhẹ hơn có trụ được trên flow thực tế của bạn không.
- Dùng ghi đè theo từng workspace như một chính sách: mặc định giữ nhanh, và id đắt tiền chỉ sống trong các workspace mà công việc xứng đáng với nó.
Trả theo mức sử dụng · thấp hơn giá chính thức
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Mô hình | Giá chính thức | Giá của chúng tôi |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
Các kiểu lỗi đặc thù của AnythingLLM.
Các field token gây ra những lỗi tinh vi. Một context window đặt quá thấp âm thầm cắt bớt context truy xuất, biểu hiện như một model bỏ qua tài liệu của bạn; hãy đặt cửa sổ đã ghi trong tài liệu cho id trong Chat Model Name. Max Tokens đặt quá cao so với model tạo ra lỗi cứng trên các câu trả lời dài; hãy đặt nó bằng những gì model thực sự cho phép ở đầu ra. Lỗi cứng thì trung thực hơn. Lỗi xác thực là field API Key. Model-not-found là Chat Model Name trôi khỏi cách viết catalog; field này là văn bản tự do và danh sách /v1/models là nguồn chân lý. Lỗi kết nối trên app desktop thường nghĩa là có proxy hoặc firewall giữa app và endpoint; trên deployment Docker, hãy nhớ chính container mới cần với tới Base URL, không phải trình duyệt của bạn. Nếu chat vẫn hoạt động nhưng một workspace hành xử khác kỳ vọng, hãy kiểm tra cài đặt ghi đè của nó; cài đặt provider cấp workspace thắng mặc định hệ thống, và một ghi đè bị quên là bí ẩn kinh điển "cùng câu hỏi, model khác". Cách diễn đạt hướng-lập-trình-viên của tài liệu tóm tắt tất cả điều trên: provider làm đúng những gì năm field của nó nói, không hơn không kém.
Ai định tuyến AnythingLLM qua một gateway.
- Các đội chạy trợ lý tài liệu riêng tư muốn chất lượng câu trả lời đỉnh cao mà không cần tài khoản vendor cho mỗi họ model.
- Người dùng desktop trỏ cơ sở tài liệu cá nhân của họ vào id Claude hoặc GPT trên số dư trả trước, không cần thẻ để bắt đầu.
- Người tự host giữ embedder cục bộ có sẵn và coi chat từ xa là làn duy nhất được đo lường, đọc theo từng model trên một log sử dụng.
- Deployment phân đoạn theo workspace, nơi ghi đè theo từng workspace cộng với đo lường theo từng key cho mỗi đội model riêng và hóa đơn riêng.
- Người xây dựng so sánh các model trả lời trên một cơ sở tài liệu cố định, nơi mỗi ứng viên là một lần sửa cài đặt thay vì một cuộc di dời.
Xác minh endpoint và debug chat workspace đầu tiên.
Curl danh sách model và một chat completion trước, dùng chính xác id bạn định đặt vào Chat Model Name. Với cả hai đều qua, nửa gateway đã được chứng minh và mọi triệu chứng còn lại sống trong năm field. Sau đó lưu cài đặt provider và hỏi một câu trong một workspace có tài liệu bạn biết rõ. Một câu trả lời có căn cứ, có trích dẫn nghĩa là toàn bộ pipeline hoạt động. Một câu trả lời bỏ qua tài liệu chỉ tới giá trị context window hoặc cài đặt truy xuất riêng của workspace. Lỗi cứng ánh xạ rõ ràng: key, cách viết id, hình dạng Base URL. Khi chat đã chạy, console APIsRouter hiển thị model theo từng request, số lượng token, và chi tiêu. QA tài liệu nhân token đầu vào lên qua truy xuất, và log sử dụng là nơi bạn học được cơ sở tài liệu của bạn thực sự tốn bao nhiêu để truy vấn, theo từng model, từng ngày, và từng key workspace nếu bạn tách chúng ra.
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-6",
"messages":[{"role":"user","content":"ping"}]}'Câu hỏi thường gặp
Làm sao để đặt một Base URL tùy chỉnh trong AnythingLLM?
Trong settings dưới AI Providers, mở màn hình LLM preference và chọn Generic OpenAI từ danh sách provider. Đặt Base URL thành https://api.apisrouter.com/v1, thêm key của bạn, đặt id catalog chính xác vào Chat Model Name, và điền cả hai field token từ tài liệu của model.
Token Context Window và Max Tokens kiểm soát điều gì?
Context window báo cho AnythingLLM biết nó được nhồi bao nhiêu văn bản truy xuất và lịch sử mỗi request; Max Tokens giới hạn một câu trả lời đơn. Đặt cửa sổ thấp hơn thực tế cắt tài liệu của bạn khỏi câu trả lời, và đặt một trong hai cao hơn thực tế tạo ra các request bị model từ chối.
AnythingLLM có thể chạy Claude hoặc DeepSeek qua Generic OpenAI không?
Có. Provider gửi Chat Model Name như một chuỗi thuần tới Base URL qua chat completions chuẩn, nên claude-sonnet-4-6, deepseek-v4-pro, gemini-3.5-flash, và id GPT đều hoạt động, chuyển đổi được bằng cách sửa một field hoặc theo từng workspace.
Đổi chat model có ảnh hưởng tới tài liệu đã nhúng của tôi không?
Không. Cài đặt chat và embedding tách biệt; vector tồn tại lâu dài và chat model đổi tự do. Chỉ đổi embedder mới làm mất hiệu lực vector hiện có và buộc phải nhúng lại, đây là lý do nhiều deployment giữ embedder cục bộ có sẵn và chỉ tinh chỉnh phía chat.
Vì sao trang tài liệu gọi Generic OpenAI là hướng-lập-trình-viên?
Vì nó tin tưởng đầu vào của bạn thay vì cung cấp preset theo từng vendor: id, URL, hoặc giá trị token sai sẽ thất bại lúc chạy thay vì bị form bắt lỗi. Với id sao chép từ /v1/models và giới hạn từ tài liệu model, đây là một con đường ổn định, hạng nhất.
Các workspace khác nhau có thể dùng model khác nhau không?
Có. Workspace kế thừa mặc định hệ thống nhưng có thể ghi đè provider và model trong cài đặt chat riêng của chúng, nên một deployment có thể chạy một id nhanh làm mặc định và ghim claude-sonnet-4-6 chỉ trong các workspace mà công việc xứng đáng với nó.