文件

設定

設定 ToriiDB 程序的儲存路徑與選用 OpenAI embedding 行為。

設定來源

ToriiDB 有兩個設定介面:

介面 設定方式 作用範圍
儲存目錄 store.New 的選用參數 單一 Store instance
Embedding 設定 程序環境或 OS keychain 共用 OpenAI client 初始化

核心鍵值、JSON、查詢、TTL 與持久化功能都不需要 OpenAI credential。

儲存目錄

使用預設目錄建立 store:

db, err := store.New()

預設值為 ./temp,並以程序工作目錄為基準解析。若要指定其他位置,可傳入一個路徑:

db, err := store.New("/var/lib/toriidb")

store.New 不接受超過一個路徑。它會視需要建立根目錄,而個別 db_0db_15 目錄及 AOF 檔則採延遲初始化。

程序必須能在此位置建立目錄、寫入檔案、重新命名暫存檔,並同步 AOF。

環境變數

變數 必填 預設值 用途
OPENAI_API_KEY 啟用 embedding 生成與語意向量搜尋
TORIIDB_EMBED_DIM 256 要求指定正整數維度的 embedding

Shell 設定範例:

export OPENAI_API_KEY="your-api-key"
export TORIIDB_EMBED_DIM="256"

TORIIDB_EMBED_DIM 未設定或不是正數,ToriiDB 會使用 256

API Key 查找順序

OpenAI client 會依下列順序解析 OPENAI_API_KEY

  1. 程序環境。
  2. 透過 service name ToriiDB 讀取 OS keychain。
  3. 兩者皆無資料時,停用向量操作。

Keychain 實作會在可用平台上使用系統 credential facility。請勿將 credential 提交到原始碼版本控制或文件中。

Embedding 模型

ToriiDB 目前固定使用 text-embedding-3-small,無法透過 public API 更換模型。TORIIDB_EMBED_DIM 控制要求的維度,也會納入內部 embedding cache key。

只有快取中紀錄的維度與目前 client 維度相符時,該向量才會被重用。

網路行為

Embedding request 使用以下設定:

設定
Endpoint https://api.openai.com/v1/embeddings
Request timeout 30 秒
Encoding 浮點數陣列
背景附加 timeout 35 秒

一般儲存操作不會發出網路 request。SET ... VECTOR 會先儲存文字,再非同步附加向量;若查詢尚未快取,VSEARCH 可能同步發出 embedding request。

營運建議

相關頁面

EN