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. |