Azure OpenAI Yardımcıları işlev çağrısı
Yardımcılar API'si, bir Yardımcı'ya işlevlerin yapısını açıklamanıza ve ardından bağımsız değişkenleriyle birlikte çağrılması gereken işlevleri döndürmenize olanak tanıyan işlev çağrısını destekler.
Not
- Dosya arama , yardımcı başına 10.000'e kadar dosya alabilir - öncekinden 500 kat daha fazla. Hızlıdır, çok iş parçacıklı aramalar aracılığıyla paralel sorguları destekler ve gelişmiş yeniden boyutlandırma ve sorgu yeniden yazma özellikleri sunar.
- Vektör deposu API'de yeni bir nesnedir. Bir dosya bir vektör deposuna eklendikten sonra otomatik olarak ayrıştırılır, öbeklenip eklenir ve aranmaya hazır hale getirilir. Vektör depoları yardımcılar ve iş parçacıkları arasında kullanılabilir ve bu da dosya yönetimini ve faturalamayı basitleştirir.
- Belirli bir çalıştırmada
tool_choice
belirli bir aracın (dosya arama, kod yorumlayıcı veya işlev gibi) kullanılmasını zorlamak için kullanılabilecek parametre desteği ekledik.
İşlev çağrısı desteği
Desteklenen modeller
Modeller sayfası, Yardımcıların desteklendiği bölgeler/modeller hakkında en güncel bilgileri içerir.
Paralel işlevler de dahil olmak üzere işlev çağrısının tüm özelliklerini kullanmak için 6 Kasım 2023'den sonra yayımlanan bir modeli kullanmanız gerekir.
API Sürümleri
2024-02-15-preview
2024-05-01-preview
Örnek işlev tanımı
Not
- Belirli bir çalıştırmada
tool_choice
belirli bir aracın (, veyafunction
gibifile_search
code_interpreter
) kullanılmasını zorlamak için kullanılabilecek parametresi için destek ekledik. - Çalıştırmaların süresi oluşturulduktan on dakika sonra dolar. Bu süre dolmadan önce araç çıkışlarınızı gönderdiğinizden emin olun.
- Ayrıca Azure Logic apps ile işlev çağrısı da gerçekleştirebilirsiniz
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-15-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
assistant = client.beta.assistants.create(
instructions="You are a weather bot. Use the provided functions to answer questions.",
model="gpt-4-1106-preview", #Replace with model deployment name
tools=[{
"type": "function",
"function": {
"name": "getCurrentWeather",
"description": "Get the weather in location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "The city and state e.g. San Francisco, CA"},
"unit": {"type": "string", "enum": ["c", "f"]}
},
"required": ["location"]
}
}
}, {
"type": "function",
"function": {
"name": "getNickname",
"description": "Get the nickname of a city",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "The city and state e.g. San Francisco, CA"},
},
"required": ["location"]
}
}
}]
)
İşlevleri okuma
İşlevi tetikleyen bir kullanıcı İletisi ile Çalıştır'ı başlattığınızda, Çalıştır beklemede bir durum girer. İşlemden sonra çalıştırma, Çalıştır'ı alarak doğrulayabileceğiniz bir requires_action durumu girer.
{
"id": "run_abc123",
"object": "thread.run",
"assistant_id": "asst_abc123",
"thread_id": "thread_abc123",
"status": "requires_action",
"required_action": {
"type": "submit_tool_outputs",
"submit_tool_outputs": {
"tool_calls": [
{
"id": "call_abc123",
"type": "function",
"function": {
"name": "getCurrentWeather",
"arguments": "{\"location\":\"San Francisco\"}"
}
},
{
"id": "call_abc456",
"type": "function",
"function": {
"name": "getNickname",
"arguments": "{\"location\":\"Los Angeles\"}"
}
}
]
}
},
...
İşlev çıkışları gönderiliyor
Ardından çağırdığınız işlevlerden araç çıkışını göndererek Çalıştır'ı tamamlayabilirsiniz. Çıktıyı tool_call_id
her işlev çağrısıyla required_action
eşleştirmek için yukarıdaki nesnede başvuruda bulunanı geçirin.
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-15-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
run = client.beta.threads.runs.submit_tool_outputs(
thread_id=thread.id,
run_id=run.id,
tool_outputs=[
{
"tool_call_id": call_ids[0],
"output": "22C",
},
{
"tool_call_id": call_ids[1],
"output": "LA",
},
]
)
Araç çıkışlarını gönderdikten sonra Çalıştır, yürütmeye queued
devam etmeden önce durumu girer.
Ayrıca bkz.
- Yardımcılar API Başvurusu
- Yardımcılar hakkında nasıl yapılır kılavuzumuzla Yardımcıları kullanma hakkında daha fazla bilgi edinin.
- Azure OpenAI Yardımcıları API örnekleri