Skip to main content

Select AI for Python

Project description

Select AI for Python

Select AI for Python enables you to ask questions of your database data using natural language (text-to-SQL), get generative AI responses using your trusted content (retrieval augmented generation), generate synthetic data using large language models, and other features – all from Python. With the general availability of Select AI Python, Python developers have access to the functionality of Select AI on Oracle Autonomous Database.

Select AI for Python enables you to leverage the broader Python ecosystem in combination with generative AI and database functionality - bridging the gap between the DBMS_CLOUD_AI PL/SQL package and Python's rich ecosystem. It provides intuitive objects and methods for AI model interaction.

Installation

Install the Python package:

python3 -m pip install select_ai

Install the optional command line interface:

python3 -m pip install 'select_ai[cli]'

Documentation

See Select AI for Python documentation

Samples

Examples can be found in the /samples directory

Command Line Interface

The optional select-ai command provides an interactive chat REPL for Select AI profiles:

select-ai chat --profile OCI_AI_PROFILE

Select AI CLI demo

Basic Example

import select_ai

user = "<your_select_ai_user>"
password = "<your_select_ai_password>"
dsn = "<your_select_ai_db_connect_string>"

select_ai.connect(user=user, password=password, dsn=dsn)
profile = select_ai.Profile(profile_name="oci_ai_profile")
# run_sql returns a pandas dataframe
df = profile.run_sql(prompt="How many promotions?")
print(df.columns)
print(df)

Async Example

import asyncio

import select_ai

user = "<your_select_ai_user>"
password = "<your_select_ai_password>"
dsn = "<your_select_ai_db_connect_string>"

# This example shows how to asynchronously run sql
async def main():
    await select_ai.async_connect(user=user, password=password, dsn=dsn)
    async_profile = await select_ai.AsyncProfile(
        profile_name="async_oci_ai_profile",
    )
    # run_sql returns a pandas df
    df = await async_profile.run_sql("How many promotions?")
    print(df)

asyncio.run(main())

Help

Questions can be asked in GitHub Discussions.

Problem reports can be raised in GitHub Issues.

Contributing

This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide

Security

Please consult the security guide for our responsible security vulnerability disclosure process

License

Copyright (c) 2025 Oracle and/or its affiliates.

Released under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

select_ai-1.4.1.tar.gz (171.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

select_ai-1.4.1-py3-none-any.whl (65.1 kB view details)

Uploaded Python 3

File details

Details for the file select_ai-1.4.1.tar.gz.

File metadata

  • Download URL: select_ai-1.4.1.tar.gz
  • Upload date:
  • Size: 171.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for select_ai-1.4.1.tar.gz
Algorithm Hash digest
SHA256 b75cc6566d045f8ef22bb944624dc2f2080e921db971bb7118520f1e404a3d18
MD5 ef1559852ca237fa3c1b38e4cebbafb1
BLAKE2b-256 e7b5f2b9bf6b0cc190350f7cfc8efd41d2cc0714326a103930c22a2a6e5b10da

See more details on using hashes here.

Provenance

The following attestation bundles were made for select_ai-1.4.1.tar.gz:

Publisher: release.yaml on oracle/python-select-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file select_ai-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: select_ai-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 65.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for select_ai-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0400330e62e10549728a5fafbab22513e09e4ab89073e105eae5c9b8da9e54b9
MD5 5cacb6358dec87213d81f7a9f86472a7
BLAKE2b-256 404cb0c74cd37d62493487ea367e86b9557880e41b00246b4ab7d8b0cb15c209

See more details on using hashes here.

Provenance

The following attestation bundles were made for select_ai-1.4.1-py3-none-any.whl:

Publisher: release.yaml on oracle/python-select-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page