Aracılığıyla paylaş


Hızlı Başlangıç: Azure OpenAI Yardımcılarını kullanmaya başlama (Önizleme)

Azure OpenAI Yardımcıları (Önizleme), özel talimatlar aracılığıyla ihtiyaçlarınıza göre uyarlanmış ve kod yorumlayıcı ve özel işlevler gibi gelişmiş araçlarla güçlendirilmiş yapay zeka yardımcıları oluşturmanıza olanak tanır.

Önkoşullar

Azure OpenAI Studio'ya gidin

adresinden Azure OpenAI Studio'ya https://oai.azure.com/ gidin ve OpenAI kaynağınıza erişimi olan kimlik bilgileriyle oturum açın. Oturum açma iş akışı sırasında veya sonrasında uygun dizini, Azure aboneliğini ve Azure OpenAI kaynağını seçin.

Azure OpenAI Studio giriş sayfasından, sol taraftaki Playground>Assistants (Önizleme) gezintisinden Yardımcı'nın oyun alanı başlatın

Azure OpenAI Studio giriş sayfasının ekran görüntüsü.

Çocuk bahçesi

Asistanlar oyun alanı, herhangi bir kod çalıştırmanıza gerek kalmadan yapay zeka yardımcılarını keşfetmenize, prototip oluşturmanıza ve test etmenize olanak tanır. Bu sayfadan, yeni fikirleri hızla yineleyebilir ve denemeler yapabilirsiniz.

Tüm değerler doldurulmadan Yardımcı yapılandırma ekranının ekran görüntüsü.

Yardımcı kurulumu

Yeni bir yapay zeka yardımcısı oluşturmak veya var olan bir yardımcıyı seçmek için Yardımcı kurulum bölmesini kullanın.

Ad Açıklama
Yardımcının adı Belirli bir modelle ilişkilendirilmiş dağıtım adınız.
Yönergeler Yönergeler sistem mesajlarına benzer, modele nasıl davranması gerektiği ve bir yanıt oluştururken başvurması gereken bağlam hakkında rehberlik verdiğiniz yerdir. Yardımcının kişiliğini açıklayabilir, neye cevap verip vermemesi gerektiğini söyleyebilir ve yanıtları nasıl biçimlendireceğini anlatabilirsiniz. Yanıtları cevaplarken atması gereken adımlara örnekler de sağlayabilirsiniz.
Dağıtım Burası yardımcınızla hangi model dağıtımını kullanacağınızı ayarladığınız yerdir.
İşlevler API çağrılarını formüle etmek ve veri çıktılarını belirtimlerinize göre yapılandırmak üzere modeller için özel işlev tanımları oluşturma
Kod yorumlayıcı Kod yorumlayıcı, modelin kodu test etmesine ve yürütmesine izin vermek için kullanılabilecek korumalı bir Python ortamına erişim sağlar.
Dosyalar Araçlarla kullanmak üzere maksimum dosya boyutu 512 MB olmak üzere 20 adede kadar dosya yükleyebilirsiniz.

Araçlar

Tek bir yardımcı, işlevleri aracılığıyla oluşturduğunuz tüm özel araçların yanı sıra dahil olmak üzere code interpreter128 adede kadar ara araçlara erişebilir.

Sohbet oturumu

Yardımcı'nın API'sinde yazışma olarak da bilinen sohbet oturumu, kullanıcı ve yardımcı arasındaki konuşmanın gerçekleştiği yerdir. Geleneksel sohbet tamamlama çağrılarının aksine, bir yazışmadaki ileti sayısıyla ilgili bir sınır yoktur. Yardımcı, istekleri modelin giriş belirteci sınırına uyacak şekilde otomatik olarak sıkıştırır.

Bu, konuşmanın her dönüşü sırasında modele kaç belirteç geçirildiğini denetlemediğiniz anlamına da gelir. Belirteçleri yönetme işlemi soyutlanır ve tamamen Yardımcılar API'si tarafından işlenir.

Geçerli konuşma geçmişini silmek için Sohbeti temizle düğmesini seçin.

Metin giriş kutusunun altında iki düğme vardır:

  • Çalıştırma olmadan bir ileti ekleyin.
  • Ekleme ve çalıştırma.

Günlükler

Günlükler yardımcı API etkinliğinin ayrıntılı bir anlık görüntüsünü sağlar.

Panelleri göster

Varsayılan olarak üç panel vardır: yardımcı kurulumu, sohbet oturumu ve Günlükler. Panelleri göster, panelleri eklemenize, kaldırmanıza ve yeniden düzenlemenize olanak tanır. Bir paneli kapatırsanız ve geri almanız gerekirse kayıp paneli geri yüklemek için Panelleri göster'i kullanın.

