Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Ten dokument odnosi się do portalu Microsoft Foundry (klasycznego).
🔍 Zapoznaj się z dokumentacją rozwiązania Microsoft Foundry (nową), aby dowiedzieć się więcej o nowym portalu.
Uwaga / Notatka
Usługa Microsoft Foundry Agent jest teraz ogólnie dostępna, co zapewnia więcej narzędzi i lepszych funkcji przedsiębiorstwa. Zalecamy korzystanie z nowej usługi w celu uzyskania najnowszych aktualizacji i ulepszeń funkcji.
Interpreter kodu umożliwia interfejsowi API Asystenta pisanie i uruchamianie kodu w języku Python w piaskownicowym środowisku wykonawczym. Po włączeniu interpretera kodów asystent może uruchamiać kod iteracyjnie, aby rozwiązać trudniejsze problemy z kodem, matematyką i analizą danych. Gdy Asystent zapisuje kod, który nie może uruchomić, może iterować ten kod, modyfikując i uruchamiając inny kod do momentu pomyślnego wykonania kodu.
Ważne
Z interpreterem kodów wiążą się dodatkowe opłaty poza opłatami opartymi na tokenach za użycie usługi Azure OpenAI. Jeśli asystent wywołuje interpretera kodów jednocześnie w dwóch różnych wątkach, tworzone są dwie sesje interpretera kodów. Każda sesja jest domyślnie aktywna przez 1 godzinę z limitem czasu bezczynności 30 minut.
Obsługa interpretera kodu
Obsługiwane modele
Strona modeli zawiera najbardziej aktualne informacje dotyczące regionów/modeli, w których obsługiwane są asystenty i interpreter kodu.
Zalecamy używanie asystentów z najnowszymi modelami, aby korzystać z nowych funkcji, większych okien kontekstowych i bardziej aktualnych danych treningowych.
Wersje interfejsu API
- Rozpoczynanie w
2024-02-15-preview
Typy obsługiwanych plików
| Format pliku | Typ MIME |
|---|---|
| .c | tekst/x-c |
| .cpp | text/x-c++ |
| .csv | aplikacja/csv |
| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| .html | tekst/html |
| .java | text/x-java |
| .json | aplikacja/json |
| .md | tekst/markdown |
| aplikacja/plik PDF | |
| .php | text/x-php |
| .pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| .Py | text/x-python |
| .Py | text/x-script.python |
| .rb | tekst/x-ruby |
| .tex | text/x-tex |
| .txt | tekst/zwykły |
| .css | tekst/css |
| .jpeg | image/jpeg |
| .jpg | image/jpeg |
| js | text/javascript |
| .gif | obrazek/gif |
| .png | image/png |
| .tar | aplikacja/x-tar |
| .Ts | application/typescript |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| .xml | application/xml lub "text/xml" |
| .zip | aplikacja/zip |
Specyfikacja interfejsu API przesyłania plików
Asystenci używają tego samego interfejsu API do przekazywania plików w ramach dostrajania. Podczas przekazywania pliku należy określić odpowiednią wartość parametru purpose.
Włączanie interpretera kodu
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"}]
)
Przekazywanie pliku dla interpretera kodu
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]}}
)
Przekazywanie pliku do pojedynczego wątku
Oprócz udostępniania plików na poziomie Asystentów można przekazywać pliki, aby były dostępne tylko dla określonego wątku.
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"
}
]
)
Pobieranie plików generowanych przez interpreter kodu
Pliki generowane przez interpreter kodu można znaleźć w odpowiedziach na komunikaty Asystenta
{
"id": "msg_oJbUanImBRpRran5HSa4Duy4",
"assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
"content": [
{
"image_file": {
"file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
},
"type": "image_file"
},
# ...
}
Te wygenerowane pliki można pobrać, przekazując pliki do interfejsu API plików:
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)
Zobacz także
- Dokumentacja interfejsu API przekazywania plików
- Dokumentacja interfejsu API asystentów
- Dowiedz się więcej na temat korzystania z asystentów, korzystając z naszego przewodnika z instrukcjami dotyczącymi asystentów.
- Przykłady interfejsu API asystentów openAI platformy Azure