Api-meddelanden för assistenter (förhandsversion)
Kommentar
- Filsökning kan mata in upp till 10 000 filer per assistent – 500 gånger mer än tidigare. Den är snabb, stöder parallella frågor via sökningar med flera trådar och funktioner för förbättrad omrankning och omskrivning av frågor.
- Vector Store är ett nytt objekt i API:et. När en fil har lagts till i ett vektorlager parsas den automatiskt, segmenteras och bäddas in och görs redo att sökas igenom. Vektorlager kan användas mellan assistenter och trådar, vilket förenklar filhantering och fakturering.
- Vi har lagt till stöd för parametern
tool_choice
som kan användas för att tvinga fram användningen av ett specifikt verktyg (till exempel filsökning, kodtolkare eller en funktion) i en viss körning.
Den här artikeln innehåller referensdokumentation för Python och REST för det nya ASSISTENT-API:et (förhandsversion). Mer detaljerad stegvis vägledning finns i komma igång-guiden.
Skapa ett meddelande
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Skapa ett meddelande.
Sökvägsparameter
Parameter | Type | Obligatoriskt | Beskrivning |
---|---|---|---|
thread_id |
sträng | Obligatoriskt | ID:t för tråden som du vill skapa ett meddelande för. |
Begärandetext
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
role |
sträng | Obligatoriskt | Rollen för den entitet som skapar meddelandet. Det kan vara user eller assistant . user anger att meddelandet skickas av en faktisk användare och bör i de flesta fall användas för att representera användargenererade meddelanden. assistant anger att meddelandet genereras av assistenten. Använd det här värdet för att infoga meddelanden från assistenten i konversationen. |
content |
sträng | Obligatoriskt | Innehållet i meddelandet. |
attachments |
matris | Valfritt | En lista över filer som är kopplade till meddelandet och de verktyg som de ska läggas till i. |
metadata |
map | Valfritt | Uppsättning med 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa. |
Returer
Ett meddelandeobjekt .
Exempel på begäran om att skapa meddelande
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_message = client.beta.threads.messages.create(
"thread_abc123",
role="user",
content="How does AI work? Explain it in simple terms.",
)
print(thread_message)
Lista meddelanden
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Returnerar en lista med meddelanden för en viss tråd.
Sökvägsparametrar
Parameter | Type | Obligatoriskt | Beskrivning |
---|---|---|---|
thread_id |
sträng | Obligatoriskt | ID:t för den tråd som meddelanden tillhör. |
Frågeparametrar
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
limit |
integer | Valfritt – standardvärdet är 20 | En gräns för hur många objekt som ska returneras. Gränsen kan vara mellan 1 och 100 och standardvärdet är 20. |
order |
sträng | Valfritt – Standardinställningar för desc | Sortera ordning efter objektens created_at tidsstämpel. asc för stigande ordning och desc för fallande ordning. |
after |
sträng | Valfritt | En markör för användning i sidnumrering. after är ett objekt-ID som definierar din plats i listan. Om du till exempel gör en listbegäran och tar emot 100 objekt, som slutar med obj_foo, kan ditt efterföljande anrop inkludera after=obj_foo för att hämta nästa sida i listan. |
run_id |
sträng | Optionanl | Filtrera meddelanden efter det körnings-ID som genererade dem. |
before |
sträng | Valfritt | En markör för användning i sidnumrering. innan är ett objekt-ID som definierar din plats i listan. Om du till exempel gör en listbegäran och tar emot 100 objekt, som slutar med obj_foo, kan ditt efterföljande anrop inkludera före =obj_foo för att hämta föregående sida i listan. |
Returer
En lista över meddelandeobjekt .
Exempel på begäran om listmeddelanden
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_messages = client.beta.threads.messages.list("thread_abc123")
print(thread_messages.data)
Hämta meddelande
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Hämtar en meddelandefil.
Sökvägsparametrar
Parameter | Type | Obligatoriskt | Beskrivning |
---|---|---|---|
thread_id |
sträng | Obligatoriskt | ID:t för den tråd som meddelandet tillhör. |
message_id |
sträng | Obligatoriskt | ID:t för meddelandet som ska hämtas. |
Returer
Meddelandeobjektet som matchar det angivna ID:t.
Exempel på begäran om att hämta meddelanden
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
message = client.beta.threads.messages.retrieve(
message_id="msg_abc123",
thread_id="thread_abc123",
)
print(message)
Ändra meddelande
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Ändrar ett meddelande.
Sökvägsparametrar
Parameter | Type | Obligatoriskt | Beskrivning |
---|---|---|---|
thread_id |
sträng | Obligatoriskt | ID:t för den tråd som meddelandet tillhör. |
message_id |
sträng | Obligatoriskt | ID:t för meddelandet som ska ändras. |
Begärandetext
Parameter | Type | Obligatoriskt | Beskrivning |
---|---|---|---|
metadata |
map | Valfritt | Uppsättning med 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa. |
Returer
Det ändrade meddelandeobjektet .
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
message = client.beta.threads.messages.update(
message_id="msg_abc12",
thread_id="thread_abc123",
metadata={
"modified": "true",
"user": "abc123",
},
)
print(message)
Ta bort meddelande
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Tar bort ett meddelande.
Sökvägsparametrar
Parameter | Type | Obligatoriskt | Beskrivning |
---|---|---|---|
thread_id |
sträng | Obligatoriskt | ID:t för den tråd som meddelandet tillhör. |
message_id |
sträng | Obligatoriskt | ID:t för meddelandet som ska ändras. |
Returer
Borttagningsstatus för meddelandeobjektet .
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
deleted_message = client.beta.threads.messages.delete(
message_id="msg_abc12",
thread_id="thread_abc123",
)
print(deleted_message)
Meddelandeobjekt
Representerar ett meddelande i en tråd.
Namn | Type | Description |
---|---|---|
id |
sträng | Identifieraren, som kan refereras till i API-slutpunkter. |
object |
sträng | Objekttypen, som alltid är thread.message. |
created_at |
integer | Unix-tidsstämpeln (i sekunder) för när meddelandet skapades. |
thread_id |
sträng | Det tråd-ID som det här meddelandet tillhör. |
role |
sträng | Entiteten som skapade meddelandet. En av user eller assistant . |
content |
matris | Innehållet i meddelandet i matrisen med text och/eller bilder. |
assistant_id |
sträng eller null | Om tillämpligt, ID:t för assistenten som skapade det här meddelandet. |
run_id |
sträng eller null | Om tillämpligt, ID:t för körningen som är associerad med redigeringen av det här meddelandet. |
file_ids |
matris | En lista över fil-ID:t som assistenten ska använda. Användbart för verktyg som hämtning och code_interpreter som kan komma åt filer. Högst 10 filer kan kopplas till ett meddelande. |
metadata |
map | Uppsättning med 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa. |