İlk yardımcınızı oluşturma

  1. Yardımcı kurulumu açılan menüsünden Yeni'yi seçin

  2. Yardımcınıza bir ad verin

  3. Şu yönergeleri girin: "Matematik sorularını yanıtlamaya yardımcı olmak için kod yazabilen bir yapay zeka yardımcısısınız"

  4. dağıtımını gpt-4 (1106-preview)seçin. Açılan listede özel dağıtım adları görüntülenir, dolayısıyla model/dağıtım adlarınız farklıysa, temel alınan modelin 1106 önizleme modeline eşdeğer olduğu bir dağıtım seçmeniz gerekir.

  5. Kod yorumlayıcısını etkinleştirme iki durumlu düğmesini seçin.

  6. Kaydet'i seçin.

    Yapılandırma ayrıntılarının girilmiş olduğu yardımcının ekran görüntüsü.

  7. Yardımcının yanıtlaması için bir soru girin: "Denklemi 3x + 11 = 14çözmem gerekiyor. Bana yardım edebilir misin?"

  8. Ekle ve çalıştır düğmesini seçin

    The solution to the equation (3x + 11 = 14) is (x = 1).
    

    Yanıtın doğru olduğunu görebiliriz ancak modelin bu yanıta ulaşmak için kod yorumlayıcı kullandığını ve yazdığı kodun yalnızca modelin eğitim verilerinden bir yanıtı yinelemek yerine geçerli olduğunu onaylamak için başka bir soru soracağız.

  9. Aşağıdaki soruyu girin: "Bu çözümü almak için çalıştırdığınız kodu göster."

    Certainly! Here's the Python code I ran to find the solution for the equation (3x + 11 = 14):
    
    from sympy import symbols, Eq, solve  
    
    # Define the variable  
    x = symbols('x')  
    
    # Define the equation  
    equation = Eq(3*x + 11, 14)  
    
    # Solve the equation  
    solution = solve(equation, x)  
    solution  
    

Yardımcı oyun alanında konuşma oturumunun ekran görüntüsü.

Ayrıca, kod yorumlayıcının kullanıldığını onaylamak ve yanıtı oluşturmak için çalıştırılan kodu doğrulamak için sağ paneldeki günlüklere bakabilirsiniz. Kod yorumlayıcının, soruları koda dönüştürerek ve korumalı bir Python ortamında çalıştırarak modele daha karmaşık matematik sorularına yanıt verme olanağı sunduğunda, modelin sorunuzu doğru bir şekilde kodda geçerli bir gösterime çevirdiğini onaylamak için yanıtı doğrulamanız gerektiğini unutmayın.

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Ayrıca bkz.

Önemli

Bu makalede açıklanan özelliklerden bazıları yalnızca önizleme aşamasında kullanılabilir. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun.

  • İstenen Azure aboneliğinde Azure OpenAI'ya erişim verilir.

    Şu anda bu hizmete erişim yalnızca uygulama tarafından sağlanmaktadır. adresinden formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI'ye erişim için başvurabilirsiniz. Sorun yaşıyorsanız bizimle iletişime geçmek için bu depoda bir sorun açın.

  • Dağıtılan bir modele sahip bir Azure AI hub kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.

  • Azure Yapay Zeka Stüdyosu'ndaki bir Azure Yapay Zeka projesi.

Azure AI Studio'ya gidin (Önizleme)

  1. Azure AI Studio'da oturum açın.

  2. Azure AI Studio'da projenize gidin veya yeni bir proje oluşturun.

  3. Projenize genel bakış bölümünde Project oyun alanı altında bulunan Yardımcılar'ı seçin.

    Asistanlar oyun alanı, herhangi bir kod çalıştırmanıza gerek kalmadan yapay zeka yardımcılarını keşfetmenize, prototip oluşturmanıza ve test etmenize olanak tanır. Bu sayfadan, yeni fikirleri hızla yineleyebilir ve denemeler yapabilirsiniz.

    Oyun alanı, Yardımcınızı yapılandırmak için çeşitli seçenekler sağlar. Aşağıdaki adımlarda, yeni bir yapay zeka yardımcısı oluşturmak için Yardımcı kurulum bölmesini kullanacaksınız.

    Ad Açıklama
    Yardımcının adı Belirli bir modelle ilişkilendirilmiş dağıtım adınız.
    Yönergeler Yönergeler sistem mesajlarına benzer, modele nasıl davranması gerektiği ve bir yanıt oluştururken başvurması gereken bağlam hakkında rehberlik verdiğiniz yerdir. Yardımcının kişiliğini açıklayabilir, neye cevap verip vermemesi gerektiğini söyleyebilir ve yanıtları nasıl biçimlendireceğini anlatabilirsiniz. Yanıtları cevaplarken atması gereken adımlara örnekler de sağlayabilirsiniz.
    Dağıtım Burası yardımcınızla hangi model dağıtımını kullanacağınızı ayarladığınız yerdir.
    İşlevler API çağrılarını formüle etmek ve veri çıkışlarını belirtimlerinize göre yapılandırmak için modeller için özel işlev tanımları oluşturun. Bu hızlı başlangıçta kullanılmaz.
    Kod yorumlayıcı Kod yorumlayıcı, modelin kodu test etmesine ve yürütmesine izin vermek için kullanılabilecek korumalı bir Python ortamına erişim sağlar.
    Dosyalar Araçlarla kullanmak üzere maksimum dosya boyutu 512 MB olmak üzere 20 adede kadar dosya yükleyebilirsiniz. Bu hızlı başlangıçta kullanılmaz.

    Tüm değerler doldurulmadan Yardımcı yapılandırma ekranının ekran görüntüsü.

