Tworzenie podstawowej aplikacji czatu w języku Python przy użyciu zestawu AZURE AI Foundry SDK
Ważne
Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
W tym przewodniku Szybki start przeprowadzimy Cię przez proces konfigurowania lokalnego środowiska deweloperskiego przy użyciu zestawu SDK usługi Azure AI Foundry. Napiszemy monit, uruchomimy go w ramach kodu aplikacji, prześledziemy wykonywane wywołania LLM i uruchomimy podstawową ocenę danych wyjściowych usługi LLM.
Wymagania wstępne
- Przed rozpoczęciem pracy z tym przewodnikiem Szybki start ukończ przewodnik Szybki start dotyczący platformy Azure AI Foundry, aby wdrożyć model gpt-4o-mini w projekcie.
Instalowanie interfejsu wiersza polecenia platformy Azure i logowanie
Zainstaluj interfejs wiersza polecenia platformy Azure i zaloguj się z lokalnego środowiska deweloperskiego, aby można było wywołać usługę Azure OpenAI przy użyciu poświadczeń użytkownika.
W większości przypadków można zainstalować interfejs wiersza polecenia platformy Azure z poziomu terminalu przy użyciu następującego polecenia:
Możesz postępować zgodnie z instrukcjami Instalowanie interfejsu wiersza polecenia platformy Azure, jeśli te polecenia nie działają w konkretnym systemie operacyjnym lub konfiguracji.
Po zainstalowaniu interfejsu wiersza polecenia platformy Azure zaloguj się przy użyciu az login
polecenia i zaloguj się przy użyciu przeglądarki:
az login
Alternatywnie możesz zalogować się ręcznie za pośrednictwem przeglądarki przy użyciu kodu urządzenia.
az login --use-device-code
Tworzenie nowego środowiska języka Python
Najpierw musisz utworzyć nowe środowisko języka Python, aby zainstalować pakiet potrzebny na potrzeby tego samouczka. Nie instaluj pakietów w globalnej instalacji języka Python. Zawsze należy używać środowiska wirtualnego lub conda podczas instalowania pakietów języka Python. W przeciwnym razie możesz przerwać globalną instalację języka Python.
W razie potrzeby zainstaluj język Python
Zalecamy używanie języka Python w wersji 3.10 lub nowszej, ale wymagana jest co najmniej wersja python 3.8. Jeśli nie masz zainstalowanej odpowiedniej wersji języka Python, możesz postępować zgodnie z instrukcjami w samouczku języka Python programu VS Code, aby uzyskać najprostszy sposób instalowania języka Python w systemie operacyjnym.
Utworzenie środowiska wirtualnego
Jeśli masz już zainstalowany język Python w wersji 3.10 lub nowszej, możesz utworzyć środowisko wirtualne przy użyciu następujących poleceń:
Aktywowanie środowiska języka Python oznacza, że po uruchomieniu python
lub pip
w wierszu polecenia należy użyć interpretera języka Python zawartego .venv
w folderze aplikacji.
Uwaga
Możesz użyć deactivate
polecenia , aby zamknąć środowisko wirtualne języka Python i później ponownie aktywować je w razie potrzeby.
Instalowanie pakietów
Zainstaluj azure-ai-projects
(wersja zapoznawcza), azure-ai-inference
(wersja zapoznawcza) i pakiety azure-identity:
pip install azure-ai-projects azure-ai-inference azure-identity
Tworzenie aplikacji do czatu
Utwórz plik o nazwie chat.py. Skopiuj i wklej do niego następujący kod.
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)
Wstaw parametry połączenia
Projekt parametry połączenia jest wymagany do wywołania usługi Azure OpenAI z poziomu kodu.
Znajdź swoje parametry połączenia w projekcie Azure AI Foundry utworzonym w przewodniku Szybki start dotyczący platformy Azure AI Foundry. Otwórz projekt, a następnie znajdź parametry połączenia na stronie Przegląd.
Skopiuj parametry połączenia i zastąp <your-connection-string-goes-here>
element w pliku chat.py.
Uruchamianie skryptu czatu
Uruchom skrypt, aby wyświetlić odpowiedź z modelu.
python chat.py
Generowanie monitu na podstawie danych wejściowych użytkownika i szablonu monitu
Skrypt używa zakodowanych na stałe komunikatów wejściowych i wyjściowych. W prawdziwej aplikacji należy wprowadzić dane wejściowe z aplikacji klienckiej, wygenerować komunikat systemowy z wewnętrznymi instrukcjami do modelu, a następnie wywołać llM ze wszystkimi komunikatami.
Zmieńmy skrypt tak, aby pobierał dane wejściowe z aplikacji klienckiej i generujmy komunikat systemowy przy użyciu szablonu monitu.
Usuń ostatni wiersz skryptu, który wyświetla odpowiedź.
Teraz zdefiniuj
get_chat_response
funkcję, która pobiera komunikaty i kontekst, generuje komunikat systemowy przy użyciu szablonu monitu i wywołuje model. Dodaj ten kod do istniejącego pliku chat.py :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 response = chat.complete( model="gpt-4o-mini", messages=system_message + messages, temperature=1, frequency_penalty=0.5, presence_penalty=0.5, ) return response
Uwaga
Szablon monitu używa formatu wąsu.
Funkcję get_chat_response można łatwo dodać jako trasę do aplikacji FastAPI lub Flask, aby umożliwić wywoływanie tej funkcji z poziomu aplikacji internetowej frontonu.
Teraz symuluj przekazywanie informacji z aplikacji frontonu do tej funkcji. Dodaj następujący kod na końcu pliku chat.py . Możesz swobodnie grać z wiadomością i dodać własne imię.
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)
Uruchom poprawiony skrypt, aby zobaczyć odpowiedź z modelu przy użyciu tych nowych danych wejściowych.
python chat.py