Interpret kódu Pro Azure OpenAI (Preview)
Interpret kódu umožňuje rozhraní API asistentů psát a spouštět kód Pythonu v prostředí spouštění v izolovaném prostoru (sandbox). S povoleným interpretem kódu může váš asistent spouštět iterativní spouštění kódu, aby vyřešil náročnější problémy s kódem, matematikou a analýzou dat. Když pomocník napíše kód, který se nepodaří spustit, může iterovat tento kód úpravou a spuštěním jiného kódu, dokud se spuštění kódu nezdaří.
Důležité
Interpret kódu má další poplatky nad rámec poplatků založených na tokenech za využití Azure OpenAI. Pokud váš asistent volá interpret kódu současně ve dvou různých vláknech, vytvoří se dvě relace interpretu kódu. Každá relace je ve výchozím nastavení aktivní po dobu jedné hodiny.
Poznámka:
- Hledání souborů může ingestovat až 10 000 souborů na asistenta – 500krát více než dříve. Je to rychlý způsob, podporuje paralelní dotazy prostřednictvím vícevláknového vyhledávání a vylepšeného řazení a přepisování dotazů.
- Vektorové úložiště je nový objekt v rozhraní API. Jakmile se soubor přidá do úložiště vektorů, automaticky se parsuje, zachytá a vloží a připraví k hledání. Vektorová úložiště se dají používat napříč asistenty a vlákny, což zjednodušuje správu souborů a fakturaci.
- Přidali jsme podporu parametru
tool_choice
, který se dá použít k vynucení použití konkrétního nástroje (například vyhledávání souborů, interpret kódu nebo funkce) v určitém spuštění.
Podpora interpreta kódu
Podporované modely
Stránka modelů obsahuje nejaktuálnější informace o oblastech nebo modelech, kde jsou podporováni asistenti a interpret kódu.
Doporučujeme používat asistenty s nejnovějšími modely, abyste mohli využívat nové funkce, větší kontextová okna a aktuální trénovací data.
Verze rozhraní API
2024-02-15-preview
2024-05-01-preview
Podporované typy souborů
File format | Typ MIME |
---|---|
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 |
aplikace/pdf | |
.php | text/x-php |
.pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |
.py | text/x-python |
.py | text/x-script.python |
.rubidium | text/x-ruby |
.Tex | text/x-tex |
.txt | text/plain |
.Css | text/css |
.jpeg | image/jpeg |
.jpg | image/jpeg |
.js | text/javascript |
.gif | image/gif |
.png | image/png |
.dehet | application/x-tar |
.Ts | application/typescript |
.xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
.xml | application/xml nebo "text/xml" |
.zip | aplikace/zip |
Referenční informace k rozhraní API pro nahrání souborů
Asistenti používají stejné rozhraní API pro nahrávání souborů jako vyladění. Při nahrávání souboru musíte zadat odpovídající hodnotu pro parametr účelu.
Povolit interpret kódu
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"}]
)
Nahrání souboru pro interpret kódu
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]}}
)
Předání souboru do jednotlivého vlákna
Kromě zpřístupnění souborů na úrovni Asistenti můžete předat soubory, aby byly přístupné jenom pro určité vlákno.
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"
}
]
)
Stažení souborů vygenerovaných interpretem kódu
Soubory vygenerované interpretem kódu najdete v odpovědích na zprávu Pomocníka.
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
Tyto vygenerované soubory si můžete stáhnout předáním souborů do rozhraní API souborů:
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)
Viz také
- Referenční informace k rozhraní API pro nahrávání souborů
- Referenční informace k rozhraní API pro asistenty
- Přečtěte si další informace o tom, jak používat asistenty s našimi návody pro asistenty.
- Ukázky rozhraní API pro asistenty Azure OpenAI