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:
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:
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.
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.
Hapus baris terakhir skrip yang mencetak respons.
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.
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