GML et intégrateurs
Cette page présente les interfaces abstraites utilisées pour connecter les LLM et les intégrateurs à la mémoire d'Oracle Agent.
Interface LLM
classe oracleagentmemory.apis.llms.ILlm
Bases : ABC
Interface abstraite pour l'appel du GML.
méthode generate (résumé)
Générer une réponse à partir d'un GML de manière synchrone.
- Paramètres :
- prompt
str | Sequence[dict[str, str]]– Invite de texte brut (traité en tant que message d'utilisateur unique) ou liste de messages de type clavardage, chaque message étant un mappage avec au moins une clé"content"et éventuellement une clé"role". - response_json_schema
dict[str, Any] | None– Schéma JSON facultatif décrivant le format de réponse attendu. - **kwargs (Au choix) – Arguments de mot clé propres au fournisseur transmis au serveur dorsal sous-jacent.
- prompt
- Retours : Sortie du LLM normalisé.
- Type de retour : LlmResponse
méthode generate_async (abstrait, asynchrone)
Générer une réponse de façon asynchrone à partir d'un GML.
- Paramètres :
- prompt
str | Sequence[dict[str, str]]– Invite de texte brut (traité en tant que message d'utilisateur unique) ou liste de messages de type clavardage, chaque message étant un mappage avec au moins une clé"content"et éventuellement une clé"role". - response_json_schema
dict[str, Any] | None– Schéma JSON facultatif décrivant le format de réponse attendu. - **kwargs (Au choix) – Arguments de mot clé propres au fournisseur transmis au serveur dorsal sous-jacent.
- prompt
- Retours : Sortie du LLM normalisé.
- Type de retour : LlmResponse
Réponses pour le GML
classe oracleagentmemory.apis.llms.LlmResponse
Bases : object
Une petite réponse normalisée retournée par ILlm.
- Paramètres : texte
str
text
Contenu textuel généré principal.
- Type : str
Interface d'intégration
classe oracleagentmemory.apis.IEmbedder
Bases : ABC
Interface abstraite pour les intégrateurs de texte.
méthode embed (résumé)
Intégrez un lot de textes dans un tableau 2D float32 NumPy.
- Paramètres :
- textes
list[str]– Lot de textes à intégrer. - is_query
bool– Indique si le lot est intégré pour l'extraction au moment de l'interrogation.
- textes
- Retours : Un tableau 2D en forme de
(len(texts), dim)avecdtype=float32. - Type de retour : numpy.ndarray
méthode embed_async (abstrait, asynchrone)
Intégrez un lot de textes dans un tableau 2D float32 NumPy.
- Paramètres :
- textes
list[str]– Lot de textes à intégrer. - is_query
bool– Indique si le lot est intégré pour l'extraction au moment de l'interrogation.
- textes
- Retours : Un tableau 2D en forme de
(len(texts), dim)avecdtype=float32. - Type de retour : numpy.ndarray
Adaptateurs LiteLLM
classe oracleagentmemory.core.llms.Llm
Bases : ILlm
Adaptateur tirant parti de litellm pour produire des achèvements de clavardage.
Créez un adaptateur LLM soutenu par LiteLLM.
- Paramètres :
- modèle
str– Identificateur de modèle transmis en tant quemodel=...àlitellm.completion. - **default_kwargs (Au choix) - Arguments de mot clé par défaut transmis à LiteLLM pour chaque appel (par exemple
temperature=0.2,max_tokens=256).
- modèle
méthode generate
Générer une réponse.
- Paramètres :
- prompt
str | Sequence[dict[str, str]]– Messages de chaîne d'invite ou de clavardage. Une chaîne est traitée comme un message utilisateur unique. - response_json_schema
dict[str, Any] | None– Schéma JSON facultatif décrivant le format de réponse attendu. Lorsqu'elle est fournie, cette méthode utilise le mécanisme de sortie structurée natif du fournisseur viaresponse_formatcompatible OpenAI. - **kwargs (Au choix) - Paramètres d'appel supplémentaires transmis à LiteLLM.
- prompt
- Retours : Sortie du LLM normalisé.
- Type de retour : LlmResponse
méthode generate_async (asynchrone)
Générer une réponse de manière asynchrone à l'aide de LiteLLM.
- Paramètres :
- prompt
str | Sequence[dict[str, str]]– Messages de chaîne d'invite ou de clavardage. Une chaîne est traitée comme un message utilisateur unique. - response_json_schema
dict[str, Any] | None– Schéma JSON facultatif décrivant le format de réponse attendu. Lorsqu'elle est fournie, cette méthode utilise le mécanisme de sortie structurée natif du fournisseur viaresponse_formatcompatible OpenAI. - **kwargs (Au choix) - Paramètres d'appel supplémentaires transmis à LiteLLM.
- prompt
- Retours : Sortie du LLM normalisé.
- Type de retour : LlmResponse
classe oracleagentmemory.core.embedders.Embedder
Bases : IEmbedder
Intégrateur soutenu par LiteLLM
- Paramètres :
- modèle
str– Identificateur de modèle pris en charge par LiteLLM. - normaliser
bool– Indique si les intégrations retournées par LiteLLM doivent être normalisées à L2. - api_base
str | None– URL de base facultative pour que LiteLLM cible les déploiements personnalisés. - api_key
str | None– Clé d'API facultative transmise à LiteLLM lors de la communication avec le fournisseur. - embedding_kwargs
dict[str, Any] | None– Arguments de mot clé supplémentaires transmis àlitellm.embedding(). - query_prefix
str | None
- modèle
Notes
Le client LiteLLM n'est importé que lorsque l'intégrateur est utilisé pour la première fois, ce qui réduit les coûts de dépendance facultatifs pour les applications qui ne comptent pas sur LiteLLM. Les détails de connexion tels que api_base et api_key sont fusionnés dans l'appel à litellm.embedding lorsqu'ils sont fournis.
méthode embed
Intégrez un lot de textes à l'aide de LiteLLM.
- Paramètres :
- textes
list[str]– Lot de chaînes de texte brut à intégrer. - is_query
bool
- textes
- Retourne :
- numpy.ndarray – Matrice
float32bidimensionnelle avec les vecteurs d'intégration retournés par LiteLLM. - is_query – Que le texte soit une interrogation ou non, peut être requis pour des modèles d'intégration spécifiques.
- numpy.ndarray – Matrice
- Lances : RuntimeError - Si les données utiles de réponse LiteLLM n'incluent pas de données d'intégration.
- Type de retour : tableau
Exemples
Intégration simple en texte unique avec un intégrateur LiteLLM configuré :
vector = embedder.embed(["ping"])
vector.shape[0]
1
méthode embed_async (asynchrone)
Intégrez un lot de textes à l'aide de LiteLLM.
- Paramètres :
- textes
list[str]– Lot de chaînes de texte brut à intégrer. - is_query
bool– Que le texte soit une interrogation ou non, peut être requis pour des modèles d'intégration spécifiques.
- textes
- Retours : Matrice
float32bidimensionnelle avec les vecteurs d'intégration retournés par LiteLLM. - Type de retour : numpy.ndarray
- Lances : RuntimeError - Si les données utiles de réponse LiteLLM n'incluent pas de données d'intégration.