Skapa ett klientprogram som analyserar text

Slutförd

Tip

Mer information finns på fliken Text och bilder !

Ett klientprogram är ett program som du skriver som ansluter till en tjänst eller modell och använder dess funktioner. Koden skickar begäranden till tjänsten och tar emot resultat automatiskt – vilket gör det möjligt att bearbeta stora mängder text eller integrera AI-analys i ett arbetsflöde.

För att ansluta till en AI-tjänst använder ditt program ett API (Application Programming Interface). Ett API är en uppsättning regler som definierar hur två delar av programvaran kommunicerar. Ett klientbibliotek är en uppsättning färdig kod som utvecklare kan använda i sitt program för att enkelt kommunicera med en tjänst eller ETT API. Du kan granska grundläggande material om applikationer och användning av slutpunkter i: Komma igång med AI i Azure.

Använda ai-modeller för generell användning för textanalys

Börja med en Microsoft Foundry-resurs och skapa ett Foundry-projekt i resursen. I den nya Foundry-portalen kan du bläddra i modellkatalogen och distribuera en generell modell.

Du kan skapa ett klientprogram som interagerar med Microsoft Foundry Models med hjälp av Azure OpenAI API. Med OpenAI-API:et kan din kod kommunicera med en distribuerad modell genom att skicka begäranden till en slutpunkt, tillsammans med en API-nyckel för att bevisa att du har behörighet.

API:et Responses är det moderna, enhetliga API:et i Azure OpenAI för interaktion med språkmodeller. Den är utformad för att hantera fullständiga AI-interaktioner, inte bara textgenerering.

Du kan använda svars-API :et för att skicka frågor om naturligt språk till en distribuerad språkmodell. Det är användbart när du behöver flexibel, konversationsliknande analys som inte kräver fasta strukturerade utdata.

Använda OpenAI Python-biblioteket

OpenAI Python-biblioteket är ett officiellt Python programutvecklingspaket (SDK) som gör att utvecklare kan skapa Python program som interagerar med OpenAI-modeller och -tjänster via kod i stället för råa HTTP-begäranden.

Om du vill använda OpenAI Python-biblioteket måste du arbeta i en kodredigerare. Programkod skrivs i code-redigerare, till exempel Visual Studio Code. En kodredigerares terminal är ett inbyggt kommandoradsfönster i redigeraren där du kan köra kommandon utan att lämna utvecklingsmiljön.

1. Installera nödvändiga paket

OpenAI Python-biblioteket kan installeras i Visual Studio Code terminal med hjälp av:

pip install openai

2. Skapa en konfigurationsfil

Sedan kan du skapa en konfigurationsfil (typ .env) för att lagra dina miljövariabler, till exempel din slutpunkt, nyckel och modelldistributionsnamn.

Tänk på följande variabler:

AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com/openai/v1/
MODEL_DEPLOYMENT_NAME=gpt-4.1-mini
API_KEY=<your-foundry-key>

Observera hur slutpunktsvariabeln innehåller namnet på din Foundry-resurs och openai.azure.com/openai/v1. Din API-nyckel är din Foundry-projektnyckel.

Namnet på modelldistributionen är det namn som du ger modellen när du distribuerar den. När du till exempel distribuerar modellen gpt-4.1 kan du ge den namnet gpt-demo-model. Distributionsnamnet är gpt-demo-model. Men om du inte anpassar modellnamnet matchar distributionsnamnet modellnamnet, vilket är fallet i kodfragmentet ovan.

3. Skapa en fil som innehåller din programlogik

Ta en titt på följande programkodexempel:

import os
from dotenv import load_dotenv
from openai import OpenAI

# Load environment variables from .env file
load_dotenv()
endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
api_key = os.getenv("API_KEY")
deployment_name = os.getenv("MODEL_DEPLOYMENT_NAME")

# Create the client object
client = OpenAI(
    base_url=endpoint,
    api_key=api_key
)

# Make a request using the client
message = client.responses.create(
    model=deployment_name,
    input="",
)

# Print the results
print(f"Sentiment: {message.output[0]}")

Anmärkning

Läser in miljövariabler: I det här exemplet dotenv läser (load_dotenv()) in filen .env och läser in dessa värden i appens miljö. Paketet os hämtar sedan varje värde efter namn med os.getenv(), till exempel os.getenv("AZURE_OPENAI_ENDPOINT").