İlk Yardımcınızı oluşturma

  1. Dağıtımlar açılan listesinden dağıtımınızı seçin.

  2. Yardımcı kurulumu açılan listesinden Yeni'yi seçin.

  3. Yardımcınıza bir ad verin.

  4. Şu yönergeleri girin: "Matematik sorularını yanıtlamaya yardımcı olmak için kod yazabilen bir yapay zeka yardımcısısınız"

  5. Bir model dağıtımı seçin. En son gpt-4 modellerinden biriyle test yapmanızı öneririz.

  6. Kod yorumlayıcısını etkinleştirme iki durumlu düğmesini seçin.

  7. Kaydet'i seçin.

    Yapılandırma ayrıntılarının girilmiş olduğu yardımcının ekran görüntüsü.

  8. Yardımcının yanıtlaması için bir soru girin: "Denklemi 3x + 11 = 14çözmem gerekiyor. Bana yardım edebilir misin?"

  9. Ekle ve çalıştır düğmesini seçin

    The solution to the equation (3x + 11 = 14) is (x = 1).
    

    Yanıtın doğru olduğunu görebiliriz ancak modelin bu yanıta ulaşmak için kod yorumlayıcı kullandığını ve yazdığı kodun yalnızca modelin eğitim verilerinden bir yanıtı yinelemek yerine geçerli olduğunu onaylamak için başka bir soru soracağız.

  10. Aşağıdaki soruyu girin: "Bu çözümü almak için çalıştırdığınız kodu göster."

    Sure. The code is very straightforward
    
    # calculation
    x = (14 - 11) / 3
    x
    
    
    First, we subtract 11 from 14, then divide the result by 3. This gives us the value of x which is 1.0.
    

    Yardımcı oyun alanında konuşma oturumunun ekran görüntüsü.

Ayrıca, kod yorumlayıcının kullanıldığını onaylamak ve yanıtı oluşturmak için çalıştırılan kodu doğrulamak için sağ paneldeki günlüklere bakabilirsiniz. Kod yorumlayıcının, soruları koda dönüştürerek ve korumalı bir Python ortamında çalıştırarak modele daha karmaşık matematik sorularına yanıt verme olanağı sunduğunda, modelin sorunuzu doğru bir şekilde kodda geçerli bir gösterime çevirdiğini onaylamak için yanıtı doğrulamanız gerektiğini unutmayın.

Temel kavramlar

Yardımcılar oyun alanı kullanırken aşağıdaki kavramları göz önünde bulundurun.

Araçlar

Tek bir yardımcı, işlevleri aracılığıyla oluşturduğunuz tüm özel araçların yanı sıra dahil olmak üzere code interpreter128 adede kadar ara araçlara erişebilir.

Sohbet oturumu

Yardımcı'nın API'sinde yazışma olarak da bilinen sohbet oturumu, kullanıcı ve yardımcı arasındaki konuşmanın gerçekleştiği yerdir. Geleneksel sohbet tamamlama çağrılarının aksine, bir yazışmadaki ileti sayısıyla ilgili bir sınır yoktur. Yardımcı, istekleri modelin giriş belirteci sınırına uyacak şekilde otomatik olarak sıkıştırır.

Bu, konuşmanın her dönüşü sırasında modele kaç belirteç geçirildiğini denetlemediğiniz anlamına da gelir. Belirteçleri yönetme işlemi soyutlanır ve tamamen Yardımcılar API'si tarafından işlenir.

Geçerli konuşma geçmişini silmek için Sohbeti temizle düğmesini seçin.

Metin giriş kutusunun altında iki düğme vardır:

  • Çalıştırma olmadan bir ileti ekleyin.
  • Ekleme ve çalıştırma.

Günlükler

Günlükler yardımcı API etkinliğinin ayrıntılı bir anlık görüntüsünü sağlar.

Panelleri göster

Varsayılan olarak üç panel vardır: yardımcı kurulumu, sohbet oturumu ve Günlükler. Panelleri göster, panelleri eklemenize, kaldırmanıza ve yeniden düzenlemenize olanak tanır. Bir paneli kapatırsanız ve geri almanız gerekirse kayıp paneli geri yüklemek için Panelleri göster'i kullanın.

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Alternatif olarak yardımcıyı silebilir veya Yardımcının API'sini kullanarak iş parçacığını silebilirsiniz.

Ayrıca bkz.

Başvuru belgeleri | Kitaplık kaynak kodu | Paketi (PyPi) |

Önkoşullar

Parolasız kimlik doğrulaması için

  1. azure-identity paketini kullanın.
  2. Rolü kullanıcı hesabınıza atayın Cognitive Services User . Bu, Azure portalında Erişim denetimi (IAM)>Rol ataması ekle altında yapılabilir.
  3. gibi az loginAzure CLI ile oturum açın.

Ayarlama

  1. OpenAI Python istemci kitaplığını şu şekilde yükleyin:
pip install openai
  1. Önerilen parolasız kimlik doğrulaması için:
pip install azure-identity

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.

Not

Bu kitaplık OpenAI tarafından korunur. Kitaplığın en son güncelleştirmelerini izlemek için sürüm geçmişine bakın.

Anahtarı ve uç noktayı alma

Azure OpenAI hizmetine karşı başarılı bir şekilde çağrı yapmak için aşağıdakilere ihtiyacınız vardır:

