OCI-Unterhaltungs-API
Mit der OCI Conversations-API können Sie den Sessionspeicher verwalten. Mit der Unterhaltungs-API erstellen Sie zuerst eine Unterhaltung und fügen dann die Unterhaltungs-ID in die API-Anforderung "Antworten" ein. Dadurch wird ein dediziertes Unterhaltungsobjekt erstellt, das Sie abwechselnd wiederverwenden können.
Die OCI Conversations API verwendet dasselbe Format wie die OpenAI Conversations API mit dem OCI OpenAI-kompatiblen Endpunkt. Syntax- und Anforderungsdetails finden Sie in der Dokumentation zur OpenAI-Unterhaltungs-API. Informationen zu nicht unterstützten Eigenschaften finden Sie im Abschnitt OCI-Einschränkungen für jeden Vorgang auf dieser Seite.
Unterstützter API-Endpunkt
| Basis-URL | Endpunktpfad | Authentifizierung |
|---|---|---|
https://inference.generativeai.${region}.oci.oraclecloud.com/openai/v1 |
/conversations |
API-Schlüssel oder IAM-Session |
Ersetzen Sie ${region} durch eine unterstützte OCI-Region, wie us-chicago-1.
Obwohl das Anforderungsformat OpenAI-kompatibel ist, verwendet die Authentifizierung OCI-Zugangsdaten, Anforderungen werden über OCI Generative AI-Inferenzendpunkte weitergeleitet, und Ressourcen und Ausführung bleiben in OCI.
Authentifizierung
Sie können auf zwei Arten auf OCI OpenAI-kompatible Endpunkte zugreifen:
Verwenden Sie API-Schlüssel für Tests und frühe Entwicklung. Verwenden Sie die IAM-basierte Authentifizierung für Produktions-Workloads und OCI-verwaltete Umgebungen.
Unterhaltung erstellen
POST /conversations
- Referenz
-
Python-Beispiel:
# create a conversation conversation = client.conversations.create( ... ) print(conversation.id) - OCI-Einschränkungen
- Keine
Konversation abrufen
GET /conversations/{conversation_id}
- Referenz
-
Python-Beispiel:
# retrieve a conversation conversation = client.conversations.retrieve( "conversation_id", ) print(conversation.id) - OCI-Einschränkungen
- Keine
Unterhaltung aktualisieren
POST /conversations/{conversation_id}
- Referenz
-
Python-Beispiel:
# update a conversation updated_conversation = client.conversations.update( ... ) print(updated_conversation) - OCI-Einschränkungen
- Keine
Unterhaltung löschen
DELETE /conversations/{conversation_id}
- Referenz
-
Python-Beispiel:
# delete a conversation client.conversations.delete( "conversation_id" ) - OCI-Einschränkungen
- Keine
Erste Unterhaltung erstellen
Im folgenden Beispiel wird das OpenAI-SDK mit dem OCI OpenAI-kompatiblen Endpunkt, einem OCI Generative AI-API-Schlüssel und einer Projekt-OCID verwendet:
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)
In diesem Beispiel gilt:
base_urlverweist auf den OCI OpenAI-kompatiblen Endpunkt.client.responses.create(...)ruft die OCI-Antwort-API auf.projectgibt ein bereits erstelltes OCI Generative AI-Projekt für die Anforderung an.