跳至主要内容

首次執行配置

按照快速部署把容器拉起來之後,系統裡還沒有任何使用者、渠道和模型。本頁按順序走完從「空系統」到「發出第一條訊息」的全部配置:建立管理員、新增上游渠道、建立模型、設定預設模型與任務模型、配置嵌入模型,最後是幾個可選增強項。

First-run: create the admin account

第 1 步:建立管理員賬號

瀏覽器開啟你的站點。全新部署(使用者數為 0)時會自動進入首啟設定頁 /setup,填寫三個欄位:

欄位要求
郵箱作為登入賬號
名字顯示名
密碼至少 8 個字元

提交後,這個賬號立即成為管理員並自動登入,不需要郵箱驗證。

/setup 只有一次機會

系統中一旦存在任何賬號,/setup 就永久失效(再訪問返回 409)。所以部署完成後請儘快完成這一步,不要把一個「零使用者」的例項長時間暴露在公網上,否則任何先訪問到的人都能把自己註冊成管理員。

後續的使用者管理(邀請、封禁、配額)在管理後臺進行,見使用者與配額

第 2 步:進入管理後臺

管理後臺入口有兩個,效果相同:

  • 側欄底部的賬號選單裡的管理入口;
  • 直接訪問 /admin

後臺各頁面的總覽見管理後臺概覽。首次配置主要用到「渠道 Channels」和「模型 Models」兩頁。

第 3 步:新增渠道(Channel)

渠道是一條到上游模型服務商的連線。所有服務商 API Key 都儲存在資料庫的渠道表裡,不寫在 .env。進入管理後臺的「渠道 Channels」頁,新建渠道時選擇型別並填寫連線資訊:

渠道型別適用上游需要填寫
AnthropicAnthropic 官方或相容其協議的服務Base URL + API Key
OpenAIOpenAI 官方或相容其協議的服務Base URL + API Key
GeminiGoogle GeminiBase URL + API Key
OpenAI 相容任何暴露 OpenAI 格式介面的中轉、聚合或本地推理服務Base URL + API Key

欄位說明:

  • 型別:決定 Aivory 以哪種協議格式呼叫上游。用官方 API 就選對應官方型別;用中轉或自建推理服務通常選「OpenAI 相容」。
  • Base URL:上游服務地址。
  • API Key:上游簽發的金鑰,儲存在資料庫中。

一個部署可以同時新增多個渠道(例如一個 Anthropic 官方渠道加一個 OpenAI 相容中轉),渠道本身對普通使用者不可見,使用者只會看到下一步建立的「模型」。渠道管理的完整說明見渠道與模型

沒有 API Key 也想先驗證?

.env 中設定 ENABLE_MOCK_PROVIDER=true 並重啟,會注入一個內建演示渠道和演示模型,可以端到端跑通整個對話鏈路。驗證完、新增真實渠道後記得改回 false

第 4 步:建立模型(Model)

渠道建好後,到「模型 Models」頁建立對使用者可見的模型條目。每個模型的欄位:

欄位說明
名稱展示給使用者的模型名,出現在模型選擇器裡
圖示模型在選擇器和訊息流中的圖示
kind模型種類:chat(對話)/ image(影像生成)/ embedding(向量嵌入)
渠道該模型走哪條渠道呼叫上游
上游模型 ID傳給上游 API 的真實模型標識,必須與服務商的模型名完全一致
定價該模型的 token 單價,用於平臺內的用量核算
vision是否接受圖片輸入。開啟後用戶才能在該模型的對話中傳送圖片
stream是否以流式方式返回輸出
tool_mode工具呼叫方式:native(上游原生工具呼叫)/ prompt(通過提示詞模擬工具呼叫,適合不支援原生 function calling 的上游)/ none(該模型不使用工具)
研究開關該模型是否可用於深度研究,見深度研究

模型啟用後立即出現在所有使用者的模型選擇器中。建議起步至少建立:

  1. 一個主力 chat 模型(開啟 stream,按上游能力設定 vision 和 tool_mode);
  2. 一個便宜快速的小模型,下一步可指定為任務模型;
  3. 如需知識庫,再建一個 embedding 模型(見第 6 步)。
