Auf Englisch lesen

Teilen über


Das Azure KI Foundry SDK

Das Azure KI Foundry SDK ist eine umfassende Toolkette, die die Entwicklung von KI-Anwendungen in Azure vereinfacht. Das SDK bietet Entwicklern folgende Möglichkeiten:

  • Zugreifen auf beliebte Modelle von verschiedenen Modellanbietern aus über eine einzige Benutzeroberfläche
  • Einfaches Kombinieren von Modellen, Daten und KI-Diensten zum Erstellen von KI-gesteuerten Anwendungen
  • Auswerten, Debuggen und Verbessern der Anwendungsqualität und -sicherheit in Entwicklungs-, Test- und Produktionsumgebungen

Das KI Foundry SDK umfasst verschiedene Pakete und Dienste, die zusammenwirken. Mit der Azure KI Projects-Clientbibliothek können Sie mehrere Dienste mühelos über einen einzelnen Projektclient und eine einzelne Verbindungszeichenfolge verwenden. Sie können Dienste und SDKs auch allein verwenden und direkt mit Ihren Diensten verbinden.

Wenn Sie direkt beginnen und eine App erstellen möchten, lesen Sie folgenden Artikel:

Erste Schritte mit Projekten

Der beste Einstieg in das Azure KI Foundry SDK besteht in der Verwendung eines Projekts. KI-Projekte verbinden verschiedene Daten, Ressourcen und Dienste, die Sie zum Erstellen von KI-Anwendungen benötigen. Mit dem KI-Projektclient können Sie mithilfe einer einzelnen Verbindungszeichenfolge mühelos über Ihren Code auf diese Projektkomponenten zugreifen.

Erstellen Sie zunächst ein KI-Projekt, wenn Sie noch keines haben.

Melden Sie sich mit demselben Konto bei der Azure CLI an, das Sie für den Zugriff auf Ihr KI-Projekt verwenden:

az login

Installieren Sie die Clientbibliothek für Azure KI-Projekte:

pip install azure-ai-projects azure-identity

Erstellen Sie einen Projektclient im Code:

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
 
project_connection_string="your_connection_string"

project = AIProjectClient.from_connection_string(
  conn_str=project_connection_string,
  credential=DefaultAzureCredential())

Kopieren Sie auf der Seite Übersicht des Projekts die Projektverbindungszeichenfolge, und aktualisieren Sie die oben genannte project_connection_string-Variable.

Nachdem Sie den Projektclient erstellt haben, können Sie den Client für die Funktionen in den folgenden Abschnitten verwenden.

Sehen Sie sich unbedingt die Referenz und Beispielean.

Azure OpenAI Service

Azure OpenAI Service bietet Zugriff auf OpenAI-Modelle, einschließlich GPT-4o, GPT-4o mini, GPT-4, GPT-4 Turbo mit Vision, DALLE-3, Whisper und Embeddings-Modellreihen mit den Datenresidenz-, Skalierbarkeits-, Sicherheits- und Enterprise-Funktionen von Azure.

Wenn Sie Code haben, der das OpenAI SDK verwendet, können Sie dieses mühelos auch auf Azure OpenAI Service ausrichten. Installieren Sie zunächst das OpenAI SDK:

pip install openai

Wenn Ihr bestehender Code das OpenAI SDK verwendet, können Sie mit dem Projektclient einen AzureOpenAI-Client erstellen, der die Azure OpenAI-Verbindung Ihres Projekts verwendet:

openai = project.inference.get_azure_openai_client(api_version="2024-06-01")
response = openai.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "You are a helpful writing assistant"},
        {"role": "user", "content": "Write me a poem about flowers"},
    ]
)

print(response.choices[0].message.content)

Wenn Sie das Azure OpenAI SDK bereits direkt für Azure OpenAI Service verwenden, bietet das Projekt eine bequemer Weg, Funktionen von Azure OpenAI Service zusammen mit den übrigen KI Foundry-Funktionen zu nutzen.

Azure KI-Modellinferenz-API

Der Modellinferenzdienst von Azure KI bietet Zugriff auf leistungsstarke Modelle von führenden Anbietern wie OpenAI, Microsoft und Meta. Diese Modelle unterstützen Tasks wie Inhaltsgenerierung, Zusammenfassung und Codegenerierung.

Um den Modellinferenzdienst zu verwenden, müssen Sie zunächst sicherstellen, dass Ihr Projekt (im Management Center) über eine AI Services-Verbindung verfügt.

Installieren der azure-ai-inferencing Clientbibliothek:

pip install azure-ai-inference

Sie können mithilfe des Projektclients eine konfigurierte und authentifizierte ChatCompletionsClient- oder EmbeddingsClient-Instanz abrufen:

# get an chat inferencing client using the project's default model inferencing endpoint
chat = project.inference.get_chat_completions_client()

# run a chat completion using the inferencing client
response = chat.complete(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "You are a helpful writing assistant"},
        {"role": "user", "content": "Write me a poem about flowers"},
    ]
)

print(response.choices[0].message.content)

Sie können den Modellnamen in jedes Modell ändern, das Sie für den Inferenzdienst oder Azure OpenAI Service bereitgestellt haben.

Weitere Informationen zur Verwendung des Azure KI-Inferenzclients finden Sie in der Referenz zur Azure KI-Modellinferenz.

Promptvorlagen

Der Inferenzclient unterstützt das Erstellen von Promptnachrichten aus Vorlagen. Mit Vorlagen können Sie Prompts dynamisch mithilfe von Eingaben generieren, die zur Laufzeit verfügbar sind.

Um Promptvorlagen zu verwenden, müssen Sie das azure-ai-inferencing-Paket installieren:

pip install azure-ai-inference

