Repository navigation
Releases: oracle/java-select-ai
Release list
Select AI for Java 1.0.0
Select AI for Java 1.0.0
Initial public release
Release Summary
This is the initial public release of Select AI for Java, enabling Java applications to use Oracle Autonomous AI Database Select AI functionality from the DBMS_CLOUD_AI PL/SQL package.
Source repository: oracle/java-select-ai
Highlights
- Public Java API under
com.oracle.database.selectai. - Typed models under
com.oracle.database.selectai.model. SelectAIclient for profiles, credentials, conversations, and vector indexes.- Profile operations for SQL generation, execution, narration, explanation, chat, summarization, translation, feedback, and synthetic-data generation.
- Context-aware conversations through
ConversationandSession. - Vector-index lifecycle and metadata operations for retrieval-augmented generation.
- Credential creation and deletion.
- Administrative operations through
DatabaseAdmin. - JDBC connection management through
DataSourceor SDK-owned connections created fromDbConnectionConfig. - Standalone
DbConnectionlifecycle API. - Configurable JDBC statement query timeout through
SelectAIOptions. - Input validation, JDBC exception wrapping, and resource lifecycle management.
Compatibility
- Validated with Oracle Autonomous AI Database 26ai.
- Validated with Oracle Autonomous AI Database 19c.
- Other Oracle Database platforms may work with the SDK but have not been validated.
- Requires JDK 17 or later.
- Maven 3.8 or later is recommended for building.
Distribution and Installation
Select AI for Java version 1.0.0 is available from Maven Central.
Add the SDK to a Maven application with:
<dependency>
<groupId>com.oracle.database.selectai</groupId>
<artifactId>select-ai</artifactId>
<version>1.0.0</version>
</dependency>The Maven Central artifact page provides the published JAR, POM, source JAR, Javadoc JAR, signatures, and repository checksums.
To build the SDK from source:
mvn clean installThe locally generated SDK JAR is available at:
target/select-ai-1.0.0.jar
Applications should use the Maven dependency so Maven resolves the SDK's transitive runtime dependencies. The SDK does not include an SLF4J logging provider; applications should configure their preferred SLF4J 2.x provider.
Known Limitations
- JDK 17 or later is required.
- Maven 3.8 or later is recommended for building.
- The SDK has been validated with Oracle Autonomous AI Database 26ai and Oracle Autonomous AI Database 19c. Other Oracle Database platforms may work with the SDK but have not been validated.
- AI provider model capabilities, AI profile configuration, and the database release determine the available functionality and result quality.
- Some samples require database profiles, credentials, schema objects, Object Storage content, provider configuration, or administrative privileges. Review the [Samples guide](https://github.com/oracle/java-select-ai/blob/v1.0.0/samples/README.md) and the Javadoc for each sample before running it.
- These resources must be prepared in the user's database or cloud environment; the SDK does not create every external dependency automatically.
DatabaseAdminoperations require explicitly authorized database privileges.- Query timeout is a JDBC statement timeout and is not equivalent to an LLM endpoint timeout, HTTP timeout, or remote request cancellation.
- Classes under
com.oracle.database.selectai.implare internal implementation details and are not supported customer-facing APIs.
Security and Operational Notes
- Use least-privilege database users for normal application access.
- Use
DatabaseAdminonly for explicitly authorized administrative workflows. - Do not log passwords, private keys, access tokens, credential configurations, prompts, generated responses, or customer content.
- SQL executed through Select AI runs with the privileges of the connected database user.
- Prompts, database metadata, and retrieved content may be sent to the configured AI provider according to the selected profile and operation.
DataSourcemode is recommended for pooled and multi-threaded applications.- In
DbConnectionConfigmode, the SDK owns the JDBC connection. Use Java's try-with-resources statement so theSelectAIclient closes the connection automatically.
try (SelectAI selectAI = SelectAI.create(connectionConfig)) {
Profile profile = selectAI.profile("MY_PROFILE");
String response = profile.chat("Show the top five products");
}- The SDK does not intentionally log sensitive credential material or customer content. Application owners are responsible for log retention, access control, monitoring, and alerting policies.
Developer Resources
- [Generated API documentation](https://github.com/oracle/java-select-ai/blob/v1.0.0/doc/apidocs/index.html)
- [Samples guide](https://github.com/oracle/java-select-ai/blob/v1.0.0/samples/README.md)
- [Integration sample script](https://github.com/oracle/java-select-ai/blob/v1.0.0/scripts/run-all-samples-integration.sh)
- [Development guide](https://github.com/oracle/java-select-ai/blob/v1.0.0/DEVELOPMENT.md)
- [Security policy](https://github.com/oracle/java-select-ai/blob/v1.0.0/SECURITY.md)
- [Contributing guide](https://github.com/oracle/java-select-ai/blob/v1.0.0/CONTRIBUTING.md)
- [Architecture diagrams](https://github.com/oracle/java-select-ai/tree/v1.0.0/doc/diagrams)
- [Unit and integration tests](https://github.com/oracle/java-select-ai/tree/v1.0.0/src/test)
The repository also includes runnable samples, unit tests, integration tests, architecture diagrams, and generated Javadoc.
License
Copyright © 2026 Oracle and/or its affiliates.
This project is licensed under the [Universal Permissive License v1.0](https://oss.oracle.com/licenses/upl/).