Varje nyckel i .env måste matcha namnet i koden exakt. Om filen till exempel använder API_KEYmåste koden också begära API_KEY. Håll variabelnamnen konsekventa för att undvika saknade värden under körning.

Vi använder vår slutpunkt och nyckel för Foundry-resurser för att skapa ett autentiserat klientobjekt. Klassen OpenAI definieras av SDK och fungerar som en skiss för att ansluta till OpenAI-API:et. Ett autentiserat klientobjekt i Python är ett tjänstspecifikt objekt som på ett säkert sätt kan göra auktoriserade API-anrop utan att koden hanterar token eller hemligheter manuellt.

Anmärkning

I Python är en class en skiss som definierar en typ av sak – vilka data den innehåller och vilka åtgärder den kan utföra. Ett objekt är en specifik instans som skapats från skissen. En klass kan till exempel Car definiera att varje bil har en färg och kan drive() eller stop(). När du skapar en specifik bil – till exempel en röd – är det ett objekt.

När du har skapat ett klientobjekt – konfigurerat med slutpunkten och nyckeln – kan du anropa metoder för att interagera med modellen. Du kan till exempel använda responsesmetoden för att skicka en uppmaning till en specifik modelldistribution.

Vi kan visa resultatet av analysen genom att köra programkoden i terminalen med kommandot python <file_name>.py.

OpenAI API är enkelt att använda, men resultatet kan variera mellan anrop eftersom modellen genererar text probabilistically. I praktiken innebär det att två anrop med samma prompt kan returnera något olika formuleringar eller formatering. När din app behöver konsekventa, strukturerade värden, till exempel språkkod, konfidenspoäng eller redigerad text, är Azure Language SDK ett bättre val.

Använda Azure Language SDK

Azure Language SDK är ett klientbibliotek för Azure Language in Foundry Tools. SDK:n gör det enkelt för utvecklare att lägga till NLP-funktioner, till exempel språkidentifiering och redigera personligt identifierbar information (PII) i sina program.

Nu ska vi se hur du kan använda Azure Language Python SDK för att skapa ett program som analyserar text. Om du vill använda Azure Language Python SDK måste du ha en Foundry-resurs. Sedan måste du installera en kompatibel version av Python och Azure Language Python SDK.

Python SDK kan installeras i Visual Studio Code terminal med hjälp av:

pip install azure-ai-textanalytics

Överväg följande konfigurationsfilexempel:

AZURE_LANGUAGE_ENDPOINT=https://<your-resource>.cognitiveservices.azure.com/
API_KEY=<your-foundry-key>

Överväg följande programkodexempel:

# Import packages
import os
from dotenv import load_dotenv
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient

# Load environment variables from .env file
load_dotenv()
endpoint = os.getenv("AZURE_LANGUAGE_ENDPOINT")
key = os.getenv("API_KEY")

# Create the client
client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))

# Make a request using the client for language detection
text = "¡Hola! Me llamo Josefina y vivo en Madrid, España."
result = client.detect_language([text])[0]

Vi använder klientens methods för att anropa Azure Language functions, till exempel detect_language och recognize_pii_entities.

Språkidentifiering: Metoden detect_language() tar en lista över textsträngar och returnerar det identifierade språket, dess ISO 639-1-kod och en konfidenspoäng mellan 0 och 1.

text = "¡Hola! Me llamo Josefina y vivo en Madrid, España."
result = client.detect_language([text])[0]

# Print the results
print(f"Language      : {result.primary_language.name}")
print(f"ISO code      : {result.primary_language.iso6391_name}")
print(f"Confidence    : {result.primary_language.confidence_score:.2f}")

PII-identifiering: Metoden recognize_pii_entities() identifierar personlig information i text och returnerar både den redigerade versionen av texten och en lista över de entiteter som hittades, inklusive varje entitets kategori och konfidenspoäng.

text = "Maria Garcia called from 020 7946 0958 and asked to send documents to 42 Market Road, London, UK, SW1A 1AA."

result = client.recognize_pii_entities([text])[0]

# Print the results
print("Redacted text:", result.redacted_text)
print("\nEntities found:")
for entity in result.entities:
    print(f"  {entity.text} | category={entity.category} | confidence={entity.confidence_score}")

Med OpenAI API och Azure Language SDK kan du skriva kod för AI-program som bearbetar naturligt språk och genererar insikter från din text.

Nu ska vi ta en titt på hur du inkluderar Azure Language-funktioner i AI-agenter.