Bagikan melalui


Membangun aplikasi obrolan dasar di Python menggunakan Azure AI Foundry SDK

Penting

Item yang ditandai (pratinjau) dalam artikel ini sedang dalam pratinjau publik. Pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan kami tidak merekomendasikannya untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Dalam mulai cepat ini, kami memanding Anda menyiapkan lingkungan pengembangan lokal Anda dengan Azure AI Foundry SDK. Kami menulis perintah, menjalankannya sebagai bagian dari kode aplikasi Anda, melacak panggilan LLM yang dilakukan, dan menjalankan evaluasi dasar pada output LLM.

Prasyarat

  • Sebelum Anda dapat mengikuti mulai cepat ini, selesaikan mulai cepat taman bermain Azure AI Foundry untuk menyebarkan model gpt-4o-mini ke dalam proyek.

Menginstal Azure CLI dan masuk

Anda menginstal Azure CLI dan masuk dari lingkungan pengembangan lokal Anda, sehingga Anda dapat menggunakan kredensial pengguna Anda untuk memanggil layanan Azure OpenAI.

Dalam kebanyakan kasus, Anda dapat menginstal Azure CLI dari terminal Anda menggunakan perintah berikut:

winget install -e --id Microsoft.AzureCLI

Anda dapat mengikuti instruksi Cara menginstal Azure CLI jika perintah ini tidak berfungsi untuk sistem operasi atau penyiapan tertentu.

Setelah Anda menginstal Azure CLI, masuk menggunakan az login perintah dan masuk menggunakan browser:

az login

Atau, Anda dapat masuk secara manual melalui browser dengan kode perangkat.

az login --use-device-code

Membuat lingkungan Python baru

Pertama, Anda perlu membuat lingkungan Python baru untuk digunakan untuk menginstal paket yang Anda butuhkan untuk tutorial ini. JANGAN menginstal paket ke dalam penginstalan python global Anda. Anda harus selalu menggunakan lingkungan virtual atau conda saat menginstal paket python, jika tidak, Anda dapat memutuskan penginstalan global Python Anda.

Jika diperlukan, instal Python

Sebaiknya gunakan Python 3.10 atau yang lebih baru, tetapi diperlukan setidaknya Python 3.8. Jika Anda tidak memiliki versi Python yang sesuai yang terinstal, Anda dapat mengikuti instruksi dalam Tutorial Python Visual Studio Code untuk cara term mudah menginstal Python pada sistem operasi Anda.

Membuat lingkungan virtual

Jika Anda sudah menginstal Python 3.10 atau yang lebih tinggi, Anda dapat membuat lingkungan virtual menggunakan perintah berikut:

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

Mengaktifkan lingkungan Python berarti bahwa ketika Anda menjalankan python atau pip dari baris perintah, Anda kemudian menggunakan interpreter Python yang terkandung dalam .venv folder aplikasi Anda.

Catatan

Anda dapat menggunakan deactivate perintah untuk keluar dari lingkungan virtual python, dan nantinya dapat mengaktifkannya kembali saat diperlukan.

Memasang paket

Instal azure-ai-projects(pratinjau), azure-ai-inference (pratinjau), dan paket azure-identity:

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

Membangun aplikasi obrolan Anda

Buat file bernama chat.py. Salin dan tempel kode berikut ke dalamnya.

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)

Sisipkan string koneksi Anda

Proyek Anda string koneksi diperlukan untuk memanggil layanan Azure OpenAI dari kode Anda.

Temukan string koneksi Anda di proyek Azure AI Foundry yang Anda buat di mulai cepat taman bermain Azure AI Foundry. Buka proyek, lalu temukan string koneksi di halaman Gambaran Umum.

Cuplikan layar memperlihatkan halaman gambaran umum proyek dan lokasi string koneksi.

Salin string koneksi dan ganti <your-connection-string-goes-here> dalam file chat.py.

Jalankan skrip obrolan Anda

Jalankan skrip untuk melihat respons dari model.

python chat.py

Buat permintaan dari input pengguna dan templat perintah

Skrip menggunakan pesan input dan output yang dikodekan secara permanen. Dalam aplikasi nyata, Anda akan mengambil input dari aplikasi klien, menghasilkan pesan sistem dengan instruksi internal ke model, lalu memanggil LLM dengan semua pesan.

Mari kita ubah skrip untuk mengambil input dari aplikasi klien dan menghasilkan pesan sistem menggunakan templat perintah.

  1. Hapus baris terakhir skrip yang mencetak respons.

  2. Sekarang tentukan get_chat_response fungsi yang mengambil pesan dan konteks, menghasilkan pesan sistem menggunakan templat perintah, dan memanggil model. Tambahkan kode ini ke file chat.py yang sudah ada:

    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,
        )
    

    Catatan

    Templat perintah menggunakan format kumis.

    Fungsi get_chat_response dapat dengan mudah ditambahkan sebagai rute ke aplikasi FastAPI atau Flask untuk mengaktifkan panggilan fungsi ini dari aplikasi web front-end.

  3. Sekarang simulasikan informasi yang meneruskan dari aplikasi frontend ke fungsi ini. Tambahkan kode berikut ke akhir file chat.py Anda. Jangan ragu untuk bermain dengan pesan dan menambahkan nama Anda sendiri.

    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)
    

Jalankan skrip yang direvisi untuk melihat respons dari model dengan input baru ini.

python chat.py

Langkah selanjutnya