Sie können eine Promptvorlage aus einer Inlinezeichenfolge rendern:

from azure.ai.inference.prompts import PromptTemplate

# create a prompt template from an inline string (using mustache syntax)
prompt_template = PromptTemplate.from_string(prompt_template="""
    system:
    You are a helpful writing assistant.
    The user's first name is {{first_name}} and their last name is {{last_name}}.
    
    user:
    Write me a poem about flowers
    """)
    
# generate system message from the template, passing in the context as variables
messages = prompt_template.create_messages(first_name="Jane", last_name="Doe")
print(messages)

Hinweis

Führende Leerzeichen werden automatisch aus Eingabezeichenfolgen gekürzt.

Dieser Code gibt Nachrichten aus, die Sie dann an einen Chatabschlussaufruf übergeben können:

[
  {'role': 'system', 'content': "You are a helpful writing assistant.\nThe user's first name is Jane and their last name is Doe."}
  {'role': 'user', 'content': 'Write me a poem about flowers'}
]

Sie können Prompts auch aus einer Prompty-Datei laden, wodurch Sie auch den Modellnamen und die Parameter aus der .prompty-Datei laden können:

from azure.ai.inference.prompts import PromptTemplate

prompt_template = PromptTemplate.from_prompty("myprompt.prompty")
messages = prompt_template.create_messages(first_name="Jane", last_name="Doe")

response = chat.complete(
    messages=messages,
    model=prompt_template.model_name,
    **prompt_template.parameters,
)

Wenn eine Azure KI-Suche-Ressource mit Ihrem Projekt verbunden ist, können Sie auch mithilfe des Projektclients und der Projektverbindung einen Azure KI-Suche-Client erstellen.

Installieren Sie die Clientbibliothek von Azure KI-Suche:

pip install azure-search-documents

Instanziieren Sie die Suche und/oder den Suchindexclient nach Bedarf:

from azure.core.credentials import AzureKeyCredential
from azure.ai.projects.models import ConnectionType
from azure.search.documents import SearchClient
from azure.search.documents.indexes import SearchIndexClient

# use the project client to get the default search connection
search_connection = project.connections.get_default(
    connection_type=ConnectionType.AZURE_AI_SEARCH,
    with_credentials=True)

# Create a client to create and manage search indexes
index_client = SearchIndexClient(
    endpoint=search_connection.endpoint_url,
    credential=AzureKeyCredential(key=search_connection.key)
)

# Create a client to run search queries
search_client = SearchClient(
    index_name="your_index_name",
    endpoint=search_connection.endpoint_url,
    credential=AzureKeyCredential(key=search_connection.key)
)

Weitere Informationen zur Verwendung von Azure KI-Suche finden Sie in der Dokumentation zu Azure KI-Suche.

Azure KI-Agents-Runtime

Azure KI Agent Service ist ein vollständig verwalteter Dienst, mit dem Entwickler hochwertige und erweiterbare KI-Agents sicher erstellen, bereitstellen und skalieren können. Azure KI Agent Service nutzt ein umfangreiches Ökosystem aus Modellen, Tools und Funktionen von OpenAI, Microsoft und Drittanbietern und ermöglicht die Erstellung von Agents für zahlreiche Anwendungsfälle von generativer KI.

Registrieren Sie sich für die private Vorschau, um Zugriff auf Agents zu erhalten.

Auswertung

Mithilfe des Projektclients können Sie mühelos eine Verbindung mit dem Azure KI-Auswertungsdienst und Modellen herstellen, die für die Ausführung Ihrer Evaluators erforderlich sind.

pip install azure-ai-evaluation

Mit dem project.scope-Parameter kann ein ViolenceEvaluator instanziiert werden:

from azure.ai.evaluation import ViolenceEvaluator
from azure.identity import DefaultAzureCredential

# Initializing Violence Evaluator with project information
violence_eval = ViolenceEvaluator(
    azure_ai_project=project.scope,
    credential=DefaultAzureCredential())

# Running Violence Evaluator on single input row
violence_score = violence_eval(query="what's the capital of france", response="Paris")
print(violence_score)

HINWEIS: Um Gewalt-Evaluators ausführen zu können, muss sich Ihr Projekt in der Region „USA, Osten 2“, „Schweden, Mitte“, „USA, Norden-Mitte“ oder „Frankreich, Mitte“ befinden.

Weitere Informationen finden Sie unter Auswertung mit dem SDK.

Ablaufverfolgung

Um die Ablaufverfolgung zu aktivieren, stellen Sie zunächst sicher, dass eine Application Insights-Ressource an Ihr Projekt angefügt wurde. Wechseln Sie zur Seite Ablaufverfolgung Ihres Projekts, und befolgen Sie die Anweisungen zum Erstellen oder Anfügen von Application Insights.

Installieren Sie das Azure Monitor-OpenTelemetry-Paket:

pip install azure-monitor-opentelemetry

Verwenden Sie den folgenden Code, um die Instrumentierung des Azure KI Inference SDK zu aktivieren und sich bei Ihrem KI-Projekt anzumelden:

# Enable instrumentation of AI packages (inference, agents, openai, langchain)
project.telemetry.enable()

# Log traces to the project's application insights resource
application_insights_connection_string = project.telemetry.get_connection_string()
if application_insights_connection_string:
    configure_azure_monitor(connection_string=application_insights_connection_string)

Nachstehend finden Sie hilfreiche Links zu anderen Diensten und Frameworks, die Sie mit dem Azure KI Foundry SDK verwenden können.

Azure-KI-Dienste

Clientbibliotheken:

Verwaltungsbibliotheken:

Frameworks

Azure Machine Learning

prompt flow

Semantischer Kernel