LLM 和嵌入器
此頁面顯示將 LLM 和內嵌程式插入「Oracle 代理程式記憶體」的抽象介面。
LLM 介面
類別 oracleagentmemory.apis.llms.ILlm
基本:ABC
LLM 呼叫的抽象介面。
方法 generate (摘要)
同步從 LLM 產生回應。
- 參數:
- 提示
str | Sequence[dict[str, str]]– 純文字提示 (視為單一使用者訊息) 或交談式的訊息清單,其中每個訊息都是至少具有"content"索引鍵且選擇性地為"role"的對應。 - response_json_schema
dict[str, Any] | None– 描述預期回應格式的選擇性 JSON 綱要。 - **kwargs ( 任一 ) – 會將提供者特定的關鍵字引數轉送至相關後端。
- 提示
- 傳回:標準化 LLM 輸出。
- 傳回類型:LlmResponse
method generate_async (抽象、非同步)
以非同步方式從 LLM 產生回應。
- 參數:
- 提示
str | Sequence[dict[str, str]]– 純文字提示 (視為單一使用者訊息) 或交談式的訊息清單,其中每個訊息都是至少具有"content"鍵值且選擇性地為"role"的對應。 - response_json_schema
dict[str, Any] | None– 描述預期回應格式的選擇性 JSON 綱要。 - **kwargs ( 任一 ) – 會將提供者特定的關鍵字引數轉送至相關後端。
- 提示
- 傳回:標準化 LLM 輸出。
- 傳回類型:LlmResponse
LLM 回應
類別 oracleagentmemory.apis.llms.LlmResponse
基礎:object
ILlm 傳回的小型標準化回應。
- 參數:文字
str
文字
主要產生的文字內容。
- 類型: str
內嵌介面
類別 oracleagentmemory.apis.IEmbedder
基本:ABC
文字內嵌器的抽象介面 。
方法 embed (摘要)
將一批文字嵌入到 2D float32 NumPy 陣列中。
- 參數:
- 環境定義
list[str]– 要嵌入的文字批次。 - is_query
bool– 是否內嵌批次以進行查詢階段擷取。
- 環境定義
- 傳回:使用
dtype=float32形成(len(texts), dim)的 2D 陣列。 - 傳回類型: numpy.ndarray
method embed_async (抽象、非同步)
將一批文字嵌入到 2D float32 NumPy 陣列中。
- 參數:
- 環境定義
list[str]– 要嵌入的文字批次。 - is_query
bool– 是否內嵌批次以進行查詢階段擷取。
- 環境定義
- 傳回:使用
dtype=float32形成(len(texts), dim)的 2D 陣列。 - 傳回類型: numpy.ndarray
LiteLLM 轉接器
類別 oracleagentmemory.core.llms.Llm
基本:ILlm
轉接器運用 litellm 產生交談完成。
建立由 LiteLLM 支援的 LLM 轉接器。
- 參數:
- model
str– 將模型識別碼以model=...傳遞至litellm.completion。 - **default_kwargs ( 任一 ) – 每個呼叫的預設關鍵字引數轉送至 LiteLLM (例如
temperature=0.2、max_tokens=256)。
- model
方法 generate
產生回應。
- 參數:
- 提示
str | Sequence[dict[str, str]]– 提示字串或交談訊息。字串會被視為單一使用者訊息。 - response_json_schema
dict[str, Any] | None– 描述預期回應格式的選擇性 JSON 綱要。如果提供,此方法會透過 OpenAI 相容的response_format使用提供者原生結構化輸出機制。 - **kwargs ( 任一 ) – 已將其他呼叫參數轉送至 LiteLLM。
- 提示
- 傳回:標準化 LLM 輸出。
- 傳回類型:LlmResponse
方法 generate_async (非同步)
使用 LiteLLM 以非同步方式產生回應。
- 參數:
- 提示
str | Sequence[dict[str, str]]– 提示字串或交談訊息。字串會被視為單一使用者訊息。 - response_json_schema
dict[str, Any] | None– 描述預期回應格式的選擇性 JSON 綱要。如果提供,此方法會透過 OpenAI 相容的response_format使用提供者原生結構化輸出機制。 - **kwargs ( 任一 ) – 已將其他呼叫參數轉送至 LiteLLM。
- 提示
- 傳回:標準化 LLM 輸出。
- 傳回類型:LlmResponse
類別 oracleagentmemory.core.embedders.Embedder
基本:IEmbedder
LiteLLM 支持嵌入器
- 參數:
- 模型
str– LiteLLM 支援的模型 ID。 - normalize
bool– 是否要 L2 標準化 LiteLLM 傳回的內嵌。 - api_base
str | None– LiteLLM 目標自訂部署的選擇性基礎 URL。 - api_key
str | None– 聯絡提供者時,轉送至 LiteLLM 的選擇性 API 金鑰。 - embedding_kwargs
dict[str, Any] | None– 轉送至litellm.embedding()的其他關鍵字引數。 - query_prefix
str | None
- 模型
注意事項
只有在首次使用嵌入器時,才會匯入 LiteLLM 用戶端,對於不依賴 LiteLLM 的應用程式來說,保持選擇性的相依性成本較低。提供的連線詳細資訊 (例如 api_base 和 api_key) 會合併至 litellm.embedding 的呼叫。
方法 embed
使用 LiteLLM 嵌入一批文字。
- 參數:
- 環境定義
list[str]– 要嵌入的原始文字字串批次。 - is_query
bool
- 環境定義
- 傳回值:
- numpy.ndarray – 含有 LiteLLM 傳回之內嵌向量的二維
float32矩陣。 - is_query – 特定內嵌模型是否需要文字查詢。
- numpy.ndarray – 含有 LiteLLM 傳回之內嵌向量的二維
- 發出:RuntimeError – 如果 LiteLLM 回應有效負載未包含內嵌資料。
- 傳回類型: ndarray
範例
使用設定的 LiteLLM 內嵌器內嵌簡單的單文字:
vector = embedder.embed(["ping"])
vector.shape[0]
1
方法 embed_async (非同步)
使用 LiteLLM 嵌入一批文字。
- 參數:
- 環境定義
list[str]– 要內嵌的原始文字字串批次。 - is_query
bool– 特定內嵌模型可能需要文字是否為查詢。
- 環境定義
- 傳回:包含 LiteLLM 傳回之內嵌向量的二維
float32矩陣。 - 傳回類型: numpy.ndarray
- 發出:RuntimeError – 如果 LiteLLM 回應有效負載未包含內嵌資料。