LLMs und Einbettungen
Auf dieser Seite werden die abstrakten Schnittstellen vorgestellt, mit denen LLMs und Einbettungen in den Oracle Agent-Speicher integriert werden.
LLM-Schnittstelle
Klasse oracleagentmemory.apis.llms.ILlm
Basen: ABC
Abstrakte Schnittstelle für LLM-Aufruf.
Methode generate (Übung)
Generieren Sie eine Antwort von einem LLM synchron.
- Parameter:
- prompt
str | Sequence[dict[str, str]]: Entweder eine Nur-Text-Eingabeaufforderung (als einzelne Benutzernachricht behandelt) oder eine Chat-Liste mit Nachrichten, bei der jede Nachricht eine Zuordnung mit mindestens einem"content"-Schlüssel und optional einem"role"-Schlüssel ist. - response_json_schema
dict[str, Any] | None: Optionales JSON-Schema, das das erwartete Antwortformat beschreibt. - **kwargs (Beliebig) – Anbieterspezifische Schlüsselwortargumente, die an das zugrunde liegende Backend weitergeleitet werden.
- prompt
- Rücksendungen: Normalisierte LLM-Ausgabe.
- Rückgabetyp: LlmResponse
Methode generate_async (abstrakt, asynchron)
Generieren Sie asynchron eine Antwort aus einem LLM.
- Parameter:
- prompt
str | Sequence[dict[str, str]]: Entweder eine Nur-Text-Eingabeaufforderung (als einzelne Benutzernachricht behandelt) oder eine Chat-Liste mit Nachrichten, bei der jede Nachricht eine Zuordnung mit mindestens einem"content"-Schlüssel und optional einem"role"-Schlüssel ist. - response_json_schema
dict[str, Any] | None: Optionales JSON-Schema, das das erwartete Antwortformat beschreibt. - **kwargs (Beliebig) – Anbieterspezifische Schlüsselwortargumente, die an das zugrunde liegende Backend weitergeleitet werden.
- prompt
- Rückgaben: Normalisierte LLM-Ausgabe.
- Rückgabetyp: LlmResponse
LLM-Antworten
Klasse oracleagentmemory.apis.llms.LlmResponse
Basis: object
Eine kleine normalisierte Antwort, die von ILlm zurückgegeben wird.
- Parameter: Text
str
Text
Der primäre generierte Textinhalt.
- Typ: str
Einbettungsschnittstelle
Klasse oracleagentmemory.apis.IEmbedder
Basen: ABC
Abstrakte Schnittstelle für Texteinbettungen.
Methode embed (Übung)
Integrieren Sie eine Reihe von Texten in ein 2D float32 NumPy Array.
- Parameter:
- Texte
list[str]: Einzubettender Textbatch. - is_query
bool: Gibt an, ob der Batch für den Abfragezeitabruf eingebettet wird.
- Texte
- Rückgaben: Ein 2D-Array in Form von
(len(texts), dim)mitdtype=float32. - Rückgabetyp: numpy.ndarray
Methode embed_async (abstrakt, asynchron)
Integrieren Sie eine Reihe von Texten in ein 2D float32 NumPy Array.
- Parameter:
- Texte
list[str]: Einzubettender Textbatch. - is_query
bool: Gibt an, ob der Batch für den Abfragezeitabruf eingebettet wird.
- Texte
- Rückgaben: Ein 2D-Array in Form von
(len(texts), dim)mitdtype=float32. - Rückgabetyp: numpy.ndarray
LiteLLM-Adapter
Klasse oracleagentmemory.core.llms.Llm
Basis: ILlm
Adapter nutzt litellm, um Chat-Abschlüsse zu erstellen.
Erstellen Sie einen LiteLLM-gestützten LLM-Adapter.
- Parameter:
- model
str: Modell-ID, die alsmodel=...anlitellm.completionübergeben wird. - **default_kwargs (Beliebig) – Standardargumente für Schlüsselwörter, die für jeden Aufruf an LiteLLM weitergeleitet werden (z.B.
temperature=0.2,max_tokens=256).
- model
Methode generate
Generieren Sie eine Antwort.
- Parameter:
- prompt
str | Sequence[dict[str, str]]: Prompt-Zeichenfolge oder Chatnachrichten. Eine Zeichenfolge wird als eine einzelne Benutzernachricht behandelt. - response_json_schema
dict[str, Any] | None: Optionales JSON-Schema, das das erwartete Antwortformat beschreibt. Bei dieser Methode wird der provider-native strukturierte Ausgabemechanismus über OpenAI-kompatibleresponse_formatverwendet. - **kwargs (Beliebig) – Zusätzliche Aufrufparameter, die an LiteLLM weitergeleitet werden.
- prompt
- Rücksendungen: Normalisierte LLM-Ausgabe.
- Rückgabetyp: LlmResponse
Methode generate_async (asynchron)
Generieren Sie asynchron eine Antwort mit LiteLLM.
- Parameter:
- prompt
str | Sequence[dict[str, str]]: Prompt-Zeichenfolge oder Chatnachrichten. Eine Zeichenfolge wird als eine einzelne Benutzernachricht behandelt. - response_json_schema
dict[str, Any] | None: Optionales JSON-Schema, das das erwartete Antwortformat beschreibt. Bei dieser Methode wird der provider-native strukturierte Ausgabemechanismus über OpenAI-kompatibleresponse_formatverwendet. - **kwargs (Beliebig) – Zusätzliche Aufrufparameter, die an LiteLLM weitergeleitet werden.
- prompt
- Rücksendungen: Normalisierte LLM-Ausgabe.
- Rückgabetyp: LlmResponse
Klasse oracleagentmemory.core.embedders.Embedder
Basis: IEmbedder
LiteLLM-gestützter Embedder
- Parameter:
- model
str: Von LiteLLM unterstützte Modell-ID - normalisieren
bool– Gibt an, ob Einbettungen, die von LiteLLM zurückgegeben werden, L2-normalisiert werden sollen. - api_base
str | None– Optionale Basis-URL für LiteLLM, um benutzerdefinierte Deployments als Ziel festzulegen. - api_key
str | None: Optionaler API-Schlüssel, der an LiteLLM weitergeleitet wird, wenn der Provider kontaktiert wird. - embedding_kwargs
dict[str, Any] | None– Zusätzliche Schlüsselwortargumente, die anlitellm.embedding()weitergeleitet werden. - query_prefix
str | None
- model
Hinweise
Der LiteLLM-Client wird nur importiert, wenn der Embedder zum ersten Mal verwendet wird, wodurch die optionalen Abhängigkeitskosten für Anwendungen niedrig bleiben, die nicht auf LiteLLM angewiesen sind. Verbindungsdetails wie api_base und api_key werden bei Angabe in den Aufruf von litellm.embedding zusammengeführt.
Methode embed
Einbetten einer Reihe von Texten mit LiteLLM.
- Parameter:
- texts
list[str]: Batch mit einzubettenden Raw-Textzeichenfolgen. - is_query
bool
- texts
- Rückgabewerte:
- numpy.ndarray – Eine zweidimensionale
float32-Matrix mit den von LiteLLM zurückgegebenen Einbettungsvektoren. - is_query – Ob der Text eine Abfrage ist oder nicht, kann für bestimmte Einbettungsmodelle erforderlich sein.
- numpy.ndarray – Eine zweidimensionale
- Gelöst: RuntimeError – Wenn die LiteLLM-Antwort-Payload keine Einbettungsdaten enthält.
- Rückgabetyp: ndarray
Beispiele
Einfache Einbettung mit einem konfigurierten LiteLLM-Embedder:
vector = embedder.embed(["ping"])
vector.shape[0]
1
Methode embed_async (asynchron)
Einbetten einer Reihe von Texten mit LiteLLM.
- Parameter:
- texts
list[str]: Batch mit einzubettenden Raw-Textzeichenfolgen. - is_query
bool– Ob der Text eine Abfrage ist oder nicht, kann für bestimmte Einbettungsmodelle erforderlich sein.
- texts
- Rückgaben: Eine zweidimensionale
float32-Matrix mit den Einbettungsvektoren, die von LiteLLM zurückgegeben werden. - Rückgabetyp: numpy.ndarray
- Gelöst: RuntimeError – Wenn die LiteLLM-Antwort-Payload keine Einbettungsdaten enthält.