OCI会話API
OCI Conversations APIを使用して、セッション・メモリーを管理します。会話APIでは、まず会話を作成し、次にレスポンスAPIリクエストに会話IDを含めます。これにより、ターンをまたいで再利用できる専用の会話オブジェクトが作成されます。
ノート
OCI Conversations APIでは、OCI OpenAI互換エンドポイントを含むOpenAI Conversations APIと同じ形式が使用されます。構文およびリクエストの詳細は、OpenAI Conversations APIドキュメントを参照してください。サポートされていないプロパティについては、このページの各操作のOCIの制限事項の項を参照してください。
OCI Conversations APIでは、OCI OpenAI互換エンドポイントを含むOpenAI Conversations APIと同じ形式が使用されます。構文およびリクエストの詳細は、OpenAI Conversations APIドキュメントを参照してください。サポートされていないプロパティについては、このページの各操作のOCIの制限事項の項を参照してください。
サポートされているAPIエンドポイント
| ベースURL | エンドポイント・パス | 認証 |
|---|---|---|
https://inference.generativeai.${region}.oci.oraclecloud.com/openai/v1 |
/conversations |
APIキーまたはIAMセッション |
${region}を、us-chicago-1などのサポートされているOCIリージョンに置き換えます。
リクエスト形式はOpenAIと互換性がありますが、認証ではOCI資格証明が使用され、リクエストはOCI生成AI推論エンドポイントを介してルーティングされ、リソースと実行はOCIに残ります。
認証
OCI OpenAI互換エンドポイントには、次の2つの方法でアクセスできます。
テストおよび早期開発にAPIキーを使用します。本番ワークロードおよびOCI管理環境には、IAMベースの認証を使用します。
会話の作成
POST /conversations
- 参照
-
Pythonの例:
# create a conversation conversation = client.conversations.create( ... ) print(conversation.id) - OCIの制限事項
- なし
会話の取得
GET /conversations/{conversation_id}
- 参照
-
Pythonの例:
# retrieve a conversation conversation = client.conversations.retrieve( "conversation_id", ) print(conversation.id) - OCIの制限事項
- なし
会話の更新
POST /conversations/{conversation_id}
- 参照
-
Pythonの例:
# update a conversation updated_conversation = client.conversations.update( ... ) print(updated_conversation) - OCIの制限事項
- なし
会話の削除
DELETE /conversations/{conversation_id}
- 参照
-
Pythonの例:
# delete a conversation client.conversations.delete( "conversation_id" ) - OCIの制限事項
- なし
最初の会話の作成
次の例では、OCI OpenAI互換エンドポイント、OCI Generative AI APIキーおよびプロジェクトOCIDとともにOpenAI SDKを使用します。
from openai import OpenAI
client = OpenAI(
base_url="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",
api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
project="ocid1.generativeaiproject.oc1.us-chicago-1.xxxxxxxx",
)
# create a conversation
conversation = client.conversations.create(
metadata={"topic": "offsite"}
)
print("Conversation ID:", conversation.id)
# first question
response1 = client.responses.create(
model="openai.gpt-oss-120b",
input="Give me three ideas for a team offsite.",
conversation=conversation.id,
)
print("Response 1:", response1.output_text)
# second question
response2 = client.responses.create(
model="openai.gpt-oss-120b",
input="Make the second idea more budget friendly.",
conversation=conversation.id,
)
print("Response 2:", response2.output_text)
この例では、以下のようになります。
base_urlは、OCI OpenAI互換エンドポイントを指します。client.responses.create(...)は、OCIレスポンスAPIをコールします。projectは、リクエスト用にすでに作成されているOCI生成AIプロジェクトを識別します。