Freigeben über


Erstellen einer einfachen Chat-App in Python mithilfe von Azure KI Foundry SDK

Wichtig

Die in diesem Artikel markierten Elemente (Vorschau) sind aktuell als öffentliche Vorschau verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

In diesem Schnellstart erfahren Sie, wie Sie eine lokale Entwicklungsumgebung mit Azure KI Foundry SDK einrichten. Wir schreiben einen Prompt, führen ihn als Teil Ihres App-Codes aus, verfolgen die LLM-Aufrufe und führen eine grundlegende Auswertung der Ausgaben des LLM aus.

Voraussetzungen

  • Bevor Sie diesen Schnellstart durchführen können, schließen Sie den KI S-Playground-Schnellstart ab, um ein gpt-4o-mini-Modell in einem Projekt bereitzustellen.

Installieren der Azure CLI und Anmelden

Installieren Sie die Azure-Befehlszeilenschnittstelle und die Anmeldung über Ihre lokale Entwicklungsumgebung, damit Sie Ihre Benutzeranmeldeinformationen verwenden können, um Azure OpenAI Service aufzurufen.

In den meisten Fällen können Sie die Azure CLI über Ihr Terminal mit dem folgenden Befehl installieren:

winget install -e --id Microsoft.AzureCLI

Sie können die Anweisungen unter Installieren der Azure CLI- befolgen, wenn diese Befehle für Ihr Betriebssystem oder Setup nicht funktionieren.

Melden Sie sich nach der Installation der Azure-Befehlszeilenschnittstelle mit dem Befehl az login über den Browser an:

az login

Alternativ können Sie sich manuell über den Browser mit einem Gerätecode anmelden.

az login --use-device-code

Erstellen einer neuen Python-Umgebung

Zuerst müssen Sie eine neue Python-Umgebung erstellen, um das Paket zu installieren, das Sie für dieses Tutorial benötigen. Installieren Sie KEINE Pakete in Ihrer globalen Python-Installation. Sie sollten beim Installieren von Python-Paketen immer eine virtuelle oder Conda-Umgebung verwenden, andernfalls können Sie die globale Python-Installation beschädigen.

Installieren Sie bei Bedarf Python.

Es wird empfohlen, Python 3.10 oder höher zu verwenden, aber mindestens Python 3.8 ist erforderlich. Wenn Sie keine geeignete Version von Python installiert haben, können Sie die Anweisungen im VS Code-Tutorial für Python befolgen, um Python auf Ihrem Betriebssystem zu installieren.

Erstellen einer virtuellen Umgebung

Wenn Sie Python 3.10 oder höher bereits installiert haben, können Sie mit den folgenden Befehlen eine virtuelle Umgebung erstellen:

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

Wenn Sie die Python-Umgebung aktivieren, verwenden Sie beim Ausführen von python oder pip über die Befehlszeile den Python-Interpreter, der im Ordner .venv Ihrer Anwendung enthalten ist.

Hinweis

Sie können den Befehl deactivate verwenden, um die virtuelle Python-Umgebung zu beenden, und sie später bei Bedarf reaktivieren.

Installieren von Paketen

Installieren Sie azure-ai-projects (Preview), azure-ai-inference (Preview) und „azure-identity“-Pakete:

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

Erstellen Ihrer Chat-App

Erstellen Sie eine Datei mit dem Namen chat.py. Kopieren Sie den folgenden Code, und fügen Sie ihn in die Datei ein:

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)

Einfügen Ihrer Verbindungszeichenfolge

Ihre Projektverbindungszeichenfolge ist erforderlich, um Azure OpenAI Service von Ihrem Code aus aufzurufen.

Suchen Sie Ihre Verbindungszeichenfolge im Azure KI Studio-Projekt, das Sie im KI Studio-Playground-Schnellstart erstellt haben. Öffnen Sie das Projekt, und suchen Sie dann die Verbindungszeichenfolge auf der Seite Übersicht.

Screenshot: Übersichtsseite eines Projekts und des Speicherorts der Verbindungszeichenfolge

Kopieren Sie die Verbindungszeichenfolge, und ersetzen Sie <your-connection-string-goes-here> in der chat.py-Datei.

Ausführen Ihres Chatskripts

Führen Sie das Skript aus, um die Antwort des Modells anzuzeigen.

python chat.py

Generieren eines Prompts aus Benutzereingaben und einer Promptvorlage

Das Skript verwendet hartcodierte Eingabe- und Ausgabemeldungen. In einer richtigen App verwenden Sie Eingaben aus einer Clientanwendung, generieren eine Systemmeldung mit internen Anweisungen für das Modell und rufen dann das LLM mit allen Meldungen auf.

Ändern Sie das Skript, um Eingaben aus einer Clientanwendung zu übernehmen und eine Systemmeldung mithilfe einer Promptvorlage zu generieren.

  1. Entfernen Sie die letzte Zeile des Skripts, das eine Antwort ausgibt.

  2. Definieren Sie nun eine get_chat_response-Funktion, die Nachrichten und Kontext übernimmt, eine Systemmeldung mithilfe einer Promptvorlage generiert und ein Modell aufruft. Fügen Sie diesen Code zu Ihrer chat.py-Datei hinzu:

    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_message(
            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.render(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,
        )
    

    Hinweis

    In der Promptvorlage wird das Mustache-Format verwendet.

    Die „get_chat_response“-Funktion kann einfach als Route zu einer FastAPI- oder Flask-App hinzugefügt werden, um das Aufrufen dieser Funktion über eine Front-End-Webanwendung zu ermöglichen.

  3. Simulieren Sie nun das Übergeben von Informationen von einer Front-End-Anwendung an diese Funktion. Fügen Sie am Ende der chat.py-Datei den folgenden Code hinzu. Sie können die Meldung ändern und Ihren eigenen Namen hinzufügen.

    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)
    

Führen Sie das Skript aus, um die Antwort des Modells mit dieser neuen Eingabe anzuzeigen.

python chat.py

Nächster Schritt