Dela via


Api-referens 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 en assistent

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview

Skapa en assistent med en modell och instruktioner.

Begärandetext

Namn Typ Obligatoriskt Beskrivning
modell sträng Obligatoriskt Modelldistributionsnamn för den modell som ska användas.
name sträng eller null Valfritt Namnet på assistenten. Den maximala längden är 256 tecken.
description sträng eller null Valfritt Beskrivningen av assistenten. Den maximala längden är 512 tecken.
instruktioner sträng eller null Valfritt Systeminstruktionerna som assistenten använder. Den maximala längden är 256 000 tecken.
verktyg matris Valfritt Standardvärdet är []. En lista över verktyg som är aktiverade på assistenten. Det kan finnas högst 128 verktyg per assistent. Verktyg kan för närvarande vara av typer code_interpreter, eller function. En function beskrivning kan vara högst 1 024 tecken.
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.
temperatur tal eller null Valfritt Standardvärdet är 1. Avgör vilken samplingstemperatur som ska användas, mellan 0 och 2. Högre värden som 0,8 gör utdata mer slumpmässiga, medan lägre värden som 0,2 gör det mer fokuserat och deterministiskt.
top_p tal eller null Valfritt Standardvärdet är 1. Ett alternativ till sampling med temperatur, som kallas kärnsampling, där modellen tar hänsyn till resultatet av token med top_p sannolikhetsmassa. Så 0,1 innebär att endast token som består av den översta 10 % sannolikhetsmassan beaktas. Vi rekommenderar vanligtvis att du ändrar detta eller temperatur men inte båda.
response_format sträng eller objekt Valfritt Anger det format som modellen måste mata ut. Kompatibel med GPT-4 Turbo och alla GPT-3.5 Turbo modeller sedan gpt-3.5-turbo-1106. Om du anger den här parametern till { "type": "json_object" } aktiverar du JSON-läge, vilket garanterar att meddelandet som modellen genererar är giltigt JSON. När du använder JSON-läge måste du också instruera modellen att skapa JSON själv med hjälp av ett system- eller användarmeddelande. Utan den här instruktionen kan modellen generera en avaktiverande ström av blanksteg tills genereringen når tokengränsen, vilket resulterar i en tidskrävande och till synes "fast" begäran. Dessutom kan meddelandeinnehållet vara delvis avskuret om du använder finish_reason="length", vilket indikerar att genereringen överskreds max_tokens eller att konversationen överskred den maximala kontextlängden.
tool_resources objekt Valfritt En uppsättning resurser som används av assistentens verktyg. Resurserna är specifika för typen av verktyg. Verktyget kräver till exempel code_interpreter en lista över fil-ID:t, medan file_search verktyget kräver en lista över vektorarkiv-ID:t.

Returer

Ett assistentobjekt .

Exempel på begäran om att skapa assistent

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")
    )

assistant = client.beta.assistants.create(
  instructions="You are an AI assistant that can write code to help answer math questions",
  model="<REPLACE WITH MODEL DEPLOYMENT NAME>", # replace with model deployment name. 
  tools=[{"type": "code_interpreter"}]
)

Lista assistenter

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview

Returnerar en lista över alla assistenter.

Frågeparametrar

Parameter Type Obligatoriskt Beskrivning
limit integer Valfritt 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.
before sträng Valfritt En markör för användning i sidnumrering. before ä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 assistentobjekt

Exempel på listassistenter

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")
    )

my_assistants = client.beta.assistants.list(
    order="desc",
    limit="20",
)
print(my_assistants.data)

Hämta assistent

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview

Hämtar en assistent.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
assistant_id sträng Obligatoriskt ID:t för assistenten som ska hämtas.

Returer

Assistentobjektet som matchar det angivna ID:t.

Exempel på hämtningsassistent

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

my_assistant = client.beta.assistants.retrieve("asst_abc123")
print(my_assistant)

Ändra assistent

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview

Ändrar en assistent.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
assistant_id sträng Obligatoriskt ID:t för assistenten som filen tillhör.

Begärandetext