Değişken adı Değer
ENDPOINT Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Playground>Görünüm kodunda bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/.
API-KEY Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz.
DEPLOYMENT-NAME Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Modeli Dağıtımları altında veya alternatif olarak Azure OpenAI Studio'da Yönetim>Dağıtımları altında bulunabilir.

Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta, Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1 veya KEY2 kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış dikey penceresinin ekran görüntüsü.

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Yardımcı oluşturma

Kodumuzda aşağıdaki değerleri belirteceğiz:

Ad Açıklama
Yardımcının adı Belirli bir modelle ilişkilendirilmiş dağıtım adınız.
Yönergeler Yönergeler sistem mesajlarına benzer, modele nasıl davranması gerektiği ve bir yanıt oluştururken başvurması gereken bağlam hakkında rehberlik verdiğiniz yerdir. Yardımcının kişiliğini açıklayabilir, neye cevap verip vermemesi gerektiğini söyleyebilir ve yanıtları nasıl biçimlendireceğini anlatabilirsiniz. Yanıtları cevaplarken atması gereken adımlara örnekler de sağlayabilirsiniz.
Model Bu, yardımcınızla kullanılacak model dağıtım adını ayarladığınız yerdir. Alma aracı veya gpt-4 (1106-preview) modeli gerektirirgpt-35-turbo (1106). Bu değeri, aynı olmadığı sürece model adına değil dağıtım adınıza ayarlayın.
Kod yorumlayıcı Kod yorumlayıcı, modelin kodu test etmesine ve yürütmesine izin vermek için kullanılabilecek korumalı bir Python ortamına erişim sağlar.

Araçlar

Tek bir yardımcı, işlevleri aracılığıyla oluşturduğunuz tüm özel araçların yanı sıra dahil olmak üzere code interpreter128 adede kadar ara araçlara erişebilir.

Python uygulamasını oluşturma

Azure'da az login oturum açın ve aşağıdaki önerilen parolasız Python örneğiyle bir yardımcı oluşturun ve çalıştırın:

import os
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import AzureOpenAI

token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")

client = AzureOpenAI(
    azure_ad_token_provider=token_provider,
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_version="2024-05-01-preview",
)

# Create an assistant
assistant = client.beta.assistants.create(
    name="Math Assist",
    instructions="You are an AI assistant that can write code to help answer math questions.",
    tools=[{"type": "code_interpreter"}],
    model="gpt-4-1106-preview" # You must replace this value with the deployment name for your model.
)

# Create a thread
thread = client.beta.threads.create()

# Add a user question to the thread
message = client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)

# Run the thread and poll for the result
run = client.beta.threads.runs.create_and_poll(
    thread_id=thread.id,
    assistant_id=assistant.id,
    instructions="Please address the user as Jane Doe. The user has a premium account.",
)

print("Run completed with status: " + run.status)

if run.status == "completed":
    messages = client.beta.threads.messages.list(thread_id=thread.id)
    print(messages.to_json(indent=2))

Kimlik doğrulaması için hizmet API'sini kullanmak için aşağıdaki Python örneğiyle bir yardımcı oluşturabilir ve çalıştırabilirsiniz:

import os
from openai import AzureOpenAI

client = AzureOpenAI(
    api_key=os.environ["AZURE_OPENAI_API_KEY"],
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_version="2024-05-01-preview",
)

# Create an assistant
assistant = client.beta.assistants.create(
    name="Math Assist",
    instructions="You are an AI assistant that can write code to help answer math questions.",
    tools=[{"type": "code_interpreter"}],
    model="gpt-4-1106-preview" # You must replace this value with the deployment name for your model.
)

# Create a thread
thread = client.beta.threads.create()

# Add a user question to the thread
message = client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)

# Run the thread and poll for the result
run = client.beta.threads.runs.create_and_poll(
    thread_id=thread.id,
    assistant_id=assistant.id,
    instructions="Please address the user as Jane Doe. The user has a premium account.",
)

print("Run completed with status: " + run.status)

if run.status == "completed":
    messages = client.beta.threads.messages.list(thread_id=thread.id)
    print(messages.to_json(indent=2))

Çıktı

Tamamlandı durumuyla çalıştırma: tamamlandı

{
  "data": [
    {
      "id": "msg_4SuWxTubHsHpt5IlBTO5Hyw9",
      "assistant_id": "asst_cYqL1RuwLyFV3HU1gkaE2k0K",
      "attachments": [],
      "content": [
        {
          "text": {
            "annotations": [],
            "value": "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
          },
          "type": "text"
        }
      ],
      "created_at": 1716397091,
      "metadata": {},
      "object": "thread.message",
      "role": "assistant",
      "run_id": "run_hFgBPbUtO8ZNTnNPC8PgpH1S",
      "thread_id": "thread_isb7spwRycI5ueT9E7357aOm"
    },
    {
      "id": "msg_Z32w2E7kY5wEWhZqQWxIbIUB",
      "assistant_id": null,
      "attachments": [],
      "content": [
        {
          "text": {
            "annotations": [],
            "value": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
          },
          "type": "text"
        }
      ],
      "created_at": 1716397025,
      "metadata": {},
      "object": "thread.message",
      "role": "user",
      "run_id": null,
      "thread_id": "thread_isb7spwRycI5ueT9E7357aOm"
    }
  ],
  "object": "list",
  "first_id": "msg_4SuWxTubHsHpt5IlBTO5Hyw9",
  "last_id": "msg_Z32w2E7kY5wEWhZqQWxIbIUB",
  "has_more": false
}

