Dela via


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.