Trang chủHướng dẫn
Khóa API AnythingLLM: Kết nối Endpoint OpenAI tùy chỉnh
Để sử dụng khóa API AnythingLLM với endpoint tùy chỉnh, hãy chọn nhà cung cấp Generic OpenAI và nhập base URL, khóa và model ID. Các bước và bài kiểm tra được trình bày bên dưới.
Cập nhật
Bạn đang đề cập đến khóa API nào
Những người tìm kiếm anything llm api key thường đề cập đến một trong hai điều, và hai điều này dễ bị nhầm lẫn. Thứ nhất là khóa AnythingLLM gửi đến nhà cung cấp mô hình để tạo câu trả lời. Thứ hai là khóa API developer do chính AnythingLLM tạo ra, để các chương trình khác có thể gọi API của AnythingLLM. Đó là hai khóa khác nhau với các nhiệm vụ khác nhau.
Bài viết này đề cập đến cái đầu tiên: cung cấp cho AnythingLLM một khóa và endpoint cho API chat tương thích OpenAI. Bạn sẽ lấy khóa từ trang khóa API, dán vào AnythingLLM cùng với base URL https://api.llmapisource.com/v1 và sử dụng model ID uncensored. Nếu bạn cần gọi AnythingLLM từ mã của mình, hãy tạo khóa đó trong cài đặt AnythingLLM; nó không liên quan đến khóa nhà cung cấp này.
Trước khi bắt đầu: kiểm tra khóa bên ngoài AnythingLLM
Một nửa các câu hỏi hỗ trợ về endpoint tùy chỉnh thực chất là do khóa sai hoặc lỗi chính tả trong URL. Một lần thử nhanh bằng curl giúp phân biệt "endpoint sai" với "ứng dụng được cấu hình sai". Hãy liệt kê các mô hình trước:
curl https://api.llmapisource.com/v1/models \
-H "Authorization: Bearer YOUR_KEY" | grep uncensored
Bạn sẽ thấy một dòng bao gồm uncensored. Sau đó gửi một yêu cầu chat:
curl https://api.llmapisource.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Reply with the word ready."}],
"max_tokens": 20
}'
Nếu cả hai lệnh gọi đều hoạt động, khóa và URL đều ổn và bất kỳ lỗi nào sau đó là do cài đặt trong ứng dụng. Nếu bạn chưa có khóa, hãy đăng ký bằng Google hoặc email và mật khẩu. Người dùng mới có thể nhận $0,50 tín dụng dùng thử chỉ với một cú nhấp chuột trên trang khóa, không cần thẻ và hợp lệ trong 7 ngày. Điều đó đủ để hoàn tất toàn bộ quy trình cài đặt và kiểm tra nó.
Cài đặt trong AnythingLLM
AnythingLLM hỗ trợ nhiều nhà cung cấp LLM, và một trong số đó là tùy chọn tương thích OpenAI tiêu chuẩn. Văn bản của menu thay đổi giữa các phiên bản, vì vậy hãy coi các tên dưới đây là hướng dẫn chứ không phải các bước chính xác.
- Mở cài đặt AnythingLLM và tìm tùy chọn LLM (đôi khi được gọi là nhà cung cấp LLM).
- Chọn Generic OpenAI từ danh sách nhà cung cấp.
- Đặt Base URL thành
https://api.llmapisource.com/v1. Bao gồm/v1và bỏ/chat/completionsở cuối; ứng dụng sẽ tự thêm đường dẫn. - Dán khóa của bạn vào trường API Key. Ứng dụng gửi nó dưới dạng
Authorization: Bearer, đây là điều mà API này mong đợi. - Đặt Chat Model Name thành
uncensored. - Đặt Token context window thành 100000. Cửa sổ của mô hình là 100.000 token, bao gồm prompt và completion, và giá trị thấp ở đây sẽ khiến AnythingLLM cắt ngắn lịch sử của bạn sớm hơn mức cần thiết.
- Để max tokens trống hoặc đặt giới hạn mà bạn cảm thấy thoải mái. Nó là tùy chọn ở phía API.
- Lưu, mở workspace và gửi một tin nhắn.
Nếu workspace có cài đặt chat riêng, hãy kiểm tra xem nó có đang sử dụng nhà cung cấp mặc định của hệ thống thay vì ghi đè cũ hơn không. Workspace được ghim vào nhà cung cấp trước đó là lý do phổ biến khiến thay đổi dường như không có tác dụng.
Embeddings và tài liệu cần một thành phần riêng
AnythingLLM thực hiện hai nhiệm vụ. Nó trò chuyện với một mô hình và lập chỉ mục tài liệu của bạn để mô hình có thể trả lời dựa trên chúng. Nhiệm vụ thứ hai sử dụng một mô hình embedding, và API này không cung cấp embedding. Nó cung cấp POST /v1/chat/completions và GET /v1/models, với đầu vào là văn bản và đầu ra là văn bản.
Điều đó không cản trở bạn. AnythingLLM cho phép bạn chọn embedder riêng biệt với mô hình chat, và nó có thể sử dụng embedder cục bộ tích hợp hoặc nhà cung cấp khác mà bạn cấu hình. Hãy đặt embedder thành thứ gì đó không phải endpoint này và chỉ sử dụng endpoint này cho mô hình chat. Điều tương tự cũng áp dụng cho các tính năng hình ảnh hoặc âm thanh: mô hình chỉ xử lý văn bản, không có tạo hình ảnh, âm thanh hoặc video và không có fine-tuning.
Khi bạn trò chuyện với tài liệu, các đoạn trích được truy xuất sẽ được dán vào prompt, khiến số token đầu vào tăng lên. Với giá $0,15 cho mỗi 1 triệu token đầu vào, một prompt 6.000 token với 500 token đầu ra sẽ tốn 6.000 x $0,15 / 1.000.000 = $0,0009 cho đầu vào cộng 500 x $0,50 / 1.000.000 = $0,00025 cho đầu ra, hoặc $0,00115 cho mỗi câu hỏi. Các workspace tập trung vào tài liệu sẽ tốn kém hơn so với chat thông thường, nhưng vẫn chỉ bằng một phần nhỏ của một xu cho mỗi câu hỏi.
Kiểm tra streaming, công cụ và chế độ JSON
AnythingLLM truyền phát các phản hồi, và API hỗ trợ Server-Sent Events với stream: true, kết thúc bằng một chunk usage. Nếu các phản hồi của bạn xuất hiện cùng một lúc thay vì từng token một, vấn đề thường là do proxy phía trước ứng dụng đang đệm phản hồi, không phải endpoint. Bạn có thể kiểm tra streaming từ một script với SDK Python của OpenAI:
from openai import OpenAI
client = OpenAI(
base_url="https://api.llmapisource.com/v1",
api_key="YOUR_KEY",
)
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "List three uses of a local knowledge base."}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
if chunk.usage:
print("\ntokens:", chunk.usage.prompt_tokens, chunk.usage.completion_tokens)
Gọi công cụ và chế độ JSON hoạt động thông qua cùng một endpoint chat, điều này quan trọng nếu bạn xây dựng các agent hoặc luồng xung quanh ứng dụng. Chế độ JSON là một trường đơn:
curl https://api.llmapisource.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"response_format": {"type": "json_object"},
"messages": [
{"role": "system", "content": "Return a JSON object with keys title and summary."},
{"role": "user", "content": "Summarize: a notes app that works offline."}
]
}'
Các công cụ sử dụng các trường tools và tool_choice thông thường, với kết quả được trả về dưới dạng các thông báo role: "tool". Việc AnythingLLM có hiển thị một tính năng agent cụ thể hay không phụ thuộc vào phiên bản ứng dụng, vì vậy hãy kiểm tra lệnh gọi trong một script trước rồi sau đó thử tính năng đó trong ứng dụng. tài liệu hiển thị một ví dụ đầy đủ về gọi công cụ.
Khắc phục các lỗi thường gặp
| Triệu chứng | Nguyên nhân có thể | Cách khắc phục |
|---|---|---|
| Lỗi 401 hoặc lỗi xác thực | Khóa được dán có khoảng trắng hoặc khóa cũ | Sao chép lại khóa từ trang khóa và dán nó mà không có khoảng trắng |
| 404 hoặc "không tìm thấy" | Thiếu Base URL /v1, hoặc có /chat/completions ở cuối | Sử dụng chính xác https://api.llmapisource.com/v1 |
| Không tìm thấy mô hình | Tên mô hình được gõ khác nhau | Sử dụng uncensored, chữ thường, không thêm gì khác |
429 với rate_limited | Hơn 300 yêu cầu mỗi phút (60 trên khóa dùng thử) | Giảm tốc độ hoặc batch ít mạnh mẽ hơn |
429 với concurrency | Hơn 8 yêu cầu cùng lúc (2 trên khóa dùng thử) | Giảm số lượng workspace hoặc agent đồng thời; một stream giữ slot của nó cho đến khi kết thúc |
429 với tiêu đề Retry-After: 5 | Quá tải tạm thời | Chờ 5 giây và thử lại |
| Phản hồi bị cắt ngắn sớm | Số token tối đa thấp trong ứng dụng | Tăng nó lên hoặc xóa nó |
Tiêu đề X-Request-Id trên mọi phản hồi sẽ hữu ích nếu bạn liên hệ hỗ trợ về một lệnh gọi cụ thể. Số dư trong X-Balance-USD cũng cho bạn biết nhanh chóng xem lỗi có đơn giản là do tài khoản trống hay không.
Nhận câu trả lời tốt hơn từ không gian làm việc
Khi kết nối hoạt động, một vài thói quen trong không gian làm việc sẽ tạo ra sự khác biệt rõ rệt. Hãy viết một prompt hệ thống cho không gian làm việc nêu rõ vai trò, giọng điệu và những gì cần làm khi tài liệu không chứa câu trả lời. Nếu không có hướng dẫn cuối cùng đó, mô hình thường sẽ đoán, và một dự đoán nghe có vẻ tự tin còn tệ hơn một câu "Tôi không tìm thấy thông tin đó trong tài liệu".
Temperature là một yếu tố khác. Đối với trả lời câu hỏi dựa trên tệp của bạn, hãy sử dụng giá trị thấp như 0,2 đến 0,4 để giữ các câu trả lời gần với văn bản được truy xuất. Đối với brainstorming hoặc soạn thảo, hãy tăng nó lên gần 0,8. API truyền temperature, top_p, stop, seed và các hình phạt, vì vậy bất cứ thứ gì ứng dụng gửi sẽ đến mô hình mà không thay đổi.
Hãy theo dõi số lượng snippet mà workspace đính kèm vào mỗi câu hỏi. Mỗi snippet bổ sung là nhiều token đầu vào hơn, và với cửa sổ 100.000 token, bạn có đủ chỗ, nhưng bạn cũng phải trả tiền cho mỗi snippet trong mỗi lượt. Hãy bắt đầu với số lượng snippet nhỏ và chỉ tăng nó khi các câu trả lời thiếu tài liệu liên quan.
Lưu ý về quyền riêng tư và chi phí
Các prompt gửi qua API không được dùng để huấn luyện. Tài liệu của bạn vẫn được chuyển đến endpoint bên trong các prompt khi AnythingLLM truy xuất đoạn văn, vì vậy bạn hãy cân nhắc các workspace mà bạn sẵn sàng gửi đi. Đối với dữ liệu không bao giờ được rời khỏi máy của bạn, bạn hãy dùng mô hình local thay thế.
Thanh toán theo mức sử dụng từ tín dụng trả trước: $0.15 cho mỗi 1M token đầu vào và $0.50 cho mỗi 1M token đầu ra, nạp tiền từ $20 đến $500, với các khoản bonus 5% từ $50, 10% từ $100 và 15% từ $200. Tín dụng không bao giờ hết hạn, và các yêu cầu bị lỗi hoặc từ chối sẽ không bị tính phí. Trang giá cả liệt kê các phương thức thanh toán.
Hướng dẫn khác
Hỏi đáp
Tôi nên chọn tùy chọn provider nào trong AnythingLLM?
Chọn Generic OpenAI. Nhập https://api.llmapisource.com/v1 làm base URL, khóa của bạn làm API key, và uncensored làm tên mô hình chat.
Tôi nên nhập cửa sổ ngữ cảnh token nào?
Sử dụng 100000, khớp với cửa sổ 100,000-token của mô hình cho prompt và completion.
Tôi có thể sử dụng endpoint này cho embeddings trong AnythingLLM không?
Không. API chỉ cung cấp chat completions và danh sách mô hình. Bạn hãy chọn một embedder khác trong AnythingLLM và giữ endpoint này cho mô hình chat.
Khóa API developer của AnythingLLM có phải là cùng một thứ không?
Không. Khóa đó được tạo bên trong AnythingLLM để các chương trình khác có thể gọi ứng dụng. Khóa từ dịch vụ này là thứ AnythingLLM gửi đến endpoint chat.