Sonuçlarınızı anlama

Bu örnekte kod yorumlayıcı etkin bir yardımcı oluşturacağız. Yardımcıya matematik sorusu sorduğumuzda soru python koduna çevrilir ve sorunun yanıtını belirlemek için kodu korumalı ortamda yürütür. Modelin oluşturduğu ve yanıta ulaşmayı test eden kod şu şekildedir:

from sympy import symbols, Eq, solve  
  
# Define the variable  
x = symbols('x')  
  
# Define the equation  
equation = Eq(3*x + 11, 14)  
  
# Solve the equation  
solution = solve(equation, x)  
solution  

Kod yorumlayıcının, soruları koda dönüştürerek ve bir çözüme ulaşana kadar bu kodu Python korumalı alanında yinelemeli olarak çalıştırarak modele daha karmaşık sorgulara yanıt verme olanağı sunduğunda, modelin sorunuzu doğru bir şekilde kodda geçerli bir gösterime çevirdiğini onaylamak için yanıtı doğrulamanız gerektiğini unutmayın.

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Ayrıca bkz.

Başvuru belgeleri | Kaynak kodu | Paketi (NuGet)

Önkoşullar

Ayarlama

Yeni .NET Core uygulaması oluşturma

Bir konsol penceresinde (cmd, PowerShell veya Bash gibi), adlı azure-openai-quickstartyeni bir konsol uygulaması oluşturmak için komutunu kullanındotnet new. Bu komut, tek bir C# kaynak dosyasıyla basit bir "Merhaba Dünya" projesi oluşturur: Program.cs.

dotnet new console -n azure-openai-assistants-quickstart

Dizininizi yeni oluşturulan uygulama klasörüyle değiştirin. Uygulamayı şu şekilde oluşturabilirsiniz:

dotnet build

Derleme çıkışı hiçbir uyarı veya hata içermemelidir.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

OpenAI .NET istemci kitaplığını şu şekilde yükleyin:

dotnet add package Azure.AI.OpenAI.Assistants --prerelease

Anahtarı ve uç noktayı alma

Azure OpenAI'ye karşı başarılı bir şekilde çağrı yapmak için bir uç nokta ve anahtar gerekir.

Değişken adı Değer
ENDPOINT Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Oyun Alanı>Kod Görünümü'nde bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/.
API-KEY Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz.

Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta bölümü Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1 veya KEY2 kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış kullanıcı arabiriminin ekran görüntüsü.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Yardımcı oluşturma

Kodumuzda aşağıdaki değerleri belirteceğiz:

Ad Açıklama
Yardımcının adı Belirli bir modelle ilişkilendirilmiş dağıtım adınız.
Yönergeler Yönergeler sistem mesajlarına benzer, modele nasıl davranması gerektiği ve bir yanıt oluştururken başvurması gereken bağlam hakkında rehberlik verdiğiniz yerdir. Yardımcının kişiliğini açıklayabilir, neye cevap verip vermemesi gerektiğini söyleyebilir ve yanıtları nasıl biçimlendireceğini anlatabilirsiniz. Yanıtları cevaplarken atması gereken adımlara örnekler de sağlayabilirsiniz.
Model Bu, yardımcınızla kullanılacak model dağıtım adını ayarladığınız yerdir. Alma aracı veya gpt-4 (1106-preview) modeli gerektirirgpt-35-turbo (1106). Bu değeri, aynı olmadığı sürece model adına değil dağıtım adınıza ayarlayın.
Kod yorumlayıcı Kod yorumlayıcı, modelin kodu test etmesine ve yürütmesine izin vermek için kullanılabilecek korumalı bir Python ortamına erişim sağlar.

Araçlar

Tek bir yardımcı, işlevleri aracılığıyla oluşturduğunuz tüm özel araçların yanı sıra dahil olmak üzere code interpreter128 adede kadar ara araçlara erişebilir.

Aşağıdakilerle bir yardımcı oluşturun ve çalıştırın:

using Azure;
using Azure.AI.OpenAI.Assistants;

string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? throw new ArgumentNullException("AZURE_OPENAI_ENDPOINT");
string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? throw new ArgumentNullException("AZURE_OPENAI_API_KEY");
AssistantsClient client = new AssistantsClient(new Uri(endpoint), new AzureKeyCredential(key));

// Create an assistant
Assistant assistant = await client.CreateAssistantAsync(
    new AssistantCreationOptions("gpt-4-1106-preview") // Replace this with the name of your model deployment
    {
        Name = "Math Tutor",
        Instructions = "You are a personal math tutor. Write and run code to answer math questions.",
        Tools = { new CodeInterpreterToolDefinition() }
    });

// Create a thread
AssistantThread thread = await client.CreateThreadAsync();

// Add a user question to the thread
ThreadMessage message = await client.CreateMessageAsync(
    thread.Id,
    MessageRole.User,
    "I need to solve the equation `3x + 11 = 14`. Can you help me?");

// Run the thread
ThreadRun run = await client.CreateRunAsync(
    thread.Id,
    new CreateRunOptions(assistant.Id)
);

// Wait for the assistant to respond
do
{
    await Task.Delay(TimeSpan.FromMilliseconds(500));
    run = await client.GetRunAsync(thread.Id, run.Id);
}
while (run.Status == RunStatus.Queued
    || run.Status == RunStatus.InProgress);

