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ücksendungen: 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
Eigenschaft embedding_dimension
- Rückgabetyp: int
- Beschreibung: Geben Sie die Größe der Einbettungen zurück, die von diesem Einbettungsmodul erzeugt werden.
Unterklassen können diese Eigenschaft außer Kraft setzen, wenn die Einbettungsbreite aus Konfigurations- oder Providermetadaten bekannt ist. Die Standardimplementierung prüft einmal embed() und cacht die Ergebnisgröße.
- Rückgaben: Positive Anzahl Gleitkommawerte in jedem Einbettungsvektor.
- Rückgabetyp: int
Eigenschaft max_input_tokens
- Rückgabetyp: int
- Beschreibung: Gibt die maximal unterstützten Eingabetoken zurück.
Unterklassen können diese Eigenschaft überschreiben, wenn das Eingabebudget des Modells aus Konfigurations- oder Providermetadaten bekannt ist. Die Standardimplementierung validiert eine Stichprobengröße einmal auf geschätzte 512-Eingabetoken und cacht 512 als konservatives Fallback. Ein Modell-Tokenizer wird nicht lokal ausgeführt. Daher sollten Aufrufer max_input_tokens manuell festlegen, wenn das tatsächliche Eingabebudget des Modells bekannt ist.
- Rückgaben: Die maximale Anzahl positiver Eingabe-Token für eine Text-Payload.
- Rückgabetyp: int
LiteLLM-Adapter
Klasse oracleagentmemory.core.llms.LlmApiType
Basis: str, Enum
Unterstützte OpenAI-kompatible API-Familien für Llm.
CHAT_COMPLETIONS = 'CHAT_COMPLETIONS'
RESPONSES = 'RESPONSES'
Klasse oracleagentmemory.core.llms.Llm
Basis: ILlm
Adapter zum Generieren von Modellantworten.
LLM-Adapter erstellen
- Parameter:
- model
str: Modell-ID, die an den zugrunde liegenden Modellprovider gesendet wird. - api_base
str | None– Optionale Basis-URL für einen OpenAI-kompatiblen Endpunkt. - api_key
str | None: Optionaler API-Schlüssel, der beim Kontaktieren des Providers verwendet wird. - api_type
LlmApiType: Aufzurufende API-Familie. Verwenden SieLlmApiType.CHAT_COMPLETIONSfür Chatabschlüsse oderLlmApiType.RESPONSESfür die Responses-API. Standard istLlmApiType.CHAT_COMPLETIONS. - stream
bool: Gibt an, ob eine Streamingausgabe angefordert werden soll. Der Stream wird intern verbraucht und als einzelneLlmResponsezurückgegeben. - Temperatur
float | None– Optionale Abtasttemperatur. - max_tokens
int | None– Optionaler Ausgabetokengrenzwert. Mitapi_type=LlmApiType.CHAT_COMPLETIONSwird dies alsmax_tokensgesendet. Dies wird von der Modellfamilie"oci/openai.gpt-5"nicht unterstützt. - reasoning_effort
str | None– Optionaler Begründungsaufwand. Mitapi_type=LlmApiType.CHAT_COMPLETIONSwird dies alsreasoning_effortgesendet. Mitapi_type=LlmApiType.RESPONSESwird dieser inreasoning={"effort": ...}konvertiert. - **default_kwargs (Any) – Erweiterte Standard-Schlüsselwortargumente, die für jeden Aufruf angewendet werden. Bevorzugt die oben angegebenen expliziten Parameter für allgemeine Verbindungs- und Generierungseinstellungen. Wenn dieselbe Einstellung sowohl explizit als auch in
default_kwargsangegeben wird, hat der explizite Parameter Vorrang.
- model
Beispiele
OCI Generative AI-Modelle verwenden die "oci/..."-Modell-IDs von LiteLLM. Ein gängiges Setup besteht darin, OCI-API-Schlüsselauthentifizierungsdetails aus der OCI-Standardkonfigurationsdatei über LiteLLM-spezifische Schlüsselwortargumente zu übergeben. Das OCI-Python-SDK wird von diesem Package nicht installiert. Anwendungen, die bereits davon abhängig sind, können alternativ ein oci_signer-Objekt übergeben.
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-gehostete Modelle verwenden LiteLLM-Modell-IDs wie "openai/gpt-5.1" und einen OpenAI-API-Schlüssel. Chat-Abschlüsse sind die Standard-API-Familie.
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.")
Verwenden Sie api_type=LlmApiType.RESPONSES, wenn das Zielmodell über die OpenAI-Antworten-API anstelle von Chatabschlüssen aufgerufen werden soll.
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'
Selbst gehostete OpenAI-kompatible Server, einschließlich vLLM, werden mit einer Modell-ID "openai/..." plus der Basis-URL /v1 des Servers aufgerufen. Übergeben Sie eine nominale api_key, wie "none", wenn der Endpunkt die Authentifizierung nicht erzwingt.
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.")
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 mit dieser Anforderung gesendet werden. Übergeben Sie
api_type=LlmApiType.RESPONSES, um diesen Aufruf über die Responses-API weiterzuleiten.
- prompt
- Rücksendungen: Normalisierte LLM-Ausgabe.
- Rückgabetyp: LlmResponse
Methode generate_async (asynchron)
Antwort asynchron generieren.
- 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 mit dieser Anforderung gesendet werden. Übergeben Sie
api_type=LlmApiType.RESPONSES, um diesen Aufruf über die Responses-API weiterzuleiten.
- prompt
- Rücksendungen: Normalisierte LLM-Ausgabe.
- Rückgabetyp: LlmResponse
Klasse oracleagentmemory.core.embedders.Embedder
Basis: IEmbedder
Provider-backed-Einbettung.
Providerbacked Embedder erstellen
- Parameter:
- model
str: Modell-ID, die an den zugrunde liegenden Einbettungsprovider gesendet wird. - api_base
str | None– Optionale Basis-URL für einen OpenAI-kompatiblen Endpunkt. - api_key
str | None: Optionaler API-Schlüssel, der beim Kontaktieren des Providers verwendet wird. - embedding_dimension
int | None– Optionale Einbettungsvektordimension. Wenn angegeben, können DB-Backed-Clients Vektorgeschemas erstellen oder validieren, ohne eine Provider-Probe zu senden. Wennembedding_dimensionausgelassen wird, wird die Dimension mit einer kleinen Fallback-Sonde faul inferenziert. - max_input_tokens
int– Maximale Anzahl Eingabe-Token, die vom Einbettungsmodell unterstützt werden. Wenn keine Angabe gemacht wird, validiert die Eigenschaftmax_input_tokenseine Provider-Sondierung auf geschätzte512-Eingabetoken und cacht512als konservatives Fallback. Ein Modell-Tokenizer wird nicht lokal ausgeführt. Legen Sie dahermax_input_tokensmanuell basierend auf dem dokumentierten Eingabebudget des Modells fest. - normalisieren
bool– Gibt an, ob Einbettungen, die vom Provider zurückgegeben werden, mit L2 normalisiert werden sollen. - query_prefix
str | None– Optionales Präfix, das nur beim Einbetten von Abfragetexten hinzugefügt wird. - document_prefix
str | None– Optionales Präfix, das nur beim Einbetten von Nicht-Abfragetexten hinzugefügt wird. - truncate_prompt_tokens
int | None– Optionales Eingabetokenlimit, das an Provider weitergeleitet wird, die das Abschneiden von Eingabeaufforderungen mit langer Einbettung unterstützen. - **default_kwargs (Beliebig) – Erweiterte Standard-Schlüsselwortargumente, die für jeden Einbettungsaufruf angewendet werden. Bevorzugt die oben angegebenen expliziten Parameter für allgemeine Einstellungen.
- model
Beispiele
OCI Generative AI-Einbettungsmodelle verwenden "oci/..."-Modell-IDs. Ein gängiges Setup besteht darin, OCI-API-Schlüsselauthentifizierungsdetails aus der OCI-Standardkonfigurationsdatei über LiteLLM-spezifische Schlüsselwortargumente zu übergeben. Das OCI-Python-SDK wird von diesem Package nicht installiert. Anwendungen, die bereits davon abhängig sind, können alternativ ein oci_signer-Objekt übergeben.
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-gehostete Einbettungsmodelle verwenden IDs wie "openai/text-embedding-3-small" mit einem OpenAI-API-Schlüssel.
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"])
Selbst gehostete OpenAI-kompatible Einbettungsserver, einschließlich vLLM, verwenden das Providerpräfix "hosted_vllm/..." mit der Basis-URL /v1 des Servers.
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"])
Methode embed
Einbetten eines Textbatches mit dem konfigurierten Provider.
- Parameter:
- texts
list[str]: Batch mit einzubettenden Raw-Textzeichenfolgen. - is_query
bool– Gibt an, ob der Text eine Abfrage ist. Abfragetexte erhaltenquery_prefixund Nicht-Abfragetexte erhaltendocument_prefix, wenn sie konfiguriert sind.
- texts
- Rückgaben: Eine zweidimensionale
float32-Matrix mit den Einbettungsvektoren, die vom Provider zurückgegeben werden. - Rückgabetyp: numpy.ndarray
- Gelöst: RuntimeError – Wenn die Providerantwort-Payload keine Einbettungsdaten enthält.
Methode embed_async (asynchron)
Einbetten eines Textbatches mit dem konfigurierten Provider asynchron.
- Parameter:
- texts
list[str]: Batch mit einzubettenden Raw-Textzeichenfolgen. - is_query
bool– Gibt an, ob der Text eine Abfrage ist. Abfragetexte erhaltenquery_prefixund Nicht-Abfragetexte erhaltendocument_prefix, wenn sie konfiguriert sind.
- texts
- Rückgaben: Eine zweidimensionale
float32-Matrix mit den Einbettungsvektoren, die vom Provider zurückgegeben werden. - Rückgabetyp: numpy.ndarray
- Gelöst: RuntimeError – Wenn die Providerantwort-Payload keine Einbettungsdaten enthält.
Eigenschaft embedding_dimension
- Rückgabetyp: int
-
Beschreibung: Gibt die konfigurierte oder inferenzierte Einbettungsdimension zurück.
- Rückgaben: Positive Anzahl von Dimensionen in jedem Einbettungsvektor.
- Rückgabetyp: int
Hinweise
Ein vom Konstruktor angegebener Wert wird zurückgegeben, ohne den Provider zu kontaktieren. Andernfalls prüft die Eigenschaft einmal und speichert das Ergebnis im Cache.
Eigenschaft max_input_tokens
- Rückgabetyp: int
-
Beschreibung: Gibt den konfigurierten oder inferenzierten Einbettungsgrenzwert für das Eingabe-Token zurück.
- Rückgaben: Die maximale Anzahl positiver Eingabe-Token für eine Text-Payload.
- Rückgabetyp: int
Hinweise
Ein vom Konstruktor angegebener Wert wird zurückgegeben, ohne den Provider zu kontaktieren. Andernfalls validiert die Eigenschaft eine Provider-Probe, deren Größe auf geschätzte 512-Eingabetoken geschätzt wird, und cacht 512 als konservatives Fallback. Ein Modell-Tokenizer wird nicht lokal ausgeführt. Legen Sie daher max_input_tokens manuell aus dem dokumentierten Eingabebudget des Modells fest, wenn die Genauigkeit wichtig ist.
Oracle DB-Einbettungen
Klasse oracleagentmemory.core.embedders.OracleDBEmbedder
Basis: IEmbedder
Text einbetten, indem Sie Oracle Database-Einbettungs-SQL aufrufen.
Durch diese Einbettung bleibt der vorhandene Einbettungsvertrag des Packages intakt, während die Einbettungsgenerierung über SQL an die Datenbank delegiert wird. Die direkte Einbettung bevorzugt VECTOR_EMBEDDING für datenbankresidente Modellkonfigurationen und fällt zurück auf DBMS_VECTOR_CHAIN.UTL_TO_EMBEDDING, wenn die Vectorizer-Konfiguration die Oberfläche des JSON-Providerparameters benötigt.
Erstellen Sie einen Einbettungsknoten, der von der SQL-Ausführung von Oracle Database unterstützt wird.
- Parameter:
- Verbindung
object: Oracle DB-Verbindung oder poolähnliches Objekt mit einer aufrufbarencursor()- oderacquire()-Methode. - model
str– Nicht mit Anführungszeichen versehene Oracle SQL-ID oder schemaqualifizierte ID für das datenbankinterne Einbettungsmodell. Das verbundene Schema muss diesen Modellnamen in SQL auflösen können. - input_name
str: Modell-Eingabename, der vonVECTOR_EMBEDDINGverwendet wird, wenn die Vectorizer-Konfiguration auf ein datenbankresidentes Modell ausgerichtet ist. Der Standardwert ist"DATA", der Eingabename, der von den Beispielen und Metadaten des Einbettungsmodells DBMS_VECTOR ONNX von Oracle verwendet wird. Übergeben Sie den tatsächlichen Modelleingabenamen hier, wenn das importierte Modell ein anderes Attribut verwendet. - embedding_dimension
int | None– Optionale Einbettungsvektordimension. Wenn angegeben, können DB-Backed-Clients Vektorgeschemas erstellen oder validieren, ohne eine Dimension-Probe-Abfrage zu senden. Wenn sie weggelassen wird, wird die Dimension mit einer Anforderung zur Einbettung einer Sonde träge abgeleitet. - max_input_tokens
int: Maximales Eingabe-Token-Budget, das vom Standardspeicher-Chunker verwendet wird. Wenn keine Angabe gemacht wird, validiert die Eigenschaftmax_input_tokenseine Datenbankmodell-Sondierung in der Größe auf geschätzte512-Eingabetoken und cacht512als konservatives Fallback. Ein Modell-Tokenizer wird nicht lokal ausgeführt. Legen Sie dahermax_input_tokensmanuell basierend auf dem dokumentierten Eingabebudget des Modells fest. - normalisieren
bool– Gibt an, ob Einbettungen nach dem Abrufen aus der Datenbank L2-normalisiert werden sollen. - query_prefix
str | None– Optionales Präfix, das nur beim Einbetten von Abfragetexten hinzugefügt wird. - batch_size
int: Maximale Anzahl von Texten, die in einem SQL-Einbettungs-Roundtrip gruppiert sind.
- Verbindung
Beispiele
Verwenden Sie einen Oracle-Verbindungspool und ein DB-residentes Einbettungsmodell:
import oracledb
pool = oracledb.create_pool(
user="scott",
password="tiger",
dsn="dbhost.example.com/orclpdb",
)
embedder = OracleDBEmbedder(
connection=pool,
model="DOC_MODEL",
embedding_dimension=768,
)
embedder.embed(["hello world"])
Schema-qualifizierte Modellnamen können verwendet werden, wenn das verbundene Schema über Berechtigungen für ein Modell verfügt, das einem anderen Schema gehört:
shared_embedder = OracleDBEmbedder(
connection=pool,
model="MY_OTHER_SCHEMA.MY_ONNX_MODEL",
embedding_dimension=768,
)
shared_embedder.embed(["hello world"])
Abfragespezifische Präfixe können ohne Änderung der Speicher-API konfiguriert werden:
embedder = OracleDBEmbedder(
connection=pool,
model="DOC_MODEL",
query_prefix="search_document: ",
)
embedder.embed(["pizza"], is_query=True)
Methode embed
Integrieren Sie einen Textbatch, indem Sie SQL in Oracle Database ausführen.
- Parameter:
- texts
list[str]: Batch mit einzubettenden Raw-Textzeichenfolgen. - is_query
bool– Gibt an, ob der Text eine Abfrage ist. Abfragetexte erhaltenquery_prefix, wenn eine konfiguriert wurde.
- texts
- Rückgaben: Eine zweidimensionale
float32-Matrix mit einer Zeile pro Eingabetext. - Rückgabetyp: numpy.ndarray
Beispiele
embedder = OracleDBEmbedder(
connection=pool,
model="DOC_MODEL",
)
matrix = embedder.embed(["alpha", "beta"])
matrix.shape[0]
2
Methode embed_async (asynchron)
Mit Oracle Database SQL asynchron einen Textbatch einbetten.
- Parameter:
- texts
list[str]: Batch mit einzubettenden Raw-Textzeichenfolgen. - is_query
bool– Gibt an, ob der Text eine Abfrage ist. Abfragetexte erhaltenquery_prefix, wenn eine konfiguriert wurde.
- texts
- Rückgaben: Eine zweidimensionale
float32-Matrix mit einer Zeile pro Eingabetext. - Rückgabetyp: numpy.ndarray
Beispiele
embedder = OracleDBEmbedder(
connection=pool,
model="DOC_MODEL",
)
matrix = await embedder.embed_async(["hello"])
matrix.shape
(1, 384)
Eigenschaft embedding_dimension
- Rückgabetyp: int
-
Beschreibung: Gibt die konfigurierte oder inferenzierte Einbettungsdimension zurück.
- Rückgaben: Positive Anzahl von Dimensionen in jedem Einbettungsvektor.
- Rückgabetyp: int
Hinweise
Ein vom Konstruktor bereitgestellter Wert wird zurückgegeben, ohne das Datenbankmodell zu kontaktieren. Andernfalls prüft die Eigenschaft einmal und speichert das Ergebnis für zukünftige Zugriffe im Cache.
Beispiele
embedder = OracleDBEmbedder(
connection=pool,
model="DOC_MODEL",
embedding_dimension=768,
)
embedder.embedding_dimension
768
Methode get_vectorizer_config_json
Geben Sie JSON für die Oracle Vectorizer-Voreinstellung für dieses DB-Modell zurück.
Dieselbe Modellkonfiguration wird durch direkte Einbettung und durch verwaltete Hybridindizes verwendet. Die direkte Einbettung verwendet sie, um zu entscheiden, ob VECTOR_EMBEDDING das konfigurierte Datenbankmodell darstellen kann oder ob DBMS_VECTOR_CHAIN.UTL_TO_EMBEDDING für Provider-JSON erforderlich ist. Die Hybridindizierung übergibt sie an DBMS_VECTOR_CHAIN.CREATE_PREFERENCE, und dann ist die Vectorizer-Pipeline von Oracle Eigentümer der Einbettungsarbeit für diesen Index.
- Rückgaben: Kompakte JSON-Payload für
DBMS_VECTOR_CHAIN.CREATE_PREFERENCEmitDBMS_VECTOR_CHAIN.VECTORIZER. - Rückgabetyp: str
Beispiele
embedder = OracleDBEmbedder(
connection=pool,
model="DOC_MODEL",
embedding_dimension=768,
)
embedder.get_vectorizer_config_json()
'{"model":"DOC_MODEL"}'
custom_embedder = OracleDBEmbedder(
connection=pool,
model="DOC_MODEL",
input_name="TEXT",
embedding_dimension=768,
)
custom_embedder.get_vectorizer_config_json()
'{"model":"DOC_MODEL","input_name":"TEXT"}'
shared_embedder = OracleDBEmbedder(
connection=pool,
model="MY_OTHER_SCHEMA.MY_ONNX_MODEL",
embedding_dimension=768,
)
shared_embedder.get_vectorizer_config_json()
'{"model":"MY_OTHER_SCHEMA.MY_ONNX_MODEL"}'
Eigenschaft max_input_tokens
- Rückgabetyp: int
-
Beschreibung: Gibt das konfigurierte oder inferenzierte Input-Token-Budget für das Chunking zurück.
- Rückgaben: Die maximale Anzahl positiver Eingabe-Token für eine Text-Payload.
- Rückgabetyp: int
Hinweise
Ein vom Konstruktor bereitgestellter Wert wird zurückgegeben, ohne das Datenbankmodell zu kontaktieren. Andernfalls validiert die Eigenschaft eine Datenbankmodell-Sondierung in der Größe auf geschätzte 512-Eingabetoken und cacht 512 als konservatives Fallback. Ein Modell-Tokenizer wird nicht lokal ausgeführt. Legen Sie daher max_input_tokens manuell aus dem dokumentierten Eingabebudget des Modells fest, wenn die Genauigkeit wichtig ist.
Beispiele
embedder = OracleDBEmbedder(
connection=pool,
model="DOC_MODEL",
max_input_tokens=2048,
)
embedder.max_input_tokens
2048