繁中 ▾
取得 API 金鑰

首頁指南

AnythingLLM API 金鑰:連接自訂 OpenAI 端點

要使用帶有自訂端點的 AnythingLLM API 金鑰,請選擇 Generic OpenAI 供應商並輸入 Base URL、金鑰和模型 ID。下方提供步驟與測試。

你指的是哪一個 API 金鑰

搜尋 anything llm api key 的人通常指兩種東西,這兩者很容易混淆。第一種是 AnythingLLM 發送到模型供應商以產生回答的金鑰。第二種是 AnythingLLM 本身建立的開發者 API 金鑰,以便其他程式呼叫 AnythingLLM 自己的 API。它們是不同的金鑰,有不同的用途。

本文涵蓋第一種:為 AnythingLLM 提供 OpenAI 相容聊天 API 的金鑰和端點。你將從 API 金鑰頁面取得金鑰,將其與 Base URL https://api.llmapisource.com/v1一起貼到 AnythingLLM 中,並使用模型 ID uncensored。若你需要從自己的程式呼叫 AnythingLLM,則在 AnythingLLM 設定中產生該金鑰;它與此供應商金鑰無關。

開始之前:在 AnythingLLM 之外測試金鑰

一半關於自訂端點的支援問題最終被發現是金鑰錯誤或 URL 中的打字錯誤。使用 curl 進行三十秒的測試可以區分「端點錯誤」和「應用程式設定錯誤」。先列出模型:

curl https://api.llmapisource.com/v1/models \
  -H "Authorization: Bearer YOUR_KEY" | grep uncensored

你應該會看到包含 uncensored 的行。然後發送一個聊天請求:

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
  }'

如果兩個呼叫都運作正常,表示金鑰和 URL 沒問題,之後任何失敗都是應用程式內部的設定問題。如果你還沒有金鑰,請使用 Google 或電子郵件與密碼註冊。新用戶可以在金鑰頁面一鍵領取 $0.50 的試用額度,無需信用卡且有效期為 7 天。這足以完成整個設定並進行測試。

在 AnythingLLM 中設定

AnythingLLM 支援多種 LLM 供應商,其中一種是通用的 OpenAI 相容選項。選單的措辭會因版本而異,因此請將下方的名稱視為指南而非精確腳本。

  1. 開啟 AnythingLLM 設定並找到 LLM 偏好設定(有時標示為 LLM 供應商)。
  2. 從供應商清單中選擇 Generic OpenAI。
  3. 將 Base URL 設定為 https://api.llmapisource.com/v1。包含 /v1 並省略結尾的 /chat/completions;應用程式會自行新增路徑。
  4. 將你的金鑰貼到 API Key 欄位。應用程式會將其作為 Authorization: Bearer 發送,這是此 API 所預期的格式。
  5. 將聊天模型名稱設為uncensored。
  6. 將 Token 上下文視窗,以及 curl 和 Python 測試 設定為 100000。模型的視窗為 100,000 token,包含提示詞加上補完,若此處數值過低會使 AnythingLLM 過早截斷你的歷史記錄。
  7. 將 max tokens 留空,或設定一個你覺得合適的上限。在 API 端這是可選的。
  8. 儲存,開啟工作區並發送訊息。

如果工作區有自己的聊天設定,請檢查它是否使用系統預設供應商而非舊的覆蓋設定。工作區鎖定到舊供應商是變更看似無效的常見原因。

嵌入和文件需要獨立元件

AnythingLLM 執行兩項工作。它與模型聊天,並索引你的文件以便模型能從中回答。第二項工作使用嵌入模型,而此 API 不提供嵌入。它提供 POST /v1/chat/completions 和 GET /v1/models,輸入文字並輸出文字。

這不會阻礙你。AnythingLLM 允許你將嵌入器與聊天模型分開選擇,它可以使用內建的本地嵌入器或你設定的其他供應商。將嵌入器設定為不是此端點的選項,並僅將此端點用於聊天模型。圖像或音訊功能亦然:該模型僅限文字,無圖像、音訊或影片生成,也無微調功能。

當你用文件聊天時,檢索到的段落會被貼入提示詞,因此輸入 token 會增加。每 1M 輸入 token 費用為 $0.15,一個 6,000 token 的提示詞加上 500 token 的輸出,輸入費用為 6,000 x $0.15 / 1,000,000 = $0.0009,輸出費用為 500 x $0.50 / 1,000,000 = $0.00025,或每題 $0.00115。文件密集的工作區成本比純聊天高,但每題仍僅需幾分之一美分。

檢查串流輸出、工具和 JSON 模式

