This guide helps existing oci-genai-openai users migrate to oci-genai-auth-java.
- Replace dependency
oci-genai-openaiwithoci-genai-auth-java-core. - Continue using the
openai-javaSDK client. - Use
OciOkHttpClientFactoryto build a signed OkHttpClient. - Use the OCI Enterprise AI Agents endpoint:
https://inference.generativeai.<region>.oci.oraclecloud.com/openai/v1+openai-projectheader
Replace the old dependency with the new one in your pom.xml:
<!-- Remove old dependency -->
<!-- <artifactId>oci-genai-openai</artifactId> -->
<!-- Add new dependency -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.oracle.genai</groupId>
<artifactId>oci-genai-auth-java-bom</artifactId>
<version>1.0.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.oracle.genai</groupId>
<artifactId>oci-genai-auth-java-core</artifactId>
</dependency>
</dependencies>// Old
import com.oracle.genai.openai.OciOpenAI;
// New
import com.oracle.genai.auth.OciAuthConfig;
import com.oracle.genai.auth.OciOkHttpClientFactory;Use the OpenAI-compatible endpoint and provide project OCID:
import com.oracle.genai.auth.OciAuthConfig;
import com.oracle.genai.auth.OciOkHttpClientFactory;
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
OciAuthConfig config = OciAuthConfig.builder()
.authType("security_token")
.profile("DEFAULT")
.build();
OkHttpClient ociHttpClient = OciOkHttpClientFactory.build(config);
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://inference.generativeai.<region>.oci.oraclecloud.com/openai/v1")
.okHttpClient(ociHttpClient)
.apiKey("not-used")
.addHeader("openai-project", "<ocid1.generativeaiproject...>")
.build();- OCI Enterprise AI Agents:
baseUrl:https://inference.generativeai.<region>.oci.oraclecloud.com/openai/v1- required:
openai-projectheader with project OCID