Python用のSelect AI

Select AI for Pythonは、生成AI機能をAutonomous AI Databaseワークフローに統合します。Select AI for Pythonは、PythonのAutonomous AI DatabaseでDBMS_CLOUD_AI機能を使用できるようにするクライアント・ライブラリselect_aiを提供します。Select AI for Pythonは、拡張された生成AIワークフロー、要約、フィードバック・メカニズム、一貫したメタデータ管理、エージェントAI機能をサポートしています。また、Python 3.14をサポートし、更新されたHTMLドキュメントサイト(新規)が含まれています

実行可能な操作

  • NL2SQL: 自然言語を使用して、AIベースのSQL生成を介してデータベースに問い合せます。これには、SQL問合せの生成、生成された問合せの実行、生成されたSQLの説明および問合せ結果のナレーションが含まれます。

  • RAG: 関連するコンテンツを取得し、生成AIレスポンスに含める自動取得拡張生成(RAG)ワークフローのベクトル索引を作成および更新します。

  • チャット: プロンプト履歴を使用して会話を作成および管理し、生成AIモデルとのチャット形式の対話をサポートします。

  • 合成データの生成: 生成AIを使用したテストと分析のための合成データの生成

  • 集計: テキストまたは問合せ結果の集計

  • フィードバック: モデル・フィードバックの記録および管理

  • 翻訳: 言語間でテキストを翻訳

  • AIエージェント: 自律型AIエージェントと対話型AIエージェントを作成します。詳細は、Select AI Agent for Pythonを参照してください。

  • 同期接続と非同期接続: 同期接続または非同期接続を使用してデータベースに接続します。

  • AIプロファイル:AIプロファイルを作成および管理して、幅広いAIプロバイダーのAIモデルを使用できるようにします

サポートされているプラットフォーム

Select AI for Pythonは、Autonomous AI Database 26aiおよび19cで認定されています。Select AI for Pythonは、他のプラットフォームで動作する可能性がありますが、動作保証されていません。

https://github.com/oracle/python-select-ai/issuesをクリックして問題を報告します。

Select AIプロファイルでサポートされる関数(同期および非同期)

プロファイルを介してプロンプトを送信する場合、AIプロファイルオブジェクトに対して定義されている複数の機能の中から選択できます。次のようなものがあります。

  • create(): データベースにAIプロファイルを作成するか、必要に応じて置換します。

  • delete(): プロファイルを削除します。

  • generate(): プロファイルを使用して、選択したアクションに従ってプロンプトを処理します。

  • generate_synthetic_data(): 指定された属性に基づいて合成データを作成します。

  • get_attributes(): 現在のプロファイル属性を返します。

  • run_sql(): SQLを生成して実行します(デフォルト)。

  • show_sql(): SQLを実行せずに生成します。

  • explain_sql(): 生成されたSQLの説明を指定します。

  • narrate(): 問合せ結果を自然言語で記述します。

  • chat(): 自由形式の会話に参加します。

  • show_prompt(): 生成AIモデルに送信された構築済プロンプトを表示します。

  • summarize(): 指定されたコンテンツのサマリーを生成します。

  • add_positive_feedback()add_negative_feedback()delete_feedback(): 生成された問合せに関連付けられたユーザー・フィードバックを管理します。

  • translate():指定されたソース言語からターゲット言語にテキストを変換します。

関数の完全なリストは、Python用のSelect AIガイドを参照してください。Select AIアクションの詳細は、「AIキーワードを使用したプロンプトの入力」も参照してください。

サポートされているクラス

ライブラリには、プロバイダ、プロファイル、会話、ベクトル索引、合成データおよびエージェント・ワークフローを管理するためのクラスが含まれています。同期バージョンと非同期バージョンの両方を使用できます。

  • プロバイダ・クラス: AIプロバイダの定義: OpenAIProviderAzureProviderOCIGenAIProviderAWSProviderGoogleProviderAnthropicProviderCohereProviderHuggingFaceProvider

  • Profile: プロンプト(プロバイダ、資格証明、メタデータ、オプション)を処理し、合成データ生成をサポートするための生成AIプロファイルを定義します。

  • ProfileAttributes: プロバイダ、資格証明名、最大トークン、温度、オブジェクト・リスト、ベクトル索引などのプロファイル構成の詳細。

  • ConversationAttributes: プロンプト全体で会話型コンテキストを管理します。

  • VectorIndexおよびVectorIndexAttributes: RAGのベクトル索引を作成および管理します。

  • SyntheticDataAttributes: テストおよび開発用の合成データセットを作成します。

  • クラス・レベルの削除メソッド: これらのクラス・レベルのメソッドは、プロキシ・オブジェクトの初期化を必要とせずにデータベース・オブジェクトを直接削除します。

    • Profile.delete_profile(profile_name)

    • VectorIndex.delete_index(index_name)

    Select AI Agent関連のクラスレベルの削除メソッドについては、Python用のSelect AI Agentを参照してください。

ProfileConversationおよびVectorIndexクラスに相当する非同期クラスがあります。

非同期Select AIサポート

Select AI for Pythonは、Autonomous AI Databaseとの対話を可能にする非同期APIを提供します。これらのAPIは、Pythonのasyncおよびawaitコンストラクトを使用し、ルーチン・ベースのアプリケーションをサポートします。

非同期APIは、ライブラリ内の次のキー・オブジェクトで使用できます。
  • AsyncProfile

  • AsyncConversation

  • AsyncVectorIndex

これらのクラスは、同期クラスと同等の機能を備えています。非同期APIは、同時操作またはイベント駆動型ワークフローを必要とするアプリケーションで役立ちます。

APIの完全なリファレンスは、Python用のSelect AIガイドを参照してください。

APIおよび属性更新の拡張機能

次の拡張機能を使用できます。

  • すべてのプロキシ・オブジェクトは、既存のオブジェクトを取得するためにfetch()をサポートしています。

  • すべてのプロキシ・オブジェクトは、一貫した更新のためにset_attribute()およびset_attributes()を提供します。

権限とHTTPアクセス

権限管理は、HTTPアクセス構成とは別です。

権限API:

  • select_ai.grant_privileges
  • select_ai.revoke_privileges
権限が更新され、次のものが含まれます。
  • DBMS_CLOUD
  • DBMS_CLOUD_AI
  • DBMS_CLOUD_AI_AGENT
  • DBMS_CLOUD_PIPELINE

HTTPアクセスAPI:

  • select_ai.grant_http_access
  • select_ai.revoke_http_access

その他の拡張機能

  • Python 3.14のサポート

  • Python docsテーマを使用したGitHubの新しいHTMLドキュメント・サイト: GitHub Select AI for Python Documentation

  • リリース1.2.2のインストール:

    pip install select_ai==1.2.2