AnythingLLM 會串流輸出回覆,API 支援伺服器傳送事件(Server-Sent Events)並使用 stream: true,最後以使用量區塊(usage chunk)結束。如果你的回覆是一次性顯示而非逐 token 顯示,問題通常是應用程式前方的代理伺服器緩衝了回應,而非端點問題。你可以使用 OpenAI Python SDK 從腳本檢查串流輸出:

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)

工具呼叫和 JSON 模式透過相同的聊天端點運作,這對於在應用程式周圍建構代理或流程很重要。JSON 模式是一個單一欄位:

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."}
    ]
  }'

工具使用常見的 tools 和 tool_choice 欄位,結果以 role: "tool" 訊息返回。AnythingLLM 是否暴露特定的代理功能取決於應用程式版本,因此請先在腳本中測試呼叫,然後再在應用程式中嘗試該功能。文件展示了完整的工具呼叫範例。

修復常見錯誤

症狀可能原因修復方法
401 或身份驗證錯誤金鑰貼上時帶有空白,或為舊金鑰再次從金鑰頁面複製金鑰並無空格地貼上
404 或「找不到」Base URL 缺少 /v1,或結尾有 /chat/completions精確使用 https://api.llmapisource.com/v1
找不到模型模型名稱輸入不同使用 uncensored,小寫,不加任何字元
429 錯誤且rate_limited每分鐘超過 300 個請求(試用金鑰為 60)降低速率或減少批次處理的頻率
429 錯誤與 concurrency 相關同時超過 8 個請求(試用金鑰為 2)減少並行工作區或代理;串流會佔用槽位直到結束
錯誤碼 429 且帶有 Retry-After: 5 標頭暫時過載等待 5 秒後重試
回覆過早截斷應用程式中 max tokens 設定過低調高或清除

每個回應中的 X-Request-Id 標頭,若需就特定請求聯繫 支援 時會有幫助。X-Balance-USD 中的餘額也能讓你快速判斷失敗是否僅因帳戶無餘額。

從工作區獲得更好的回答

一旦連線運作正常,一些工作區的使用習慣會產生顯著差異。為工作區撰寫系統提示詞,說明角色、語氣以及當文件中沒有答案時該怎麼辦。沒有最後那項指示,模型通常會猜測,而一個聽起來自信的猜測比單純的「我在文件中找不到該資訊」更糟。

溫度是另一個調整參數。針對自有檔案的問答,較低的數值(如 0.2 至 0.4)能讓回答緊貼檢索到的文本。針對腦力激盪或草稿撰寫,則將其調高至 0.8。API 會原樣傳遞溫度、top_p、stop、seed 與懲罰參數,因此應用程式傳送的參數會原封不動地到達模型。

留意工作區附加到每個問題的片段數量。每個額外的片段都是更多的輸入 token,雖然擁有 100,000-token 視窗的空間,但你也要為每一次交談中的每個片段付費。從少量的片段開始,只有在回答遺漏相關內容時才增加。

隱私與費用注意事項

透過 API 傳送的提示詞不會用於訓練。當 AnythingLLM 檢索段落時,你的文件仍會隨著提示詞傳送至端點,因此請決定哪些工作區的資料你願意傳送。對於必須永遠留在你機器的資料,請改用本地模型。

計費採預付額度隨用隨付:每 1M 輸入 token 為 $0.15,每 1M 輸出 token 為 $0.50,儲值金額從 $20 至 $500 不等,贈額為儲值達 $50 時 5%、達 $100 時 10%、達 $200 時 15%。額度永不過期,失敗或被拒絕的請求不會計費。定價頁面 列出付款方式。

問答

在 AnythingLLM 中應選擇哪個提供者選項?

選擇 Generic OpenAI。輸入 https://api.llmapisource.com/v1 作為 Base URL,你的金鑰作為 API 金鑰,並將 uncensored 設為聊天模型名稱。

上下文視窗,以及 curl 和 Python 測試應輸入多少?

使用 100000,這與模型用於提示詞與補全的 100,000-token 上下文視窗,以及 curl 和 Python 測試相符。

我可以在 AnythingLLM 中使用此端點進行嵌入嗎?

不行。此 API 僅提供聊天補全與模型列表。請在 AnythingLLM 中選擇其他嵌入器,並將此端點保留給聊天模型使用。

AnythingLLM 的開發者 API 金鑰是同一個嗎?

不是。該金鑰是在 AnythingLLM 內部建立的,讓其他程式可以呼叫該應用程式。此服務的金鑰才是 AnythingLLM 傳送至聊天端點的金鑰。

等距視角場景:應用程式區塊透過發光的電纜與金鑰連接至伺服器,展示 API 金鑰的連線