Aracılığıyla paylaş


Azure AI Foundry SDK'sı kullanarak Python'da temel bir sohbet uygulaması oluşturma

Önemli

Bu makalede işaretlenen (önizleme) öğeler şu anda genel önizleme aşamasındadır. 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ı.

Bu hızlı başlangıçta, Azure AI Foundry SDK'sı ile yerel geliştirme ortamınızı ayarlama konusunda size yol göstereceğiz. Bir istem yazar, uygulama kodunuzun bir parçası olarak çalıştırır, yapılan LLM çağrılarını izler ve LLM'nin çıkışlarında temel bir değerlendirme çalıştırırız.

Önkoşullar

  • Bu hızlı başlangıcı takip etmeden önce, bir projeye gpt-4o-mini modeli dağıtmak için Azure AI Foundry oyun alanı hızlı başlangıcını tamamlayın.

Azure CLI'yi yükleme ve oturum açma

Azure OpenAI hizmetini çağırmak için kullanıcı kimlik bilgilerinizi kullanabilmek için Azure CLI'yı yükler ve yerel geliştirme ortamınızdan oturum açarsınız.

Çoğu durumda, aşağıdaki komutu kullanarak terminalinizden Azure CLI'yi yükleyebilirsiniz:

winget install -e --id Microsoft.AzureCLI

Bu komutlar belirli bir işletim sisteminiz veya kurulumunuz için çalışmıyorsa Azure CLI'yı yükleme yönergelerini izleyebilirsiniz.

Azure CLI'yı yükledikten sonra komutunu kullanarak az login oturum açın ve tarayıcıyı kullanarak oturum açın:

az login

Alternatif olarak, tarayıcı üzerinden bir cihaz koduyla el ile oturum açabilirsiniz.

az login --use-device-code

Yeni python ortamı oluşturma

İlk olarak, bu öğretici için ihtiyacınız olan paketi yüklemek için kullanılacak yeni bir Python ortamı oluşturmanız gerekir. Paketleri genel Python yüklemenize YÜKLEMEYİN. Python paketlerini yüklerken her zaman bir sanal veya conda ortamı kullanmanız gerekir, aksi takdirde Python'ın genel yüklemesini bozabilirsiniz.

Gerekirse Python'ı yükleyin

Python 3.10 veya üzerini kullanmanızı öneririz, ancak en az Python 3.8'e sahip olmak gerekir. Python'ın uygun bir sürümü yüklü değilse, işletim sisteminize Python yüklemenin en kolay yolu için VS Code Python Öğreticisi'ndeki yönergeleri izleyebilirsiniz.

Sanal ortam oluşturma

Python 3.10 veya üzeri yüklüyse aşağıdaki komutları kullanarak bir sanal ortam oluşturabilirsiniz:

py -3 -m venv .venv
.venv\scripts\activate

Python ortamını etkinleştirmek, komut satırını çalıştırdığınızda veya pip komut satırından çalıştırdığınızda python uygulamanızın klasöründe bulunan Python yorumlayıcısını .venv kullanacağınız anlamına gelir.

Not

komutunu kullanarak deactivate Python sanal ortamından çıkabilirsiniz ve daha sonra gerektiğinde yeniden etkinleştirebilirsiniz.

Paketleri yükleme

Yükleme azure-ai-projects(önizleme), azure-ai-inference (önizleme) ve azure-identity paketleri:

pip install azure-ai-projects azure-ai-inference azure-identity 

Sohbet uygulamanızı oluşturma

chat.py adlı bir dosya oluşturun. Aşağıdaki kodu kopyalayıp içine yapıştırın.

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential

project_connection_string = "<your-connection-string-goes-here>"

project = AIProjectClient.from_connection_string(
    conn_str=project_connection_string, credential=DefaultAzureCredential()
)

chat = project.inference.get_chat_completions_client()
response = chat.complete(
    model="gpt-4o-mini",
    messages=[
        {
            "role": "system",
            "content": "You are an AI assistant that speaks like a techno punk rocker from 2350. Be cool but not too cool. Ya dig?",
        },
        {"role": "user", "content": "Hey, can you help me with my taxes? I'm a freelancer."},
    ],
)

print(response.choices[0].message.content)

bağlantı dizesi ekleme

Proje bağlantı dizesi kodunuzdan Azure OpenAI hizmetini çağırmak için gereklidir.

Azure AI Foundry oyun alanı hızlı başlangıcında oluşturduğunuz Azure AI Foundry projesinde bağlantı dizesi bulun. Projeyi açın ve genel bakış sayfasında bağlantı dizesi bulun.

Projenin genel bakış sayfasını ve bağlantı dizesi konumunu gösteren ekran görüntüsü.

bağlantı dizesi kopyalayın ve chat.py dosyasında değiştirin.<your-connection-string-goes-here>

Sohbet betiğinizi çalıştırma

Modelin yanıtını görmek için betiği çalıştırın.

python chat.py

Kullanıcı girişinden ve istem şablonundan istem oluşturma

Betik, sabit kodlanmış giriş ve çıkış iletilerini kullanır. Gerçek bir uygulamada bir istemci uygulamasından giriş alır, modele yönelik iç yönergeleri içeren bir sistem iletisi oluşturur ve ardından tüm iletilerle LLM'yi çağırırsınız.

Şimdi betiği bir istemci uygulamasından giriş alacak şekilde değiştirelim ve istem şablonu kullanarak bir sistem iletisi oluşturalım.

  1. Yanıt yazdıran betiğin son satırını kaldırın.

  2. Şimdi iletileri ve bağlamı alan, istem şablonu kullanarak bir sistem iletisi oluşturan ve modeli çağıran bir işlev tanımlayın get_chat_response . Bu kodu mevcut chat.py dosyanıza ekleyin:

    from azure.ai.inference.prompts import PromptTemplate
    
    
    def get_chat_response(messages, context):
        # create a prompt template from an inline string (using mustache syntax)
        prompt_template = PromptTemplate.from_string(
            prompt_template="""
            system:
            You are an AI assistant that speaks like a techno punk rocker from 2350. Be cool but not too cool. Ya dig? Refer to the user by their first name, try to work their last name into a pun.
    
            The user's first name is {{first_name}} and their last name is {{last_name}}.
            """
        )
    
        # generate system message from the template, passing in the context as variables
        system_message = prompt_template.create_messages(data=context)
    
        # add the prompt messages to the user messages
        return chat.complete(
            model="gpt-4o-mini",
            messages=system_message + messages,
            temperature=1,
            frequency_penalty=0.5,
            presence_penalty=0.5,
        )
    

    Not

    İstem şablonu bıyık biçimini kullanır.

    get_chat_response işlevi, bu işlevin ön uç web uygulamasından çağrılmasını sağlamak için fastAPI veya Flask uygulamasına kolayca yol olarak eklenebilir.

  3. Şimdi bir ön uç uygulamasından bu işleve bilgi geçirme simülasyonu yap. aşağıdaki kodu chat.py dosyanızın sonuna ekleyin. İletiyle oynamaktan ve kendi adınızı eklemektan çekinmeyin.

    if __name__ == "__main__":
        response = get_chat_response(
            messages=[{"role": "user", "content": "what city has the best food in the world?"}],
            context={"first_name": "Jessie", "last_name": "Irwin"},
        )
        print(response.choices[0].message.content)
    

Bu yeni girişle modelden gelen yanıtı görmek için düzeltilmiş betiği çalıştırın.

python chat.py

Sonraki adım