Sélectionner AI pour Python
select_ai, qui vous permet d'utiliser les fonctionnalités DBMS_CLOUD_AI dans Autonomous AI Database à partir de Python. Select AI for Python prend en charge les workflows d'IA générative améliorés, la synthèse, les mécanismes de retour, la gestion cohérente des métadonnées et les fonctionnalités d'IA agénétique. Il prend également en charge Python 3.14 et inclut un site de documentation HTML mis à jour (Nouveau)
Tâches disponibles
-
NL2SQL : utilisez le langage naturel pour interroger votre base de données via la génération SQL basée sur l'IA. Cela inclut la génération de requêtes SQL, l'exécution des requêtes générées, l'explication du code SQL généré et la narration des résultats des requêtes.
-
RAG : Créez et mettez à jour des index vectoriels pour les workflows de génération augmentée de récupération automatisée (RAG) qui extraient le contenu pertinent et l'incluent dans les réponses d'IA générative.
Vous pouvez surveiller les cycles d'actualisation à l'aide de
vector_index.get_next_refresh_timestamp()pour extraire l'horodatage UTC de la prochaine actualisation programmée. -
Chat : créez et gérez des conversations avec un historique des invites pour prendre en charge les interactions de type chat avec des modèles d'IA générative.
-
Génération de données synthétiques : générez des données synthétiques pour les tests et l'analyse à l'aide de l'IA générative
-
Synthèse : Synthèse du texte ou des résultats de requête
-
Retour : Enregistrer et gérer le retour du modèle
-
Traduire : Traduire du texte entre les langues
-
Agents d'IA : créez des agents d'IA autonomes et interactifs. Pour plus d'informations, reportez-vous à Sélectionner un agent AI pour Python.
-
Connexions synchrones et asynchrones : Se connecter à la base de données à l'aide de connexions synchrones ou asynchrones
Vous pouvez utiliser
select_ai.create_pool()etselect_ai.create_pool_async()pour créer des pools de connexions partagés afin d'améliorer la simultanéité et le partage des ressources. -
Profils d'IA : créez et gérez des profils d'IA pour activer l'utilisation de modèles d'IA à partir d'un large éventail de fournisseurs d'IA
Plates-forme prises en charge
Select AI for Python est certifié pour Autonomous AI Database 26ai et 19c. Sélectionnez AI pour Python peut fonctionner sur d'autres plates-formes, mais il n'est pas certifié.
Cliquez sur https://github.com/oracle/python-select-ai/issues pour signaler les problèmes.
Fonctions prises en charge pour sélectionner un profil AI (synchrone et asynchrone)
Lorsque vous envoyez des invites via un profil, vous pouvez choisir parmi plusieurs fonctions définies pour les objets profil AI. Certaines sont les suivantes :
-
create(): créez le profil AI dans la base de données ou remplacez-le si nécessaire. Reportez-vous à la documentation create() GitHub. -
delete(): supprimez le profil. Reportez-vous à la documentation de delete() GitHub. -
generate(): utilisez le profil pour traiter une invite conformément à l'action choisie. Reportez-vous à la documentation sur generete() GitHub -
generate_synthetic_data(): créez des données synthétiques en fonction des attributs fournis. Reportez-vous à la documentation sur GitHubgenerate_synthetic_data(). -
get_attributes(): renvoie les attributs de profil en cours. Reportez-vous à la documentation get_attributes() GitHub. -
run_sql(): générez et exécutez le code SQL (par défaut). Reportez-vous à la documentation run_sql() GitHub. -
show_sql(): générez du code SQL sans l'exécuter. Reportez-vous à la documentation show_sql() GitHub. -
explain_sql(): fournissez une explication du code SQL généré. Reportez-vous à la documentation expliain_sql() GitHub. -
narrate(): décrivez les résultats de requête en langage naturel. Reportez-vous à la narrate() sur la documentation GitHub. -
chat(): participez à une conversation de forme libre. Reportez-vous à la documentation de chat() sur GitHub. -
show_prompt(): affiche l'invite construite envoyée au modèle d'IA générative. Reportez-vous à la documentation GitHub show_prompt(). -
summarize(): produit un récapitulatif pour le contenu fourni. Reportez-vous à la documentation de summarize() GitHub. -
add_positive_feedback(),add_negative_feedback(),delete_feedback(): Gérer les commentaires des utilisateurs associés aux requêtes générées. Reportez-vous à la documentation GitHub add_positive_feedback(), add_negative_feedback() et delete_feedback() translate(): traduisez du texte d'une langue source spécifiée vers une langue cible. Reportez-vous à la documentation sur transllate() GitHub.
Pour obtenir la liste complète des fonctions, reportez-vous au guide Sélectionner AI pour Python. Pour plus d'informations sur les actions Sélectionner IA, reportez-vous également à Utiliser le mot-clé AI pour saisir des invites.
Classes prises en charge
La bibliothèque comprend des classes pour gérer les fournisseurs, les profils, les conversations, les index vectoriels, les données synthétiques et les workflows agénétiques. Les versions synchrones et asynchrones sont disponibles.
-
Classes de fournisseur : définissez le fournisseur d'IA :
OpenAIProvider,AzureProvider,OCIGenAIProvider,AWSProvider,GoogleProvider,AnthropicProvider,CohereProvider,HuggingFaceProvider. -
Profile: définit le profil d'IA générative pour traiter les invites (fournisseur, informations d'identification, métadonnées, options) et prend en charge la génération de données synthétiques. -
ProfileAttributes: détails de configuration de profil tels que le fournisseur, le nom des informations d'identification, le nombre maximal de jetons, la température, la liste d'objets ou l'index vectoriel. -
ConversationAttributes: permet de gérer le contexte conversationnel entre les invites. -
VectorIndexetVectorIndexAttributes: créez et gérez des index vectoriels pour la RAG.L'API
create()prend en charge un paramètrewait_for_completion. Utilisez ce paramètre pour contrôler si l'appel attend la fin avant d'être renvoyé. Pour plus d'informations, reportez-vous à Procédure CREATE_VECTOR_INDEX. -
SyntheticDataAttributes: créer des ensembles de données synthétiques pour les tests et le développement. -
Méthodes de suppression de niveau classe : Ces méthodes de niveau classe suppriment directement des objets de base de données sans nécessiter l'initialisation d'un objet proxy.
-
Profile.delete_profile(profile_name) -
VectorIndex.delete_index(index_name)
Pour les méthodes de suppression de niveau classe associées à Sélectionner un agent AI, reportez-vous à Sélectionner un agent AI pour Python.
-
Des équivalents asynchrones existent pour les classes Profile, Conversation et VectorIndex.
Prise en charge d'ASync Select AI
Select AI for Python fournit des API asynchrones qui permettent l'interaction avec Autonomous AI Database. Ces API utilisent les structures async et await de Python et prennent en charge les applications basées sur la coroutine.
-
AsyncProfile -
AsyncConversation -
AsyncVectorIndex
Utilisez select_ai.create_pool_async() pour gérer les connexions dans les workflows asynchrones.
Ces classes fournissent des fonctionnalités équivalentes à leurs homologues synchrones. Les API asynchrones sont utiles dans les applications qui nécessitent des opérations simultanées ou des workflows basés sur des événements.
Pour obtenir une référence complète à l'API, reportez-vous au guide Sélectionner AI pour Python.
Améliorations apportées à la mise à jour des API et des attributs
Les améliorations suivantes sont disponibles :
-
Tous les objets proxy prennent en charge
fetch()pour extraire les objets existants. -
Tous les objets proxy fournissent
set_attribute()etset_attributes()pour des mises à jour cohérentes -
Toutes les API de création d'outils prennent en charge un paramètre
instructionpour définir un comportement d'exécution précis.
Privilège et accès HTTP
La gestion des privilèges est distincte de la configuration de l'accès HTTP.
API de privilèges :
select_ai.grant_privilegesselect_ai.revoke_privileges
DBMS_CLOUDDBMS_CLOUD_AIDBMS_CLOUD_AI_AGENTDBMS_CLOUD_PIPELINE
API d'accès HTTP :
select_ai.grant_http_accessselect_ai.revoke_http_access
Autres améliorations
-
Prise en charge de Python 3.14
-
Nouveau site de documentation HTML sur GitHub à l'aide du thème de documentation Python : GitHub Documentation Select AI for Python
-
Installation pour la version 1.2.2 :
pip install select_ai