Kodtolkare för Azure OpenAI-assistenter (förhandsversion)
Med kodtolkaren kan assistent-API:et skriva och köra Python-kod i en miljö med begränsat läge. När kodtolkaren är aktiverad kan assistenten köra kod iterativt för att lösa mer utmanande problem med kod-, matematik- och dataanalys. När assistenten skriver kod som inte kan köras kan den iterera på den här koden genom att ändra och köra annan kod tills kodkörningen lyckas.
Viktigt!
Kodtolken har ytterligare avgifter utöver de tokenbaserade avgifterna för Azure OpenAI-användning. Om assistenten anropar kodtolkaren samtidigt i två olika trådar skapas två kodtolkarsessioner. Varje session är aktiv som standard i en timme.
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.
Stöd för kodtolkare
Modeller som stöds
Sidan modeller innehåller den senaste informationen om regioner/modeller där assistenter och kodtolkare stöds.
Vi rekommenderar att du använder assistenter med de senaste modellerna för att dra nytta av de nya funktionerna, större kontextfönster och mer aktuella träningsdata.
API-versioner
2024-02-15-preview
2024-05-01-preview
Filtyper som stöds
File format | MIME-typ |
---|---|
c. | text/x-c |
.Cpp | text/x-c++ |
.csv | application/csv |
.docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
.html | text/html |
.java | text/x-java |
.json | application/json |
.md | text/markdown |
program/pdf | |
.php | text/x-php |
.pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |
.py | text/x-python |
.py | text/x-script.python |
.Rb | text/x-ruby |
.tex | text/x-tex |
.txt | text/plain |
.Css | text/css |
.jpeg | mallar/jpeg |
.jpg | mallar/jpeg |
.js | text/javascript |
.gif | bild/gif |
.png | image/png |
.tjära | application/x-tar |
.Ts | application/typescript |
.xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
.xml | application/xml eller "text/xml" |
.zip | program/zip |
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 parametern purpose.
Aktivera kodtolkare
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")
)
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"}]
)
Ladda upp fil för kodtolkare
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")
)
# Upload a file with an "assistants" purpose
file = client.files.create(
file=open("speech.py", "rb"),
purpose='assistants'
)
# Create an assistant using the file ID
assistant = client.beta.assistants.create(
instructions="You are an AI assistant that can write code to help answer math questions.",
model="gpt-4-1106-preview",
tools=[{"type": "code_interpreter"}],
tool_resources={"code interpreter":{"file_ids":[file.id]}}
)
Skicka filen till en enskild tråd
Förutom att göra filer tillgängliga på assistentnivå kan du skicka filer så att de endast är tillgängliga för en viss tråd.
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")
)
thread = client.beta.threads.create(
messages=[
{
"role": "user",
"content": "I need to solve the equation `3x + 11 = 14`. Can you help me?",
"file_ids": ["file.id"] # file id will look like: "assistant-R9uhPxvRKGH3m0x5zBOhMjd2"
}
]
)
Ladda ned filer som genereras av kodtolkare
Filer som genereras av kodtolkaren finns i assistentens meddelandesvar
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
Du kan ladda ned dessa genererade filer genom att skicka filerna till fil-API:et:
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")
)
image_data = client.files.content("assistant-abc123")
image_data_bytes = image_data.read()
with open("./my-image.png", "wb") as file:
file.write(image_data_bytes)
Se även
- Referens för API för filuppladdning
- API-referens för assistenter
- Läs mer om hur du använder assistenter med vår instruktionsguide om assistenter.
- API-exempel för Azure OpenAI Assistants