LLMs e Incorporadores
Esta página apresenta as interfaces abstratas usadas para conectar LLMs e incorporadores à Memória do Agente Oracle.
Interface LLM
classe oracleagentmemory.apis.llms.ILlm
Bases: ABC
Interface abstrata para chamada de LLM.
method generate (abstract)
Gerar uma resposta de um LLM de forma síncrona.
- Parâmetros:
- prompt
str | Sequence[dict[str, str]]– Um prompt de texto simples (tratado como uma mensagem de usuário único) ou uma lista de mensagens no estilo de chat, em que cada mensagem é um mapeamento com pelo menos uma chave"content"e, opcionalmente, uma"role". - response_json_schema
dict[str, Any] | None– Esquema JSON Opcional descrevendo o formato de resposta esperado. - **kwargs (Qualquer) – Argumentos de palavra-chave específicos do provedor encaminhados para o backend subjacente.
- prompt
- Devoluções: Saída normalizada do LLM.
- Tipo da devolução: LlmResponse
method generate_async (abstract, async)
Gere de forma assíncrona uma resposta de um LLM.
- Parâmetros:
- prompt
str | Sequence[dict[str, str]]– Um prompt de texto simples (tratado como uma mensagem de usuário único) ou uma lista de mensagens no estilo de chat, em que cada mensagem é um mapeamento com pelo menos uma chave"content"e, opcionalmente, uma"role". - response_json_schema
dict[str, Any] | None– Esquema JSON Opcional descrevendo o formato de resposta esperado. - **kwargs (Qualquer) – Argumentos de palavra-chave específicos do provedor encaminhados para o backend subjacente.
- prompt
- Devoluções: Saída normalizada do LLM.
- Tipo da devolução: LlmResponse
Respostas LLM
classe oracleagentmemory.apis.llms.LlmResponse
Bases: object
Uma pequena resposta normalizada retornada por ILlm.
- Parâmetros: texto
str
text
O conteúdo de texto gerado principal.
- Tipo: str
Interface do Incorporador
classe oracleagentmemory.apis.IEmbedder
Bases: ABC
Interface de resumo para incorporadores de texto.
method embed (abstract)
Incorpore um lote de textos em um array NumPy 2D float32.
- Parâmetros:
- textos
list[str]– Batch de textos a serem incorporados. - is_query
bool– Se o lote está sendo incorporado para recuperação de tempo de consulta.
- textos
- Retorna: Um array 2D com formato
(len(texts), dim)comdtype=float32. - Tipo da devolução: numpy.ndarray
method embed_async (abstract, async)
Incorpore um lote de textos em um array NumPy 2D float32.
- Parâmetros:
- textos
list[str]– Batch de textos a serem incorporados. - is_query
bool– Se o lote está sendo incorporado para recuperação de tempo de consulta.
- textos
- Retorna: Um array 2D com formato
(len(texts), dim)comdtype=float32. - Tipo da devolução: numpy.ndarray
Adaptadores LiteLLM
classe oracleagentmemory.core.llms.Llm
Bases: ILlm
Adaptador aproveitando litellm para produzir conclusões de chat.
Crie um adaptador LLM suportado pelo LiteLLM.
- Parâmetros:
- model
str– identificador de modelo passado comomodel=...paralitellm.completion. - **default_kwargs (Any) – Argumentos de palavra-chave padrão encaminhados para LiteLLM para cada chamada (por exemplo,
temperature=0.2,max_tokens=256).
- model
método generate
Gerar uma resposta.
- Parâmetros:
- prompt
str | Sequence[dict[str, str]]– String de prompt ou mensagens de chat. Uma string é tratada como uma mensagem de usuário único. - response_json_schema
dict[str, Any] | None– Esquema JSON Opcional descrevendo o formato de resposta esperado. Quando fornecido, este método usa o mecanismo de saída estruturada nativo do provedor viaresponse_formatcompatível com OpenAI. - **kwargs (Qualquer) – Parâmetros de chamada adicionais encaminhados para LiteLLM.
- prompt
- Devoluções: Saída normalizada do LLM.
- Tipo da devolução: LlmResponse
método generate_async (assíncrono)
Gerar uma resposta de forma assíncrona usando LiteLLM.
- Parâmetros:
- prompt
str | Sequence[dict[str, str]]– String de prompt ou mensagens de chat. Uma string é tratada como uma mensagem de usuário único. - response_json_schema
dict[str, Any] | None– Esquema JSON Opcional descrevendo o formato de resposta esperado. Quando fornecido, este método usa o mecanismo de saída estruturada nativo do provedor viaresponse_formatcompatível com OpenAI. - **kwargs (Qualquer) – Parâmetros de chamada adicionais encaminhados para LiteLLM.
- prompt
- Devoluções: Saída normalizada do LLM.
- Tipo da devolução: LlmResponse
classe oracleagentmemory.core.embedders.Embedder
Bases: IEmbedder
LiteLLM-backedder
- Parâmetros:
- modelo
str– Identificador do modelo suportado pelo LiteLLM. - normalizar
bool– Se deseja normalizar L2 as incorporações retornadas por LiteLLM. - api_base
str | None– URL base opcional do LiteLLM para direcionar implantações personalizadas. - api_key
str | None– Chave de API opcional encaminhada para LiteLLM ao entrar em contato com o provedor. - embedding_kwargs
dict[str, Any] | None– Argumentos de palavra-chave adicionais encaminhados paralitellm.embedding(). - query_prefix
str | None
- modelo
Observações
O cliente LiteLLM é importado somente quando o incorporador é usado pela primeira vez, mantendo os custos de dependência opcionais baixos para aplicativos que não dependem do LiteLLM. Os detalhes da conexão, como api_base e api_key, são mesclados na chamada para litellm.embedding quando fornecidos.
método embed
Incorpore um lote de textos usando LiteLLM.
- Parâmetros:
- texts
list[str]– Batch de strings de texto bruto a serem incorporadas. - is_query
bool
- texts
- Retorna:
- numpy.ndarray – Uma matriz
float32bidimensional com os vetores de incorporação retornados por LiteLLM. - is_query – Se o texto é uma consulta ou não, pode ser necessário para modelos de incorporação específicos.
- numpy.ndarray – Uma matriz
- Gera: RuntimeError – Se o payload de resposta LiteLLM não incluir dados de incorporação.
- Tipo de retorno: matriz
Exemplos de
Incorporação simples de texto único com um incorporador LiteLLM configurado:
vector = embedder.embed(["ping"])
vector.shape[0]
1
método embed_async (assíncrono)
Incorpore um lote de textos usando LiteLLM.
- Parâmetros:
- texts
list[str]– Batch de strings de texto bruto a serem incorporadas. - is_query
bool– Se o texto é uma consulta ou não, pode ser necessário para modelos de incorporação específicos.
- texts
- Retorna: Uma matriz
float32bidimensional com os vetores de incorporação retornados pelo LiteLLM. - Tipo da devolução: numpy.ndarray
- Gera: RuntimeError – Se o payload de resposta LiteLLM não incluir dados de incorporação.