AI für Python auswählen
select_ai bereit, mit der Sie DBMS_CLOUD_AI-Funktionen in Autonomous AI Database von Python verwenden können. Select AI for Python unterstützt erweiterte generative KI-Workflows, Zusammenfassungen, Feedback-Mechanismen, konsistentes Metadatenmanagement und Funktionen der agentenbasierten KI. Es unterstützt auch Python 3.14 und enthält eine aktualisierte HTML-Dokumentationsseite (Neu)
Aufgaben, die sie ausführen können
-
NL2SQL: Verwenden Sie natürliche Sprache, um Ihre Datenbank über die KI-basierte SQL-Generierung abzufragen. Dazu gehören das Generieren von SQL-Abfragen, das Ausführen der generierten Abfragen, das Erläutern von generiertem SQL und das Erzählen von Abfrageergebnissen.
-
RAG: Erstellen und aktualisieren Sie Vektorindizes für automatisierte Retrieval Augmented Generation-(RAG-)Workflows, die relevanten Inhalt abrufen und in generative KI-Antworten aufnehmen.
Sie können Aktualisierungszyklen mit
vector_index.get_next_refresh_timestamp()überwachen, um den UTC-Zeitstempel der nächsten geplanten Aktualisierung abzurufen. -
Chat: Erstellen und verwalten Sie Gespräche mit einem Prompt-Verlauf, um Chat-Interaktionen mit generativen KI-Modellen zu unterstützen.
-
Synthetische Datengenerierung: Synthetische Daten für Tests und Analysen mit generativer KI generieren
-
Zusammenfassen: Text- oder Abfrageergebnisse zusammenfassen
-
Feedback: Modellfeedback erfassen und verwalten
-
Übersetzen: Text zwischen Sprachen übersetzen
-
KI-Agents: Erstellen Sie autonome KI-Agents und KI-Agents für Interaktionen. Weitere Informationen finden Sie unter AI-Agent für Python auswählen.
-
Sync- und asynchrone Verbindungen: Verbindung zur Datenbank über synchrone oder asynchrone Verbindungen herstellen
Mit
select_ai.create_pool()undselect_ai.create_pool_async()können Sie gemeinsame Verbindungspools erstellen, um den gleichzeitigen Zugriff und die gemeinsame Nutzung von Ressourcen zu verbessern. -
KI-Profile: Erstellen und verwalten Sie KI-Profile, um die Verwendung von KI-Modellen von einer Vielzahl von KI-Anbietern zu ermöglichen
Unterstützte Plattformen
Select AI for Python ist für Autonomous AI Database 26ai und 19c zertifiziert. Select AI for Python kann auf anderen Plattformen funktionieren, ist jedoch nicht zertifiziert.
Klicken Sie auf https://github.com/oracle/python-select-ai/issues, um Probleme zu melden.
Unterstützte Funktionen für Select AI Profile (Synchron und Asynchron)
Wenn Sie Prompts über ein Profil senden, können Sie zwischen mehreren Funktionen wählen, die für AI-Profilobjekte definiert sind. Einige sind wie folgt:
-
create(): Erstellen Sie das AI-Profil in der Datenbank, oder ersetzen Sie es gegebenenfalls. Siehe create() GitHub-Dokumentation. -
delete(): Entfernen Sie das Profil. Siehe delete() GitHub-Dokumentation. -
generate(): Verwenden Sie das Profil, um einen Prompt gemäß der ausgewählten Aktion zu verarbeiten. Siehe generete() GitHub-Dokumentation -
generate_synthetic_data(): Erstellen Sie synthetische Daten basierend auf den angegebenen Attributen. Weitere Informationen finden Sie in der GitHub-Dokumentation generate_synthetic_data(). -
get_attributes(): Gibt die aktuellen Profilattribute zurück. Weitere Informationen finden Sie in der GitHub-Dokumentation get_attributes(). -
run_sql(): Generieren und führen Sie SQL aus (Standard). Weitere Informationen finden Sie in der GitHub-Dokumentation run_sql(). -
show_sql(): Generieren Sie SQL, ohne es auszuführen. Siehe GitHub-Dokumentation zu show_sql(). -
explain_sql(): Geben Sie eine Erläuterung für generiertes SQL an. Weitere Informationen finden Sie in der GitHub-Dokumentation zu explain_sql(). -
narrate(): Beschreiben Sie Abfrageergebnisse in natürlicher Sprache. Siehe narrate() in der GitHub-Dokumentation. -
chat(): Nehmen Sie an einer Freiformunterhaltung teil. Weitere Informationen finden Sie in der Chat() GitHub-Dokumentation. -
show_prompt(): Zeigt den konstruierten Prompt an, der an das generative KI-Modell gesendet wird. Siehe GitHub-Dokumentation zu show_prompt(). -
summarize(): Erstellen Sie eine Zusammenfassung für den bereitgestellten Inhalt. Weitere Informationen finden Sie in der GitHub-Dokumentation zu summarize(). -
add_positive_feedback(),add_negative_feedback(),delete_feedback(): Verwalten Sie Benutzerfeedback, das mit generierten Abfragen verknüpft ist. Siehe add_positive_feedback(), add_negative_feedback() und delete_feedback() GitHub-Dokumentation translate(): Übersetzen Sie Text aus einer angegebenen Quellsprache in eine Zielsprache. Weitere Informationen finden Sie in der GitHub-Dokumentation zu translate().
Eine vollständige Liste der Funktionen finden Sie in der Dokumentation AI für Python auswählen. Weitere Informationen zu den Aktionen "KI auswählen" finden Sie auch unter KI-Schlüsselwort zum Eingeben von Prompts verwenden.
Unterstützte Klassen
Die Bibliothek umfasst Klassen zur Verwaltung von Providern, Profilen, Unterhaltungen, Vektorindizes, synthetischen Daten und Agent-Workflows. Sowohl synchrone als auch asynchrone Versionen sind verfügbar.
-
Providerklassen: Definieren Sie den AI-Provider:
OpenAIProvider,AzureProvider,OCIGenAIProvider,AWSProvider,GoogleProvider,AnthropicProvider,CohereProvider,HuggingFaceProvider. -
Profile: Definiert das generative KI-Profil zur Verarbeitung von Prompts (Provider, Zugangsdaten, Metadaten, Optionen) und unterstützt die Generierung synthetischer Daten. -
ProfileAttributes: Profilkonfigurationsdetails wie Provider, Zugangsdatenname, maximale Token, Temperatur, Objektliste oder Vektorindex. -
ConversationAttributes: Konversationskontext über Prompts hinweg verwalten. -
VectorIndexundVectorIndexAttributes: Erstellen und verwalten Sie Vektorindizes für RAG.Die API
create()unterstützt einen Parameterwait_for_completion. Mit diesem Parameter können Sie steuern, ob der Aufruf vor der Rückkehr auf den Abschluss wartet. Weitere Informationen finden Sie unter Prozedur CREATE_VECTOR_INDEX. -
SyntheticDataAttributes: Synthetische Datasets für Tests und Entwicklung erstellen. -
Löschmethoden auf Klassenebene: Diese Methoden auf Klassenebene löschen Datenbankobjekte direkt, ohne dass ein Proxyobjekt initialisiert werden muss.
-
Profile.delete_profile(profile_name) -
VectorIndex.delete_index(index_name)
Informationen zu Löschmethoden auf KI-Agent-Ebene finden Sie unter AI-Agent für Python auswählen.
-
Für die Klassen Profile, Conversation und VectorIndex sind asynchrone Äquivalente vorhanden.
Unterstützung für asynchrone Auswahl von KI
Select AI for Python stellt asynchrone APIs bereit, die Interaktion mit der autonomen KI-Datenbank ermöglichen. Diese APIs verwenden die async- und await-Konstrukte von Python und unterstützen Coroutine-basierte Anwendungen.
-
AsyncProfile -
AsyncConversation -
AsyncVectorIndex
Verwenden Sie select_ai.create_pool_async(), um Verbindungen in asynchronen Workflows zu verwalten.
Diese Klassen bieten Funktionen, die ihren synchronen Entsprechungen entsprechen. Asynchrone APIs sind in Anwendungen nützlich, die nebenläufige Vorgänge oder ereignisgesteuerte Workflows erfordern.
Eine vollständige API-Referenz finden Sie in der Dokumentation Select AI for Python.
API- und Attributaktualisierung - Erweiterungen
Die folgenden Verbesserungen sind verfügbar:
-
Alle Proxyobjekte unterstützen
fetch(), um vorhandene Objekte abzurufen. -
Alle Proxyobjekte stellen
set_attribute()undset_attributes()für konsistente Updates bereit -
Alle APIs für die Toolerstellung unterstützen einen Parameter
instruction, um ein präzises Ausführungsverhalten zu definieren.
Berechtigungen und HTTP-Zugriff
Die Berechtigungsverwaltung ist von der HTTP-Zugriffskonfiguration getrennt.
Berechtigungs-APIs:
select_ai.grant_privilegesselect_ai.revoke_privileges
DBMS_CLOUDDBMS_CLOUD_AIDBMS_CLOUD_AI_AGENTDBMS_CLOUD_PIPELINE
HTTP-Zugriffs-APIs:
select_ai.grant_http_accessselect_ai.revoke_http_access
Weitere Verbesserungen
-
Python 3.14-Unterstützung
-
Neue HTML-Dokumentationssite auf GitHub mit dem Python-Dokumentations-Theme: GitHub AI für Python-Dokumentation auswählen
-
Installation für Release 1.2.2:
pip install select_ai
Übergeordnetes Thema: Select AI für Natural Language Interaction mit Ihrer Datenbank verwenden