LLM 和嵌入器

此頁面顯示將 LLM 和內嵌程式插入「Oracle 代理程式記憶體」的抽象介面。

LLM 介面

類別 oracleagentmemory.apis.llms.ILlm

基本:ABC

LLM 呼叫的抽象介面。

方法 generate (摘要)

同步從 LLM 產生回應。

method generate_async (抽象、非同步)

以非同步方式從 LLM 產生回應。

LLM 回應

類別 oracleagentmemory.apis.llms.LlmResponse

基礎:object

ILlm 傳回的小型標準化回應。

文字

主要產生的文字內容。

內嵌介面

類別 oracleagentmemory.apis.IEmbedder

基本:ABC

文字內嵌器的抽象介面 。

方法 embed (摘要)

將一批文字嵌入到 2D float32 NumPy 陣列中。

method embed_async (抽象、非同步)

將一批文字嵌入到 2D float32 NumPy 陣列中。

LiteLLM 轉接器

類別 oracleagentmemory.core.llms.LlmApiType

基礎:strEnum

支援適用於 Llm 的 OpenAI 相容 API 系列。

CHAT_COMPLETIONS *= 'CHAT_COMPLETIONS'*

回應 *= 「回應」*

類別 oracleagentmemory.core.llms.Llm

基本:ILlm

用於產生模型回應的轉接器。

建立 LLM 轉接器。

範例

OCI Generative AI 模型使用 LiteLLM 的 "oci/..." 模型識別碼。一般設定是透過 LiteLLM 特定關鍵字引數,從標準 OCI 組態檔傳送 OCI API 金鑰驗證明細。此套裝程式未安裝 OCI Python SDK;已經相依於它的應用程式可以交互傳送 oci_signer 物件。

import configparser
from pathlib import Path
parser = configparser.RawConfigParser()
parser.read(Path("~/.oci/config").expanduser())
cfg = parser["DEFAULT"]
key_file = Path(cfg["key_file"]).expanduser()
oci_llm = Llm(
    model="oci/openai.gpt-oss-120b",
    oci_compartment_id="ocid1.compartment.oc1..example",
    oci_region=cfg.get("region", "us-chicago-1"),
    oci_user=cfg["user"],
    oci_fingerprint=cfg["fingerprint"],
    oci_tenancy=cfg["tenancy"],
    oci_key_file=str(key_file),
)
oci_llm.generate("Reply with OK.")

OpenAI 代管的模型使用 LiteLLM 模型識別碼,例如 "openai/gpt-5.1" 和 OpenAI API 金鑰。「交談完成」是預設的 API 系列。

openai_llm = Llm(
    model="openai/gpt-5.1",
    api_key="sk-example",
    temperature=0,
    max_tokens=128,
)
openai_llm.model
'openai/gpt-5.1'
openai_llm.generate("Reply with OK.")

當應透過 OpenAI 回應 API 而非對談完成呼叫目標模型時,請使用 api_type=LlmApiType.RESPONSES

responses_llm = Llm(
    model="openai/gpt-5.4",
    api_key="sk-example",
    api_type=LlmApiType.RESPONSES,
    reasoning_effort="high",
    stream=True,
)
responses_llm.model
'openai/gpt-5.4'

自行代管的 OpenAI 相容伺服器 (包括 vLLM) 會以 "openai/..." 模型 ID 加上伺服器的 /v1 基本 URL 來呼叫。當端點未強制認證時,傳送名義 api_key,例如 "none"

vllm_llm = Llm(
    model="openai/openai/gpt-oss-120b",
    api_base="http://localhost:8000/v1",
    api_key="none",
    stream=True,
)
vllm_llm.model
'openai/openai/gpt-oss-120b'
vllm_llm.generate("Reply with OK.")

方法 generate

產生回應。

方法 generate_async (非同步)

非同步產生回應。

類別 oracleagentmemory.core.embedders.Embedder

基本:IEmbedder

提供者支持的嵌入器。

建立提供者支持的嵌入器。

範例

OCI Generative AI 嵌入模型使用 "oci/..." 模型識別碼。一般設定是透過 LiteLLM 特定關鍵字引數,從標準 OCI 組態檔傳送 OCI API 金鑰驗證明細。此套裝程式未安裝 OCI Python SDK;已經相依於它的應用程式可以交互傳送 oci_signer 物件。

import configparser
from pathlib import Path
parser = configparser.RawConfigParser()
parser.read(Path("~/.oci/config").expanduser())
cfg = parser["DEFAULT"]
key_file = Path(cfg["key_file"]).expanduser()
oci_embedder = Embedder(
    model="oci/cohere.embed-english-v3.0",
    oci_compartment_id="ocid1.compartment.oc1..example",
    oci_region=cfg.get("region", "us-chicago-1"),
    oci_user=cfg["user"],
    oci_fingerprint=cfg["fingerprint"],
    oci_tenancy=cfg["tenancy"],
    oci_key_file=str(key_file),
)
oci_embedder.embed(["hello world"])

OpenAI 代管的內嵌模型使用識別碼,例如 "openai/text-embedding-3-small" 與 OpenAI API 金鑰。

openai_embedder = Embedder(
    model="openai/text-embedding-3-small",
    api_key="sk-example",
    truncate_prompt_tokens=8192,
)
openai_embedder.model
'openai/text-embedding-3-small'
openai_embedder.embed(["hello world"])

自行代管的 OpenAI 相容內嵌伺服器 (包括 vLLM),請使用 "hosted_vllm/..." 提供者前置碼搭配伺服器的 /v1 基本 URL。

vllm_embedder = Embedder(
    model="hosted_vllm/sentence-transformers/all-MiniLM-L6-v2",
    api_base="http://localhost:8000/v1",
)
vllm_embedder.model
'hosted_vllm/sentence-transformers/all-MiniLM-L6-v2'
vllm_embedder.embed(["hello world"])

方法 embed

使用已設定的提供者內嵌一批文字。

方法 embed_async (非同步)

使用設定的提供者以非同步方式內嵌一批文字。