// Get the messages
PageableList<ThreadMessage> messagesPage = await client.GetMessagesAsync(thread.Id);
IReadOnlyList<ThreadMessage> messages = messagesPage.Data;

// Note: messages iterate from newest to oldest, with the messages[0] being the most recent
foreach (ThreadMessage threadMessage in messages.Reverse())
{
    Console.Write($"{threadMessage.CreatedAt:yyyy-MM-dd HH:mm:ss} - {threadMessage.Role,10}: ");
    foreach (MessageContent contentItem in threadMessage.ContentItems)
    {
        if (contentItem is MessageTextContent textItem)
        {
            Console.Write(textItem.Text);
        }
        Console.WriteLine();
    }
}

Bu, bir çıktıyı aşağıdaki gibi yazdırır:

2024-03-05 03:38:17 -       user: I need to solve the equation `3x + 11 = 14`. Can you help me?
2024-03-05 03:38:25 -  assistant: The solution to the equation \(3x + 11 = 14\) is \(x = 1\).

Yeniden çalıştırmadan önce iş parçacığında yeni iletiler oluşturulabilir ve yardımcının geçmiş iletileri iş parçacığı içinde bağlam olarak kullandığını görür.

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Ayrıca bkz.

Başvuru belgeleri | Kitaplık kaynak kodu | Paketi (npm) |

Önkoşullar

Parolasız kimlik doğrulaması için

  1. @azure/identity Paketini kullanın.
  2. Rolü kullanıcı hesabınıza atayın Cognitive Services User . Bu, Azure portalında Erişim denetimi (IAM)>Rol ataması ekle altında yapılabilir.
  3. gibi az loginAzure CLI ile oturum açın.

Ayarlama

  1. JavaScript için OpenAI Assistants istemci kitaplığını şu şekilde yükleyin:

    npm install openai
    
  2. Önerilen parolasız kimlik doğrulaması için:

    npm install @azure/identity
    

Anahtarı ve uç noktayı alma

Azure OpenAI hizmetine karşı başarılı bir şekilde çağrı yapmak için aşağıdakilere ihtiyacınız vardır:

Değişken adı Değer
ENDPOINT Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Playground>Görünüm kodunda bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/.
API-KEY Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz.
DEPLOYMENT-NAME Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Modeli Dağıtımları altında veya alternatif olarak Azure OpenAI Studio'da Yönetim>Dağıtımları altında bulunabilir.

Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta, Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1 veya KEY2 kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış openAI Kaynağının genel bakış dikey penceresinin ekran görüntüsü.

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Dağıtım adı ve API sürümü için ek ortam değişkenleri ekleyin:

  • AZURE_OPENAI_DEPLOYMENT_NAME: Azure portalında gösterildiği gibi dağıtım adınız.
  • OPENAI_API_VERSION: API Sürümleri hakkında daha fazla bilgi edinin.

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

setx AZURE_OPENAI_DEPLOYMENT_NAME "REPLACE_WITH_YOUR_DEPLOYMENT_NAME" 
setx OPENAI_API_VERSION "REPLACE_WITH_YOUR_API_VERSION" 

Yardımcı oluşturma

Kodumuzda aşağıdaki değerleri belirteceğiz:

Ad Açıklama
Yardımcının adı Belirli bir modelle ilişkilendirilmiş dağıtım adınız.
Yönergeler Yönergeler sistem mesajlarına benzer, modele nasıl davranması gerektiği ve bir yanıt oluştururken başvurması gereken bağlam hakkında rehberlik verdiğiniz yerdir. Yardımcının kişiliğini açıklayabilir, neye cevap verip vermemesi gerektiğini söyleyebilir ve yanıtları nasıl biçimlendireceğini anlatabilirsiniz. Yanıtları cevaplarken atması gereken adımlara örnekler de sağlayabilirsiniz.
Model Bu, dağıtım adıdır.
Kod yorumlayıcı Kod yorumlayıcı, modelin kodu test etmesine ve yürütmesine izin vermek için kullanılabilecek korumalı bir Python ortamına erişim sağlar.

Araçlar

Tek bir yardımcı, işlevleri aracılığıyla oluşturduğunuz tüm özel araçların yanı sıra dahil olmak üzere code interpreter128 adede kadar ara araçlara erişebilir.

Aşağıdaki önerilen parolasız TypeScript modülüyle (index.ts) bir yardımcı oluşturup çalıştırarak Azure'da az login oturum açın:

import "dotenv/config";
import { AzureOpenAI } from "openai";
import {
  Assistant,
  AssistantCreateParams,
  AssistantTool,
} from "openai/resources/beta/assistants";
import { Message, MessagesPage } from "openai/resources/beta/threads/messages";
import { Run } from "openai/resources/beta/threads/runs/runs";
import { Thread } from "openai/resources/beta/threads/threads";

// Add `Cognitive Services User` to identity for Azure OpenAI resource
import {
  DefaultAzureCredential,
  getBearerTokenProvider,
} from "@azure/identity";

// Get environment variables
const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT as string;
const azureOpenAIDeployment = process.env
  .AZURE_OPENAI_DEPLOYMENT_NAME as string;
const openAIVersion = process.env.OPENAI_API_VERSION as string;

