Yardımcılar API'si (Önizleme) başvurusu
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 derecelendirme ve sorguyu 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, öbeklere ayrılır, eklenir ve aramaya hazır hale getirilir. Vektör depolarının birden fazla yardımcı ve iş parçacığı arasında kullanılabilmesi, 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.
Bu makalede, yeni Yardımcılar API'sine (Önizleme) yönelik Python ve REST için başvuru belgeleri sağlanır. Başlangıç kılavuzunda daha ayrıntılı adım adım yönergeler sağlanır.
Yardımcı oluşturma
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview
Model ve yönergeler içeren bir yardımcı oluşturun.
Request body
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
model | Dize | Zorunlu | Kullanılacak modelin model dağıtım adı. |
Adı | dize veya null | İsteğe bağlı | Asistanın adı. Uzunluk üst sınırı 256 karakterdir. |
açıklama | dize veya null | İsteğe bağlı | Asistanın açıklaması. Uzunluk üst sınırı 512 karakterdir. |
yönergeler | dize veya null | İsteğe bağlı | Yardımcının kullandığı sistem yönergeleri. Uzunluk üst sınırı 256.000 karakterdir. |
araçlar | dizi | İsteğe bağlı | Varsayılan olarak []. Yardımcıda etkinleştirilen araçların listesi. Yardımcı başına en fazla 128 araç olabilir. Araçlar şu anda veya function türünde code_interpreter olabilir. Açıklama function en fazla 1.024 karakter olabilir. |
meta veriler | map | İsteğe bağlı | Bir nesneye eklenebilen 16 anahtar-değer çifti kümesi. Bu, nesne hakkında ek bilgileri yapılandırılmış biçimde depolamak için yararlı olabilir. Anahtarlar en fazla 64 karakter uzunluğunda ve değerler en fazla 512 karakter uzunluğunda olabilir. |
sıcaklık | sayı veya null | İsteğe bağlı | Varsayılan değer 1'tir. 0 ile 2 arasında hangi örnekleme sıcaklığının kullanılacağını belirler. 0,8 gibi daha yüksek değerler çıkışı daha rastgele hale getirirken, 0,2 gibi daha düşük değerler daha odaklanmış ve belirleyici hale getirir. |
top_p | sayı veya null | İsteğe bağlı | Varsayılan değer 1'tir. Modelin top_p olasılık kütlesine sahip belirteçlerin sonuçlarını dikkate aldığı, çekirdek örneklemesi olarak adlandırılan sıcaklıkla örneklemeye alternatiftir. Bu nedenle 0,1 yalnızca ilk %10 olasılık kütlesinden oluşan belirteçlerin dikkate alınması anlamına gelir. Genellikle bunu veya sıcaklığı değiştirmenizi öneririz, ancak ikisini birden değiştirmemenizi öneririz. |
response_format | dize veya nesne | İsteğe bağlı | Modelin çıkış yapması gereken biçimi belirtir. GPT-4 Turbo ve gpt-3.5-turbo-1106'dan bu yana tüm GPT-3.5 Turbo modelleri ile uyumludur. Bu parametreyi JSON modunu etkinleştirecek şekilde { "type": "json_object" } ayarlamak, modelin oluşturduğu iletinin geçerli JSON olduğunu garanti eder. Önemli olan, JSON modunu kullanırken modele bir sistem veya kullanıcı iletisi kullanarak JSON üretmesini de belirtmeniz gerekir. Bu yönerge olmadan model, nesil belirteç sınırına ulaşana kadar bitmeyen bir boşluk akışı oluşturabilir ve bu da uzun süre çalışan ve görünüşe göre "takılmış" bir istekle sonuçlanır. Ayrıca, kullanırsanız finish_reason="length" ileti içeriği kısmen kesilebilir. Bu, neslin aştığını max_tokens veya konuşmanın bağlam uzunluğunun üst sınırını aştığını gösterir. |
tool_resources | nesne | İsteğe bağlı | Yardımcının araçları tarafından kullanılan bir kaynak kümesi. Kaynaklar araç türüne özeldir. Örneğin, code_interpreter araç bir dosya kimlikleri listesi gerektirirken file_search , araç vektör deposu kimliklerinin listesini gerektirir. |
response_format türleri
string
auto
varsayılan değerdir.
object
Olası type
değerler: text
, json_object
, json_schema
.
json_schema
Adı | Tür | Açıklama | Varsayılan | Gerekli/isteğe bağlı |
---|---|---|---|---|
description |
Dize | Yanıt biçiminin ne için olduğuna ilişkin bir açıklama, model tarafından biçimde nasıl yanıt verileceğini belirlemek için kullanılır. | İsteğe bağlı | |
name |
Dize | Yanıt biçiminin adı. En fazla uzunluğu 64 olan a-z, A-Z, 0-9 veya alt çizgi ve kısa çizgi içermelidir. | Zorunlu | |
schema |
nesne | JSON Şeması nesnesi olarak tanımlanan yanıt biçimi şeması. | İsteğe bağlı | |
strict |
boole veya null | Çıktı oluşturulurken sıkı şemaya bağlı kalınmasının etkinleştirilip etkinleştirilmeyileceği. True olarak ayarlanırsa, model her zaman alanda tanımlanan tam şemayı schema izler. olduğunda strict true JSON Şemasının yalnızca bir alt kümesi desteklenir. |
yanlış | İsteğe bağlı |
tool_resources özellikleri
code_interpreter
Adı | Tür | Açıklama | Varsayılan |
---|---|---|---|
file_ids |
dizi | code_interpreter aracının kullanımına sunulan dosya kimliklerinin listesi. Araçla ilişkili en fazla 20 dosya olabilir. | [] |
file_search
Adı | Tür | Açıklama | Gerekli/isteğe bağlı |
---|---|---|---|
vector_store_ids |
dizi | Bu iş parçacığına bağlı vektör deposu. İş parçacığına en fazla 1 vektör deposu eklenebilir. | İsteğe bağlı |
vector_stores |
dizi | file_ids ile bir vektör deposu oluşturmak ve bunu bu iş parçacığına eklemek için bir yardımcı. İş parçacığına en fazla 1 vektör deposu eklenebilir. | İsteğe bağlı |
vector_stores
Adı | Tür | Açıklama | Gerekli/isteğe bağlı |
---|---|---|---|
file_ids |
dizi | Vektör deposuna eklenecek dosya kimliklerinin listesi. Vektör deposunda en fazla 10000 dosya olabilir. | İsteğe bağlı |
chunking_strategy |
nesne | Dosyaları öbekleme için kullanılan öbekleme stratejisi. Ayarlanmadıysa, otomatik stratejiyi kullanır. | İsteğe bağlı |
metadata |
map | Vektör deposuna eklenebilen 16 anahtar-değer çifti kümesi. Bu, vektör deposu hakkında ek bilgileri yapılandırılmış biçimde depolamak için yararlı olabilir. Anahtarlar en fazla 64 karakter uzunluğunda ve değerler en fazla 512 karakter uzunluğunda olabilir. | İsteğe bağlı |
chunking_strategy
Adı | Tür | Açıklama | Gerekli/isteğe bağlı |
---|---|---|---|
Auto Chunking Strategy |
nesne | Varsayılan strateji. Bu strateji şu anda ve'nin chunk_overlap_tokens bir max_chunk_size_tokens sürümünü 800 400 kullanır.
type her zaman auto değerine sahiptir |
Zorunlu |
Static Chunking Strategy |
nesne |
type Her zaman static |
Zorunlu |
Statik Öbekleme Stratejisi
Adı | Tür | Açıklama | Gerekli/isteğe bağlı |
---|---|---|---|
max_chunk_size_tokens |
integer | Her öbekteki en fazla belirteç sayısı. Varsayılan değer şudur: 800 . En düşük değer, 100 en büyük değer ise şeklindedir 4096 . |
Zorunlu |
chunk_overlap_tokens |
integer | Öbekler arasında çakışan belirteçlerin sayısı. Varsayılan değer şudur: 400 . Çakışmanın yarısını max_chunk_size_tokens aşmaması gerektiğini unutmayın. |
Zorunlu |
Döndürülenler
Bir yardımcı nesnesi.
Örnek yardımcı oluşturma isteği
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"}]
)
Yardımcıları listeleme
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview
Tüm yardımcıların listesini döndürür.
Sorgu parametreleri
Parametre | Türü | Zorunlu | Açıklama |
---|---|---|---|
limit |
integer | İsteğe bağlı | Döndürülecek nesne sayısıyla ilgili bir sınır. Sınır 1 ile 100 arasında olabilir ve varsayılan değer 20'dir. |
order |
Dize | İsteğe bağlı - Desc varsayılanları | Düzeni nesnelerin created_at zaman damgasına göre sıralayın. artan düzen için asc ve azalan düzen için desc. |
after |
Dize | İsteğe bağlı | Sayfalandırmada kullanılacak bir imleç.
after , listedeki yerinizi tanımlayan bir nesne kimliğidir. Örneğin, bir liste isteğinde bulunur ve obj_foo ile biten 100 nesne alırsanız, listenin sonraki sayfasını getirmek için sonraki çağrınız after=obj_foo içerebilir. |
before |
Dize | İsteğe bağlı | Sayfalandırmada kullanılacak bir imleç.
before , listedeki yerinizi tanımlayan bir nesne kimliğidir. Örneğin, bir liste isteğinde bulunur ve obj_foo ile biten 100 nesne alırsanız, listenin önceki sayfasını getirmek için sonraki çağrınız before=obj_foo içerebilir. |
Döndürülenler
Yardımcı nesnelerin listesi
Örnek liste yardımcıları
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)
Yardımcıyı alma
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Bir yardımcı alır.
Yol parametreleri
Parametre | Türü | Zorunlu | Açıklama |
---|---|---|---|
assistant_id |
Dize | Zorunlu | Alınacak yardımcının kimliği. |
İadeler
Belirtilen kimlikle eşleşen yardımcı nesnesi.
Örnek alma yardımcısı
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)
Yardımcıyı değiştir
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Bir yardımcıyı değiştirir.
Yol parametreleri
Parametre | Türü | Zorunlu | Açıklama |
---|---|---|---|
assistant_id | Dize | Zorunlu | Dosyanın ait olduğu yardımcının kimliği. |
İstek Gövdesi
Parametre | Türü | Zorunlu | Açıklama |
---|---|---|---|
model |
İsteğe bağlı | Kullanılacak modelin model dağıtım adı. | |
name |
dize veya null | İsteğe bağlı | Asistanın adı. Uzunluk üst sınırı 256 karakterdir. |
description |
dize veya null | İsteğe bağlı | Asistanın açıklaması. Uzunluk üst sınırı 512 karakterdir. |
instructions |
dize veya null | İsteğe bağlı | Yardımcının kullandığı sistem yönergeleri. Uzunluk üst sınırı 32768 karakterdir. |
tools |
dizi | İsteğe bağlı | Varsayılan olarak []. Yardımcıda etkinleştirilen araçların listesi. Yardımcı başına en fazla 128 araç olabilir. Araçlar code_interpreter veya işlev türünde olabilir. Açıklama function en fazla 1.024 karakter olabilir. |
metadata |
map | İsteğe bağlı | Bir nesneye eklenebilen 16 anahtar-değer çifti kümesi. Bu, nesne hakkında ek bilgileri yapılandırılmış biçimde depolamak için yararlı olabilir. Anahtarlar en fazla 64 karakter uzunluğunda ve değerler en fazla 512 karakter uzunluğunda olabilir. |
temperature |
sayı veya null | İsteğe bağlı | Varsayılan değer 1'tir. 0 ile 2 arasında hangi örnekleme sıcaklığının kullanılacağını belirler. 0,8 gibi daha yüksek değerler çıkışı daha rastgele hale getirirken, 0,2 gibi daha düşük değerler daha odaklanmış ve belirleyici hale getirir. |
top_p |
sayı veya null | İsteğe bağlı | Varsayılan değer 1'tir. Modelin top_p olasılık kütlesine sahip belirteçlerin sonuçlarını dikkate aldığı, çekirdek örneklemesi olarak adlandırılan sıcaklıkla örneklemeye alternatiftir. Bu nedenle 0,1 yalnızca ilk %10 olasılık kütlesinden oluşan belirteçlerin dikkate alınması anlamına gelir. Genellikle bunu veya sıcaklığı değiştirmenizi öneririz, ancak ikisini birden değiştirmemenizi öneririz. |
response_format |
dize veya nesne | İsteğe bağlı | Modelin çıkış yapması gereken biçimi belirtir. GPT-4 Turbo ve gpt-3.5-turbo-1106'dan bu yana tüm GPT-3.5 Turbo modelleri ile uyumludur. Bu parametreyi JSON modunu etkinleştirecek şekilde { "type": "json_object" } ayarlamak, modelin oluşturduğu iletinin geçerli JSON olduğunu garanti eder. Önemli olan, JSON modunu kullanırken modele bir sistem veya kullanıcı iletisi kullanarak JSON üretmesini de belirtmeniz gerekir. Bu yönerge olmadan model, nesil belirteç sınırına ulaşana kadar bitmeyen bir boşluk akışı oluşturabilir ve bu da uzun süre çalışan ve görünüşe göre "takılmış" bir istekle sonuçlanır. Ayrıca, kullanırsanız finish_reason="length" ileti içeriği kısmen kesilebilir. Bu, neslin aştığını max_tokens veya konuşmanın bağlam uzunluğunun üst sınırını aştığını gösterir. |
tool_resources |
nesne | İsteğe bağlı | Yardımcının araçları tarafından kullanılan bir kaynak kümesi. Kaynaklar araç türüne özeldir. Örneğin, code_interpreter araç bir dosya kimlikleri listesi gerektirirken file_search , araç vektör deposu kimliklerinin listesini gerektirir. |
İadeler
Değiştirilen yardımcı nesnesi.
Örnek değiştirme yardımcısı
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)
Yardımcıyı sil
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants/{assistant_id}?api-version=2024-08-01-preview
Bir yardımcıyı silin.
Yol parametreleri
Parametre | Türü | Zorunlu | Açıklama |
---|---|---|---|
assistant_id |
Dize | Zorunlu | Dosyanın ait olduğu yardımcının kimliği. |
İadeler
Silme durumu.
Örnek silme yardımcısı
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)
Dosya yükleme API'si başvurusu
Yardımcılar, dosya yükleme için ince ayar ile aynı API'yi kullanır. Bir dosyayı karşıya yüklerken, amaç parametresi için uygun bir değer belirtmeniz gerekir.
Yardımcı nesnesi
Alan | Tür | Veri Akışı Açıklaması |
---|---|---|
id |
Dize | API uç noktalarında başvurulabilen tanımlayıcı. |
object |
Dize | Her zaman yardımcı olan nesne türü. |
created_at |
integer | Yardımcının oluşturulduğu zaman için Unix zaman damgası (saniye olarak). |
name |
dize veya null | Asistanın adı. Uzunluk üst sınırı 256 karakterdir. |
description |
dize veya null | Asistanın açıklaması. Uzunluk üst sınırı 512 karakterdir. |
model |
Dize | Kullanılacak model dağıtım adının adı. |
instructions |
dize veya null | Yardımcının kullandığı sistem yönergeleri. Uzunluk üst sınırı 32768 karakterdir. |
tools |
dizi | Yardımcıda etkinleştirilen aracın listesi. Yardımcı başına en fazla 128 araç olabilir. Araçlar code_interpreter veya işlev türünde olabilir. Açıklama function en fazla 1.024 karakter olabilir. |
metadata |
map | Bir nesneye eklenebilen 16 anahtar-değer çifti kümesi. Bu, nesne hakkında ek bilgileri yapılandırılmış biçimde depolamak için yararlı olabilir. Anahtarlar en fazla 64 karakter uzunluğunda ve değerler en fazla 512 karakter uzunluğunda olabilir. |
temperature |
sayı veya null | Varsayılan değer 1'tir. 0 ile 2 arasında hangi örnekleme sıcaklığının kullanılacağını belirler. 0,8 gibi daha yüksek değerler çıkışı daha rastgele hale getirirken, 0,2 gibi daha düşük değerler daha odaklanmış ve belirleyici hale getirir. |
top_p |
sayı veya null | Varsayılan değer 1'tir. Modelin top_p olasılık kütlesine sahip belirteçlerin sonuçlarını dikkate aldığı, çekirdek örneklemesi olarak adlandırılan sıcaklıkla örneklemeye alternatiftir. Bu nedenle 0,1 yalnızca ilk %10 olasılık kütlesinden oluşan belirteçlerin dikkate alınması anlamına gelir. Genellikle bunu veya sıcaklığı değiştirmenizi öneririz, ancak ikisini birden değiştirmemenizi öneririz. |
response_format |
dize veya nesne | Modelin çıkış yapması gereken biçimi belirtir. GPT-4 Turbo ve gpt-3.5-turbo-1106'dan bu yana tüm GPT-3.5 Turbo modelleri ile uyumludur. Bu parametreyi JSON modunu etkinleştirecek şekilde { "type": "json_object" } ayarlamak, modelin oluşturduğu iletinin geçerli JSON olduğunu garanti eder. Önemli olan, JSON modunu kullanırken modele bir sistem veya kullanıcı iletisi kullanarak JSON üretmesini de belirtmeniz gerekir. Bu yönerge olmadan model, nesil belirteç sınırına ulaşana kadar bitmeyen bir boşluk akışı oluşturabilir ve bu da uzun süre çalışan ve görünüşe göre "takılmış" bir istekle sonuçlanır. Ayrıca, kullanırsanız finish_reason="length" ileti içeriği kısmen kesilebilir. Bu, neslin aştığını max_tokens veya konuşmanın bağlam uzunluğunun üst sınırını aştığını gösterir. |
tool_resources |
nesne | Yardımcının araçları tarafından kullanılan bir kaynak kümesi. Kaynaklar araç türüne özeldir. Örneğin, code_interpreter araç bir dosya kimlikleri listesi gerektirirken file_search , araç vektör deposu kimliklerinin listesini gerektirir. |