Skip to content

Latest commit

 

History

History
88 lines (67 loc) · 2.55 KB

File metadata and controls

88 lines (67 loc) · 2.55 KB

Migration Guide: oci-genai-openai to oci-genai-auth-java

This guide helps existing oci-genai-openai users migrate to oci-genai-auth-java.

Summary

  • Replace dependency oci-genai-openai with oci-genai-auth-java-core.
  • Continue using the openai-java SDK client.
  • Use OciOkHttpClientFactory to build a signed OkHttpClient.
  • Use the OCI Enterprise AI Agents endpoint: https://inference.generativeai.<region>.oci.oraclecloud.com/openai/v1 + openai-project header

1) Dependency Changes

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>

2) Import Changes

// Old
import com.oracle.genai.openai.OciOpenAI;

// New
import com.oracle.genai.auth.OciAuthConfig;
import com.oracle.genai.auth.OciOkHttpClientFactory;

3) Client Initialization Changes

OCI Enterprise AI Agents

Use the OpenAI-compatible endpoint and provide project OCID:

import com.oracle.genai.auth.OciAuthConfig;
import com.oracle.genai.auth.OciOkHttpClientFactory;
import com.oracle.genai.auth.OciOpenAIHttpClient;
import com.openai.client.OpenAIClient;
import com.openai.client.OpenAIClientImpl;
import com.openai.core.ClientOptions;
import okhttp3.OkHttpClient;

OciAuthConfig config = OciAuthConfig.builder()
        .authType("security_token")
        .profile("DEFAULT")
        .build();

OkHttpClient ociHttpClient = OciOkHttpClientFactory.build(config);

String baseUrl = "https://inference.generativeai.<region>.oci.oraclecloud.com/openai/v1";

OpenAIClient client = new OpenAIClientImpl(ClientOptions.builder()
        .httpClient(OciOpenAIHttpClient.of(ociHttpClient, baseUrl))
        .baseUrl(baseUrl)
        .apiKey("not-used")
        .putHeader("openai-project", "<ocid1.generativeaiproject...>")
        .build());

4) Endpoint and required parameters

  • OCI Enterprise AI Agents:
    • baseUrl: https://inference.generativeai.<region>.oci.oraclecloud.com/openai/v1
    • required: openai-project header with project OCID