// Check env variables
if (!azureOpenAIEndpoint || !azureOpenAIDeployment || !openAIVersion) {
  throw new Error(
    "Please ensure to set AZURE_OPENAI_DEPLOYMENT_NAME and AZURE_OPENAI_ENDPOINT in your environment variables."
  );
}

// Get Azure SDK client
const getClient = (): AzureOpenAI => {
  const credential = new DefaultAzureCredential();
  const scope = "https://cognitiveservices.azure.com/.default";
  const azureADTokenProvider = getBearerTokenProvider(credential, scope);
  const assistantsClient = new AzureOpenAI({
    endpoint: azureOpenAIEndpoint,
    apiVersion: openAIVersion,
    azureADTokenProvider,
  });
  return assistantsClient;
};

const assistantsClient = getClient();

const options: AssistantCreateParams = {
  model: azureOpenAIDeployment, // Deployment name seen in Azure AI Studio
  name: "Math Tutor",
  instructions:
    "You are a personal math tutor. Write and run JavaScript code to answer math questions.",
  tools: [{ type: "code_interpreter" } as AssistantTool],
};
const role = "user";
const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?";

// Create an assistant
const assistantResponse: Assistant =
  await assistantsClient.beta.assistants.create(options);
console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`);

// Create a thread
const assistantThread: Thread = await assistantsClient.beta.threads.create({});
console.log(`Thread created: ${JSON.stringify(assistantThread)}`);

// Add a user question to the thread
const threadResponse: Message =
  await assistantsClient.beta.threads.messages.create(assistantThread.id, {
    role,
    content: message,
  });
console.log(`Message created:  ${JSON.stringify(threadResponse)}`);

// Run the thread and poll it until it is in a terminal state
const runResponse: Run = await assistantsClient.beta.threads.runs.createAndPoll(
  assistantThread.id,
  {
    assistant_id: assistantResponse.id,
  },
  { pollIntervalMs: 500 }
);
console.log(`Run created:  ${JSON.stringify(runResponse)}`);

// Get the messages
const runMessages: MessagesPage =
  await assistantsClient.beta.threads.messages.list(assistantThread.id);
for await (const runMessageDatum of runMessages) {
  for (const item of runMessageDatum.content) {
    // types are: "image_file" or "text"
    if (item.type === "text") {
      console.log(`Message content: ${JSON.stringify(item.text?.value)}`);
    }
  }
}

Kimlik doğrulaması için hizmet anahtarını kullanmak için aşağıdaki TypeScript modülüyle (index.ts) bir yardımcı oluşturabilir ve çalıştırabilirsiniz:

import "dotenv/config";
import { AzureOpenAI } from "openai";
import {
  Assistant,
  AssistantCreateParams,
  AssistantTool,
} from "openai/resources/beta/assistants";
import { Message, MessagesPage } from "openai/resources/beta/threads/messages";
import { Run } from "openai/resources/beta/threads/runs/runs";
import { Thread } from "openai/resources/beta/threads/threads";

// Get environment variables
const azureOpenAIKey = process.env.AZURE_OPENAI_KEY as string;
const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT as string;
const azureOpenAIDeployment = process.env
  .AZURE_OPENAI_DEPLOYMENT_NAME as string;
const openAIVersion = process.env.OPENAI_API_VERSION as string;

// Check env variables
if (!azureOpenAIKey || !azureOpenAIEndpoint || !azureOpenAIDeployment || !openAIVersion) {
  throw new Error(
    "Please set AZURE_OPENAI_KEY and AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_DEPLOYMENT_NAME in your environment variables."
  );
}

// Get Azure SDK client
const getClient = (): AzureOpenAI => {
  const assistantsClient = new AzureOpenAI({
    endpoint: azureOpenAIEndpoint,
    apiVersion: openAIVersion,
    apiKey: azureOpenAIKey,
  });
  return assistantsClient;
};

const assistantsClient = getClient();

const options: AssistantCreateParams = {
  model: azureOpenAIDeployment, // Deployment name seen in Azure AI Studio
  name: "Math Tutor",
  instructions:
    "You are a personal math tutor. Write and run JavaScript code to answer math questions.",
  tools: [{ type: "code_interpreter" } as AssistantTool],
};
const role = "user";
const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?";

// Create an assistant
const assistantResponse: Assistant =
  await assistantsClient.beta.assistants.create(options);
console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`);

// Create a thread
const assistantThread: Thread = await assistantsClient.beta.threads.create({});
console.log(`Thread created: ${JSON.stringify(assistantThread)}`);

// Add a user question to the thread
const threadResponse: Message =
  await assistantsClient.beta.threads.messages.create(assistantThread.id, {
    role,
    content: message,
  });
console.log(`Message created:  ${JSON.stringify(threadResponse)}`);

// Run the thread and poll it until it is in a terminal state
const runResponse: Run = await assistantsClient.beta.threads.runs.createAndPoll(
  assistantThread.id,
  {
    assistant_id: assistantResponse.id,
  },
  { pollIntervalMs: 500 }
);
console.log(`Run created:  ${JSON.stringify(runResponse)}`);

// Get the messages
const runMessages: MessagesPage =
  await assistantsClient.beta.threads.messages.list(assistantThread.id);
