LLM e integraciones

Esta página presenta las interfaces abstractas utilizadas para conectar LLM y embebedores a la memoria del agente de Oracle.

Interfaz de LLM

clase oracleagentmemory.apis.llms.ILlm

Bases: ABC

Interfaz abstracta para la llamada de LLM.

method generate (resumen)

Generar una respuesta de un LLM de forma síncrona.

method generate_async (abstract, async)

Generar una respuesta de forma asíncrona desde un LLM.

Respuestas de LLM

clase oracleagentmemory.apis.llms.LlmResponse

Bases: object

Una pequeña respuesta normalizada devuelta por ILlm.

texto

Contenido de texto generado principal.

Interfaz de incrustación

clase oracleagentmemory.apis.IEmbedder

Bases: ABC

Interfaz abstracta para incrustadores de texto.

method embed (resumen)

Embeber un lote de textos en una matriz 2D float32 NumPy.

method embed_async (abstract, async)

Embeber un lote de textos en una matriz 2D float32 NumPy.

Adaptadores LiteLLM

clase oracleagentmemory.core.llms.LlmApiType

Bases: str, Enum

Familias de API compatibles con OpenAI admitidas para Llm.

CHAT_COMPLETIONS *= 'compleciones_chat'*

RESPUESTAS *= 'respuestas'*

clase oracleagentmemory.core.llms.Llm

Bases: ILlm

Adaptador para generar respuestas de modelo.

Cree un adaptador de LLM.

Ejemplos

Los modelos de OCI Generative AI utilizan los identificadores de modelo "oci/..." de LiteLLM. Una configuración común es transferir los detalles de autenticación de clave de API de OCI del archivo de configuración de OCI estándar a través de argumentos de palabra clave específicos de LiteLLM. El SDK de Python de OCI no está instalado en este paquete; las aplicaciones que ya dependen de él también pueden transferir un objeto 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.")

Los modelos alojados en OpenAI utilizan identificadores de modelo LiteLLM como "openai/gpt-5.1" y una clave de API de OpenAI. Chat Completions es la familia de API por defecto.

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.")

Utilice api_type=LlmApiType.RESPONSES cuando se deba llamar al modelo de destino a través de la API de respuestas de OpenAI en lugar de las finalizaciones de chat.

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'

Los servidores compatibles con OpenAI autoalojados, incluida la vLLM, se llaman con un identificador de modelo "openai/..." más la URL base /v1 del servidor. Transfiera un valor api_key nominal, como "none", cuando el punto final no aplique la autenticación.

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.")

método generate

Generación de una respuesta.

method generate_async (async)

Generar una respuesta de forma asíncrona.

clase oracleagentmemory.core.embedders.Embedder

Bases: IEmbedder

Embebido respaldado por el profesional asistencial.

Cree un embebido respaldado por un proveedor.

Ejemplos

Los modelos de integración de OCI Generative AI utilizan identificadores de modelo "oci/...". Una configuración común es transferir los detalles de autenticación de clave de API de OCI del archivo de configuración de OCI estándar a través de argumentos de palabra clave específicos de LiteLLM. El SDK de Python de OCI no está instalado en este paquete; las aplicaciones que ya dependen de él también pueden transferir un objeto 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"])

Los modelos de incrustación alojados en OpenAI utilizan identificadores como "openai/text-embedding-3-small" con una clave de API de OpenAI.

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"])

Los servidores embebidos compatibles con OpenAI autoalojados, incluida vLLM, utilizan el prefijo de proveedor "hosted_vllm/..." con la URL base /v1 del servidor.

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"])

método embed

Incruste un lote de textos con el profesional asistencial configurado.

method embed_async (async)

Embeber de forma asíncrona un lote de textos mediante el proveedor configurado.