API conversazioni OCI
Utilizza l'API delle conversazioni OCI per gestire la memoria di sessione. Con l'API Conversazioni, è necessario creare prima una conversazione e quindi includere l'ID conversazione nella richiesta API Risposte. In questo modo viene creato un oggetto di conversazione dedicato che è possibile riutilizzare a turni.
L'API delle conversazioni OCI utilizza lo stesso formato dell'API delle conversazioni OpenAI con l'endpoint compatibile con OCI OpenAI. Per i dettagli relativi alla sintassi e alle richieste, consulta la documentazione dell'API Conversazioni OpenAI. Per informazioni sulle proprietà non supportate, vedere la sezione Limitazioni OCI per ogni operazione in questa pagina.
Endpoint API supportato
| URL di base | Percorso endpoint | Autenticazione |
|---|---|---|
https://inference.generativeai.${region}.oci.oraclecloud.com/openai/v1 |
/conversations |
Chiave API o sessione IAM |
Sostituire ${region} con un'area OCI supportata come us-chicago-1.
Sebbene il formato della richiesta sia compatibile con OpenAI, l'autenticazione utilizza le credenziali OCI, le richieste vengono instradate tramite gli endpoint di inferenza OCI Generative AI e le risorse e l'esecuzione rimangono in OCI.
Per i passi di impostazione prima di utilizzare questa interfaccia API, vedere Avvio rapido.
Autenticazione
È possibile accedere agli endpoint compatibili con OCI OpenAI in due modi:
Utilizza le API key per test e sviluppo precoce. Utilizza l'autenticazione basata su IAM per i carichi di lavoro di produzione e gli ambienti gestiti da OCI.
Creazione di una conversazione
POST /conversations
- Di riferimento
-
Esempio di Python:
# create a conversation conversation = client.conversations.create( ... ) print(conversation.id) - Limitazioni OCI
- Nessuno
Recupero di una conversazione
GET /conversations/{conversation_id}
- Di riferimento
-
Esempio di Python:
# retrieve a conversation conversation = client.conversations.retrieve( "conversation_id", ) print(conversation.id) - Limitazioni OCI
- Nessuno
Aggiornamento di una conversazione
POST /conversations/{conversation_id}
- Di riferimento
-
Esempio di Python:
# update a conversation updated_conversation = client.conversations.update( ... ) print(updated_conversation) - Limitazioni OCI
- Nessuno
Eliminazione di una conversazione
DELETE /conversations/{conversation_id}
- Di riferimento
-
Esempio di Python:
# delete a conversation client.conversations.delete( "conversation_id" ) - Limitazioni OCI
- Nessuno
Crea la prima conversazione
L'esempio riportato di seguito utilizza OpenAI SDK con l'endpoint compatibile con OCI OpenAI, una chiave API OCI Generative AI e un OCID progetto.
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 questo esempio:
base_urlpunta all'endpoint OCI compatibile con OpenAI.client.responses.create(...)chiama l'API OCI Responses.projectidentifica un progetto OCI Generative AI già creato per la richiesta.