for await (const runMessageDatum of runMessages) {
  for (const item of runMessageDatum.content) {
    // types are: "image_file" or "text"
    if (item.type === "text") {
      console.log(`Message content: ${JSON.stringify(item.text?.value)}`);
    }
  }
}

Çıktı

Assistant created: {"id":"asst_zXaZ5usTjdD0JGcNViJM2M6N","createdAt":"2024-04-08T19:26:38.000Z","name":"Math Tutor","description":null,"model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"fileIds":[],"metadata":{}}
Thread created: {"id":"thread_KJuyrB7hynun4rvxWdfKLIqy","createdAt":"2024-04-08T19:26:38.000Z","metadata":{}}
Message created:  {"id":"msg_o0VkXnQj3juOXXRCnlZ686ff","createdAt":"2024-04-08T19:26:38.000Z","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","role":"user","content":[{"type":"text","text":{"value":"I need to solve the equation `3x + 11 = 14`. Can you help me?","annotations":[]},"imageFile":{}}],"assistantId":null,"runId":null,"fileIds":[],"metadata":{}}
Created run
Run created:  {"id":"run_P8CvlouB8V9ZWxYiiVdL0FND","object":"thread.run","status":"queued","model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"metadata":{},"usage":null,"assistantId":"asst_zXaZ5usTjdD0JGcNViJM2M6N","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","fileIds":[],"createdAt":"2024-04-08T19:26:39.000Z","expiresAt":"2024-04-08T19:36:39.000Z","startedAt":null,"completedAt":null,"cancelledAt":null,"failedAt":null}
Message content: "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
Message content: "Yes, of course! To solve the equation \\( 3x + 11 = 14 \\), we can follow these steps:\n\n1. Subtract 11 from both sides of the equation to isolate the term with x.\n2. Then, divide by 3 to find the value of x.\n\nLet me calculate that for you."
Message content: "I need to solve the equation `3x + 11 = 14`. Can you help me?"

Kod yorumlayıcının, soruları koda dönüştürerek ve çözüme ulaşana kadar bu kodu JavaScript'te yinelemeli olarak çalıştırarak modele daha karmaşık sorgulara yanıt verme olanağı sunduğunda, modelin sorunuzu doğru bir şekilde kodda geçerli bir gösterime çevirdiğini onaylamak için yanıtı doğrulamanız gerektiğini unutmayın.

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Örnek kod

Ayrıca bkz.

Önkoşullar

Ayarlama

Anahtarı ve uç noktayı alma

Azure OpenAI'ye karşı başarılı bir şekilde çağrı yapmak için aşağıdakilere ihtiyacınız vardır:

Değişken adı Değer
ENDPOINT Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Playground>Code View'da bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/.
API-KEY Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz.
DEPLOYMENT-NAME Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalda Kaynak Yönetimi>Dağıtımlar altında veya alternatif olarak Azure OpenAI Studio'da Yönetim>Dağıtımlar altında bulunabilir.

Azure portalında kaynağınıza gidin. Uç Nokta ve Anahtarlar Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1 veya KEY2 kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış dikey penceresinin ekran görüntüsü.

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

REST API

Yardımcı oluşturma

Not

Azure OpenAI ile model parametresi model dağıtım adı gerektirir. Model dağıtım adınız temel alınan model adından farklıysa kodunuzu olarak "model": "{your-custom-model-deployment-name}"ayarlayabilirsiniz.

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "instructions": "You are an AI assistant that can write code to help answer math questions.",
    "name": "Math Assist",
    "tools": [{"type": "code_interpreter"}],
    "model": "gpt-4-1106-preview"
  }'

Araçlar

Tek bir yardımcı, işlevleri aracılığıyla oluşturduğunuz tüm özel araçların yanı sıra dahil olmak üzere code interpreter128 adede kadar ara araçlara erişebilir.

İş parçacığı oluşturma

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d ''

İş parçacığına kullanıcı sorusu ekleme

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/messages \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d '{
      "role": "user",
      "content": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
    }'

İş parçacığını çalıştırma

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "assistant_id": "asst_abc123",
  }'

Çalıştırmanın durumunu alma

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs/run_abc123 \
  -H "api-key: $AZURE_OPENAI_API_KEY" \

Yardımcı yanıtı

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/messages \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \

Sonuçlarınızı anlama

Bu örnekte kod yorumlayıcı etkin bir yardımcı oluşturacağız. Yardımcıya matematik sorusu sorduğumuzda soru python koduna çevrilir ve sorunun yanıtını belirlemek için kodu korumalı ortamda yürütür. Modelin oluşturduğu ve yanıta ulaşmayı test eden kod şu şekildedir:

    from sympy import symbols, Eq, solve  
      
    # Define the variable  
    x = symbols('x')  
      
    # Define the equation  
    equation = Eq(3*x + 11, 14)  
      
    # Solve the equation  
    solution = solve(equation, x)  
    solution  

Kod yorumlayıcının, soruları koda dönüştürerek ve bir çözüme ulaşana kadar bu kodu Python korumalı alanında yinelemeli olarak çalıştırarak modele daha karmaşık sorgulara yanıt verme olanağı sunduğunda, modelin sorunuzu doğru bir şekilde kodda geçerli bir gösterime çevirdiğini onaylamak için yanıtı doğrulamanız gerektiğini unutmayın.

Kaynakları temizleme

Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.

Ayrıca bkz.