Aracılığıyla paylaş


Azure OpenAI Yardımcıları Kod Yorumlayıcısı (Önizleme)

Kod Yorumlayıcı, Yardımcılar API'sinin korumalı bir yürütme ortamında Python kodu yazmasına ve çalıştırmasına olanak tanır. Kod Yorumlayıcı etkinleştirildiğinde, Yardımcınız daha zorlu kod, matematik ve veri analizi sorunlarını çözmek için kodu yinelemeli olarak çalıştırabilir. Yardımcınız çalıştırılamıyor kodu yazdığında, kod yürütme başarılı olana kadar farklı kodu değiştirip çalıştırarak bu kodu yineleyebilir.

Önemli

Kod Yorumlayıcı, Azure OpenAI kullanımı için belirteç tabanlı ücretlerin ötesinde ek ücretlere sahiptir. Yardımcınız kod yorumlayıcıyı aynı anda iki farklı iş parçacığında çağırırsa, iki kod yorumlayıcı oturumu oluşturulur. Her oturum varsayılan olarak bir saat boyunca etkindir.

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.

Kod yorumlayıcı desteği

Desteklenen modeller

Modeller sayfası , Yardımcıların ve kod yorumlayıcının desteklendiği bölgeler/modeller hakkında en güncel bilgileri içerir.

Yeni özelliklerin yanı sıra daha büyük bağlam pencerelerinden ve daha güncel eğitim verilerinden yararlanmak için en son modellere sahip yardımcıları kullanmanızı öneririz.

API Sürümleri

  • 2024-02-15-preview
  • 2024-05-01-preview

Desteklenen dosya türleri

Dosya biçimi MIME Türü
c. metin/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
.pdf uygulama/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 metin/x-tex
.txt text/plain
.Css metin/css
.jpeg resim/jpeg
.jpg resim/jpeg
.js text/javascript
.gif resim/gif
.png resim/png
.Tar application/x-tar
.Ts application/typescript
.xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xml application/xml veya "text/xml"
.zip application/zip

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.

Kod Yorumlayıcısını Etkinleştirme

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"}]
)

Kod Yorumlayıcı için karşıya dosya yükleme

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"}],
  file_ids=[file.id]
)

Dosyayı tek bir iş parçacığına geçirme

Dosyaları Yardımcılar düzeyinde erişilebilir hale getirmenin yanı sıra, dosyaları geçirerek yalnızca belirli bir iş parçacığı için erişilebilir olmasını sağlayabilirsiniz.

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" 
    }
  ]
)

Kod Yorumlayıcı tarafından oluşturulan dosyaları indirme

Kod Yorumlayıcı tarafından oluşturulan dosyalar Yardımcı ileti yanıtlarında bulunabilir

 {
      "id": "msg_oJbUanImBRpRran5HSa4Duy4",
      "assistant_id": "asst_eHwhP4Xnad0bZdJrjHO2hfB4",
      "content": [
        {
          "image_file": {
            "file_id": "assistant-1YGVTvNzc2JXajI5JU9F0HMD"
          },
          "type": "image_file"
        },
        # ...
 }

Dosyaları dosyalar API'sine geçirerek bu oluşturulan dosyaları indirebilirsiniz:

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)

Ayrıca bkz.