Parameter Type Obligatoriskt Beskrivning
model Valfritt Modelldistributionsnamnet för den modell som ska användas.
name sträng eller null Valfritt Namnet på assistenten. Den maximala längden är 256 tecken.
description sträng eller null Valfritt Beskrivningen av assistenten. Den maximala längden är 512 tecken.
instructions sträng eller null Valfritt Systeminstruktionerna som assistenten använder. Den maximala längden är 32768 tecken.
tools matris Valfritt Standardvärdet är []. En lista över verktyg som är aktiverade på assistenten. Det kan finnas högst 128 verktyg per assistent. Verktyg kan vara av typer code_interpreter eller funktion. En function beskrivning kan vara högst 1 024 tecken.
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.
temperature tal eller null Valfritt Standardvärdet är 1. Avgör vilken samplingstemperatur som ska användas, mellan 0 och 2. Högre värden som 0,8 gör utdata mer slumpmässiga, medan lägre värden som 0,2 gör det mer fokuserat och deterministiskt.
top_p tal eller null Valfritt Standardvärdet är 1. Ett alternativ till sampling med temperatur, som kallas kärnsampling, där modellen tar hänsyn till resultatet av token med top_p sannolikhetsmassa. Så 0,1 innebär att endast token som består av den översta 10 % sannolikhetsmassan beaktas. Vi rekommenderar vanligtvis att du ändrar detta eller temperatur men inte båda.
response_format sträng eller objekt Valfritt Anger det format som modellen måste mata ut. Kompatibel med GPT-4 Turbo och alla GPT-3.5 Turbo modeller sedan gpt-3.5-turbo-1106. Om du anger den här parametern till { "type": "json_object" } aktiverar du JSON-läge, vilket garanterar att meddelandet som modellen genererar är giltigt JSON. När du använder JSON-läge måste du också instruera modellen att skapa JSON själv med hjälp av ett system- eller användarmeddelande. Utan den här instruktionen kan modellen generera en avaktiverande ström av blanksteg tills genereringen når tokengränsen, vilket resulterar i en tidskrävande och till synes "fast" begäran. Dessutom kan meddelandeinnehållet vara delvis avskuret om du använder finish_reason="length", vilket indikerar att genereringen överskreds max_tokens eller att konversationen överskred den maximala kontextlängden.
tool_resources objekt Valfritt En uppsättning resurser som används av assistentens verktyg. Resurserna är specifika för typen av verktyg. Verktyget kräver till exempel code_interpreter en lista över fil-ID:t, medan file_search verktyget kräver en lista över vektorarkiv-ID:t.

Returer

Det ändrade assistentobjektet.

Exempel på ändringsassistent

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

my_updated_assistant = client.beta.assistants.update(
  "asst_abc123",
  instructions="You are an HR bot, and you have access to files to answer employee questions about company policies. Always respond with info from either of the files.",
  name="HR Helper",
  tools=[{"type": "code-interpreter"}],
  model="gpt-4", #model = model deployment name
)

print(my_updated_assistant)

Ta bort assistent

DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview

Ta bort en assistent.

Sökvägsparametrar

Parameter Type Obligatoriskt Beskrivning
assistant_id sträng Obligatoriskt ID:t för assistenten som filen tillhör.

Returer

Borttagningsstatus.

Exempel på borttagningsassistent

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-08-01-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

response = client.beta.assistants.delete("asst_abc123")
print(response)

Api-referens för filuppladdning

Assistenter använder samma API för filuppladdning som finjustering. När du laddar upp en fil måste du ange ett lämpligt värde för syftesparametern.

Assistentobjekt

Fält Type Description
id sträng Identifieraren, som kan refereras till i API-slutpunkter.
object sträng Objekttypen, som alltid är assistent.
created_at integer Unix-tidsstämpeln (i sekunder) för när assistenten skapades.
name sträng eller null Namnet på assistenten. Den maximala längden är 256 tecken.
description sträng eller null Beskrivningen av assistenten. Den maximala längden är 512 tecken.
model sträng Namnet på modelldistributionsnamnet som ska användas.
instructions sträng eller null Systeminstruktionerna som assistenten använder. Den maximala längden är 32768 tecken.
tools matris En lista över verktyg som är aktiverade på assistenten. Det kan finnas högst 128 verktyg per assistent. Verktyg kan vara av typer code_interpreter eller funktion. En function beskrivning kan vara högst 1 024 tecken.
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.
temperature tal eller null Standardvärdet är 1. Avgör vilken samplingstemperatur som ska användas, mellan 0 och 2. Högre värden som 0,8 gör utdata mer slumpmässiga, medan lägre värden som 0,2 gör det mer fokuserat och deterministiskt.
top_p tal eller null Standardvärdet är 1. Ett alternativ till sampling med temperatur, som kallas kärnsampling, där modellen tar hänsyn till resultatet av token med top_p sannolikhetsmassa. Så 0,1 innebär att endast token som består av den översta 10 % sannolikhetsmassan beaktas. Vi rekommenderar vanligtvis att du ändrar detta eller temperatur men inte båda.
response_format sträng eller objekt Anger det format som modellen måste mata ut. Kompatibel med GPT-4 Turbo och alla GPT-3.5 Turbo modeller sedan gpt-3.5-turbo-1106. Om du anger den här parametern till { "type": "json_object" } aktiverar du JSON-läge, vilket garanterar att meddelandet som modellen genererar är giltigt JSON. När du använder JSON-läge måste du också instruera modellen att skapa JSON själv med hjälp av ett system- eller användarmeddelande. Utan den här instruktionen kan modellen generera en avaktiverande ström av blanksteg tills genereringen når tokengränsen, vilket resulterar i en tidskrävande och till synes "fast" begäran. Dessutom kan meddelandeinnehållet vara delvis avskuret om du använder finish_reason="length", vilket indikerar att genereringen överskreds max_tokens eller att konversationen överskred den maximala kontextlängden.
tool_resources objekt En uppsättning resurser som används av assistentens verktyg. Resurserna är specifika för typen av verktyg. Verktyget kräver till exempel code_interpreter en lista över fil-ID:t, medan file_search verktyget kräver en lista över vektorarkiv-ID:t.