Open Model LLM#

Einleitung#

Das Open Model LLM-Tool ermöglicht die Nutzung einer Vielzahl von Open-Source-Modellen und Foundation-Modellen wie Falcon und Llama 2 für die Verarbeitung natürlicher Sprache in Azure ML Prompt Flow.

So sieht das in Aktion auf der Prompt Flow-Erweiterung für Visual Studio Code aus. In diesem Beispiel wird das Tool verwendet, um einen LlaMa-2-Chat-Endpunkt aufzurufen und die Frage „What is CI?“ zu stellen.

Screenshot of the Open Model LLM On VScode Prompt Flow extension

Dieses Prompt Flow-Tool unterstützt zwei verschiedene LLM-API-Typen

  • Chat: Wie im obigen Beispiel gezeigt. Der Chat-API-Typ erleichtert interaktive Gespräche mit Texteingaben und -ausgaben.

  • Completion: Der Completion-API-Typ wird verwendet, um einzelne Textvervollständigungen basierend auf der bereitgestellten Prompt-Eingabe zu generieren.

Schnelle Übersicht: Wie benutze ich das Open Model LLM Tool?#

  1. Wählen Sie ein Modell aus dem AzureML Model Catalog und stellen Sie es bereit.

  2. Verbinden Sie sich mit der Modellbereitstellung.

  3. Konfigurieren Sie die Einstellungen des Open Model LLM-Tools.

  4. Bereiten Sie den Prompt mit Anleitungen vor.

  5. Führen Sie den Flow aus.

Voraussetzungen: Modellbereitstellung#

  1. Wählen Sie das Modell, das Ihrem Szenario entspricht, aus dem Azure Machine Learning Model Catalog.

  2. Verwenden Sie die Schaltfläche „Deploy“, um das Modell auf einem AzureML Online Inference-Endpunkt bereitzustellen. 2.1. Verwenden Sie eine der Pay-as-you-go-Bereitstellungsoptionen.

Detailliertere Anweisungen finden Sie hier: Bereitstellen von Foundation-Modellen für Endpunkte zur Inferenz.

Voraussetzungen: Verbindung zum Modell#

Damit Prompt Flow Ihr bereitgestelltes Modell verwenden kann, müssen Sie sich damit verbinden. Es gibt mehrere Möglichkeiten, sich zu verbinden.

1. Endpunktverbindungen#

Sobald das Open Model LLM-Tool mit einem AzureML- oder Azure AI Studio-Workspace verknüpft ist, kann es die Endpunkte in diesem Workspace verwenden.

  1. Verwendung von AzureML- oder Azure AI Studio-Workspaces: Wenn Sie Prompt Flow in einem der webbasierten Browser-Workspaces verwenden, werden die in diesem Workspace verfügbaren Online-Endpunkte automatisch angezeigt.

  2. Verwendung von VScode oder Code First: Wenn Sie Prompt Flow in VScode oder einem der Code First-Angebote verwenden, müssen Sie sich mit dem Workspace verbinden. Das Open Model LLM-Tool verwendet den azure.identity DefaultAzureCredential-Client zur Autorisierung. Eine Möglichkeit ist die Konfiguration von Umgebungsvariablen für Anmeldeinformationen.

2. Benutzerdefinierte Verbindungen#

Das Open Model LLM-Tool verwendet die CustomConnection. Prompt Flow unterstützt zwei Arten von Verbindungen

  1. Workspace Connections – Dies sind Verbindungen, die als Geheimnisse in einem Azure Machine Learning-Workspace gespeichert sind. Obwohl diese an vielen Stellen verwendet werden können, werden sie häufig in der Studio-Benutzeroberfläche erstellt und verwaltet.

  2. Local Connections – Dies sind Verbindungen, die lokal auf Ihrem Rechner gespeichert sind. Diese Verbindungen sind in den Studio-UX-Oberflächen nicht verfügbar, können aber mit der VScode-Erweiterung verwendet werden.

Anweisungen zum Erstellen einer benutzerdefinierten Workspace- oder lokalen Verbindung finden Sie hier.

Die erforderlichen Schlüssel, die festgelegt werden müssen, sind:

  1. endpoint_url

    • Dieser Wert kann dem zuvor erstellten Inferencing-Endpunkt entnommen werden.

  2. endpoint_api_key

    • Stellen Sie sicher, dass dieser als Geheimniswert festgelegt wird.

    • Dieser Wert kann dem zuvor erstellten Inferencing-Endpunkt entnommen werden.

  3. model_family

    • Unterstützte Werte: LLAMA, DOLLY, GPT2 oder FALCON

    • Dieser Wert hängt vom Typ der Bereitstellung ab, die Sie anvisieren.

Ausführen des Tools: Eingaben#

Das Open Model LLM-Tool verfügt über eine Reihe von Parametern, von denen einige erforderlich sind. Details finden Sie in der folgenden Tabelle. Sie können diese mit dem obigen Screenshot zur besseren Veranschaulichung abgleichen.

Name

Typ

Beschreibung

Erforderlich

api

string

Dies ist der API-Modus und hängt vom verwendeten Modell und dem ausgewählten Szenario ab. Unterstützte Werte: (Completion | Chat)

Ja

endpoint_name

string

Name eines Online Inferencing Endpunkts mit einem unterstützten Modell, das darauf bereitgestellt wurde. Hat Vorrang vor der Verbindung.

Nein

temperature

float

Die Zufälligkeit des generierten Textes. Standard ist 1.

Nein

max_new_tokens

integer

Die maximale Anzahl von Tokens, die in der Vervollständigung generiert werden sollen. Standard ist 500.

Nein

top_p

float

Die Wahrscheinlichkeit, die Top-Auswahl aus den generierten Tokens zu verwenden. Standard ist 1.

Nein

model_kwargs

dictionary

Diese Eingabe wird verwendet, um modellspezifische Konfigurationen bereitzustellen. Zum Beispiel kann das Llama-02-Modell {„temperature“:0.4} verwenden. Standard: {}

Nein

deployment_name

string

Der Name der Bereitstellung, die auf dem Online Inferencing Endpunkt angesprochen werden soll. Wenn kein Wert übergeben wird, werden die Traffic-Einstellungen des Inferencing-Lastverteilers verwendet.

Nein

prompt

string

Der Text-Prompt, den das Sprachmodell zur Generierung seiner Antwort verwendet.

Ja

Ausgaben#

API

Rückgabetyp

Beschreibung

Completion

string

Der Text einer vorhergesagten Vervollständigung

Chat

string

Der Text einer Antwort in der Konversation

Bereitstellung auf einem Online-Endpunkt#

Beim Bereitstellen eines Flows, der das Open Model LLM-Tool enthält, auf einem Online-Endpunkt ist ein zusätzlicher Schritt zur Einrichtung von Berechtigungen erforderlich. Bei der Bereitstellung über Webseiten gibt es die Wahl zwischen System-zugewiesenen und Benutzer-zugewiesenen Identitätstypen. In beiden Fällen fügen Sie über das Azure Portal (oder eine ähnliche Funktion) die „Reader“-Rolle für den Job zur Identität im Azure Machine Learning-Workspace oder im Ai Studio-Projekt hinzu, das den Endpunkt hostet. Die Prompt Flow-Bereitstellung muss möglicherweise aktualisiert werden.