上游模型 ID 寫錯是最常見的翻車點

名稱是給使用者看的,可以隨便起;「上游模型 ID」是真正發給服務商的,拼寫錯誤會導致對話直接報錯。建立後先自己發一條訊息驗證再放給使用者。

第 5 步:設定預設模型與任務模型

模型建好後,在管理後臺指定三類全域性角色:

角色用途建議
預設模型使用者新建對話時的預設選擇選主力 chat 模型
任務模型系統內部的小任務呼叫,不直接面向用戶選便宜、快、穩定的小模型
嵌入模型知識庫向量化,知識庫功能的必要條件見第 6 步

第 6 步:配置嵌入模型,啟用知識庫

知識庫(RAG)需要一個嵌入模型才能工作。兩種配置途徑,任選其一:

途徑 A,環境變數(啟動期兜底):在 deploy/.env 中配置 EMBEDDING_BASE_URL / EMBEDDING_API_KEY / EMBEDDING_MODEL / EMBEDDING_DIM,指向任意 OpenAI 格式的 /v1/embeddings 端點,然後重啟。

途徑 B,管理後臺:建立一個 kind = embedding 的模型(走某條渠道),並把它設為嵌入模型。

無論哪種方式,都要注意維度一致性:

EMBEDDING_DIM 必須與模型輸出維度一致

Qdrant 按嵌入寬度使用獨立 collection。如果維度配置與模型實際輸出不一致,系統會退回內建的 256 維本地 embedder,它的 collection 與 1536 維模型向量互不相容,檢索質量也只適合開發測試,不適合生產。例如 text-embedding-3-small 對應 EMBEDDING_DIM=1536

完全不配置嵌入模型時,知識庫仍可建立,向量檢索關閉時 RAG 會回退為把範圍內的完整文件文本注入上下文。知識庫的日常使用見知識庫指南

第 7 步:傳送第一條訊息驗證

回到聊天介面:

  1. 在模型選擇器中選中你剛建立的 chat 模型;
  2. 傳送一條訊息,確認能收到流式回覆;
  3. 如果模型開啟了 vision,可以再發一張圖片驗證多模態;
  4. 如果 tool_mode 不是 none,可以讓模型做一次聯網搜尋或程式碼執行,驗證工具鏈路(需要先完成下面的可選配置)。

報錯時的排查順序:上游模型 ID 是否拼寫正確,渠道 Base URL / API Key 是否有效,docker compose logs app 裡的具體報錯。常見問題見 FAQ

可選配置

以下三項都不影響基礎對話,按需開啟。

聯網搜尋

給模型提供 web 搜尋工具。兩種配置方式:管理後臺線上配置,或 .env 啟動期兜底(SEARCH_PROVIDER / SEARCH_API_KEY / SEARCH_BASE_URL):

  • serper / brave:填 API Key;
  • searxng:填自建例項的 Base URL,不需要 key。

聯網搜尋也是深度研究功能的基礎,見深度研究

程式碼沙箱

Docker Compose 完整棧已內建沙箱服務,app 與沙箱共享內建預設金鑰,無需任何配置即可執行 Python 程式碼。唯一要求:保持管理後臺設定裡的 sandbox_base_urlsandbox_api_key 欄位為空,內建沙箱才會被使用。這兩個欄位僅在對接外部自建沙箱時填寫。

沙箱的資源限額、網路隔離與持久化見程式碼沙箱部署,使用者側用法見 Python 沙箱指南

MinerU 文件解析

掃描版、圖片型 PDF 需要 OCR 才能進知識庫檢索。在 .env 配置 MINERU_API_URL(預設 https://mineru.net)與 MINERU_API_KEY,或在管理後臺的站點設定裡線上配置,見站點設定。不配置時這類文件上傳後只有一行佔位文本。

從舊例項遷移

如果你是從另一套 Aivory 例項搬家,不需要手工重建以上配置:在舊例項的管理後臺「備份與遷移」頁生成全量遷移包(含資料庫邏輯備份、可選的上傳檔案與產物、Qdrant 向量資料),再到新例項同一頁面匯入即可。匯入大小上限由 MAX_BACKUP_BYTES 控制,預設 20 GiB。完整流程見備份與遷移

下一步