Tworzenie aplikacji klienckiej, która analizuje tekst

Ukończone

Uwaga / Notatka

Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .

Aplikacja kliencka to program, który nawiązuje połączenie z usługą lub modelem i korzysta z jej możliwości. Kod wysyła żądania do usługi i automatycznie odbiera wyniki — dzięki czemu można przetwarzać duże ilości tekstu lub integrować analizę sztucznej inteligencji z przepływem pracy.

Aby nawiązać połączenie z usługą sztucznej inteligencji, aplikacja używa interfejsu API (Interfejs programowania aplikacji). Interfejs API to zestaw reguł definiujący sposób komunikowania się dwóch elementów oprogramowania. Biblioteka kliencka to zestaw gotowych kodu, którego deweloperzy mogą używać w swojej aplikacji, aby łatwo komunikować się z usługą lub interfejsem API. Możesz przejrzeć podstawowy materiał na temat aplikacji i używania punktów końcowych w: Rozpocznij pracę ze sztuczną inteligencją w Azure.

Używanie modeli sztucznej inteligencji ogólnego przeznaczenia na potrzeby analizy tekstu

Zacznij od zasobu Microsoft Foundry i utwórz projekt Foundry w ramach zasobu. W nowym portalu Foundry można przeglądać katalog modeli i wdrażać model ogólnego przeznaczenia.

Możesz utworzyć aplikację kliencką, która współdziała z modelami Microsoft Foundry przy użyciu Azure OpenAI API. Interfejs API openAI umożliwia kodowi rozmowę z wdrożonym modelem przez wysyłanie żądań do punktu końcowego wraz z kluczem interfejsu API w celu potwierdzenia, że masz autoryzację.

Interfejs API Responses API to nowoczesny, ujednolicony interfejs API w programie Azure OpenAI umożliwiający interakcję z modelami językowymi. Jest ona przeznaczona do obsługi kompletnych interakcji ze sztuczną inteligencją, a nie tylko generowania tekstu.

Interfejs API odpowiedzi umożliwia wysyłanie monitów języka naturalnego do wdrożonego modelu językowego. Jest to przydatne, gdy potrzebujesz elastycznej analizy w stylu konwersacyjnym, która nie wymaga stałych danych wyjściowych ze strukturą.

Korzystanie z biblioteki Python OpenAI

Biblioteka OpenAI Python to oficjalny zestaw sdk (software development kit) Python, który umożliwia deweloperom tworzenie aplikacji Python korzystających z modeli i usług OpenAI za pomocą kodu zamiast nieprzetworzonych żądań HTTP.

Aby użyć biblioteki Python OpenAI, należy pracować w edytorze kodu. Kod aplikacji jest napisany w edytorach code, takich jak Visual Studio Code. Terminal edytora kodu to wbudowane okno wiersza polecenia w edytorze, w którym można uruchamiać polecenia bez opuszczania środowiska projektowego.

1. Instalowanie niezbędnych pakietów

Bibliotekę Python OpenAI można zainstalować w Visual Studio Code terminal przy użyciu:

pip install openai

2. Tworzenie pliku konfiguracji

Następnie możesz utworzyć plik konfiguracji (typ .env) do przechowywania zmiennych środowiskowych, takich jak punkt końcowy, klucz i nazwa wdrożenia modelu.

Rozważ następujące zmienne:

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

Zwróć uwagę, że zmienna endpoint zawiera nazwę zasobu Foundry i openai.azure.com/openai/v1. Klucz interfejsu API to klucz projektu Foundry.

Nazwa wdrożenia modelu to nazwa nadana modelowi podczas wdrażania. Na przykład podczas wdrażania modelu gpt-4.1 można go nazwać gpt-demo-model. Nazwa wdrożenia to gpt-demo-model. Jeśli jednak nie dostosujesz nazwy modelu, nazwa wdrożenia będzie zgodna z nazwą modelu, tak jak w powyższym fragmencie kodu.

3. Tworzenie pliku zawierającego logikę aplikacji

Zapoznaj się z poniższym przykładem kodu aplikacji:

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]}")

Uwaga / Notatka

Ładowanie zmiennych środowiskowych: w tym przykładzie dotenv (load_dotenv()) odczytuje twój plik .env i ładuje te wartości do środowiska aplikacji. Następnie pakiet os pobiera każdą wartość według nazwy za pomocą os.getenv(), taką jak os.getenv("AZURE_OPENAI_ENDPOINT").

Każdy klucz w .env musi być dokładnie zgodny z nazwą w kodzie. Jeśli plik używa na przykład elementu API_KEY, kod musi również zażądać elementu API_KEY. Zachowaj spójne nazwy zmiennych, aby uniknąć brakujących wartości w czasie wykonywania.

Do utworzenia uwierzytelnionego obiektu klienta używamy naszego punktu końcowego i klucza zasobu Foundry. Klasa OpenAI jest definiowana przez zestaw SDK i działa jako strategia nawiązywania połączenia z interfejsem API OpenAI. Uwierzytelniony obiekt klienta w Pythonie jest obiektem specyficznym dla usługi, który może bezpiecznie wykonywać autoryzowane wywołania interfejsu API bez ręcznego zarządzania tokenami lub sekretami.

Uwaga / Notatka

W Python class jest strategią, która definiuje typ rzeczy — jakie dane przechowuje i jakie akcje może wykonać. Obiekt jest konkretnym wystąpieniem utworzonym na podstawie tej strategii. Na przykład klasa może określać, że każdy samochód Car ma kolor i potrafi drive() lub stop(). Podczas tworzenia konkretnego samochodu — na przykład czerwonego — jest on traktowany jako obiekt.

Po utworzeniu obiektu klienta — skonfigurowanego przy użyciu punktu końcowego i klucza — można wywołać metody w celu interakcji z modelem. Na przykład możesz użyć responsesmetody , aby wysłać monit do określonego wdrożenia modelu.

Wyniki analizy można wyświetlić, uruchamiając kod aplikacji w terminalu za pomocą polecenia python <file_name>.py.

Interfejs API openAI jest prosty w użyciu, ale wyniki mogą się różnić w zależności od wywołań, ponieważ model generuje tekst probabilistycznie. W praktyce oznacza to, że dwa wywołania z tym samym monitem mogą zwrócić nieco inne sformułowanie lub formatowanie. Jeśli aplikacja potrzebuje spójnych, ustrukturyzowanych wartości, takich jak kod języka, współczynnik ufności lub tekst zredagowany, zestaw SDK języka Azure jest lepszym wyborem.

Korzystanie z zestawu SDK języka Azure

Zestaw SDK języka Azure to biblioteka kliencka dla Azure Language in Foundry Tools. Zestaw SDK ułatwia deweloperom dodawanie funkcji NLP, takich jak wykrywanie języka i redagowanie danych osobowych (PII) do swoich aplikacji.

Zobaczmy, jak za pomocą zestawu SDK Python języka Azure utworzyć aplikację analizującą tekst. Aby użyć Python SDK dla języka Azure, musisz mieć zasób Foundry. Następnie należy zainstalować zgodną wersję Python i zestaw AZURE Language Python SDK.

Zestaw SDK Python można zainstalować w Visual Studio Code terminal przy użyciu:

pip install azure-ai-textanalytics

Rozważmy następujący przykład pliku konfiguracji:

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

Rozważmy następujący przykład kodu aplikacji:

# 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]

Używamy metod klienta do wywoływania funkcji Azure Language, takich jak detect_language i recognize_pii_entities.

Wykrywanie języka: detect_language() metoda pobiera listę ciągów tekstowych i zwraca wykryty język, kod ISO 639-1 oraz współczynnik ufności z zakresu od 0 do 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}")

Wykrywanie danych osobowych: Metoda recognize_pii_entities(), identyfikując dane osobowe w tekście, zwraca zarówno zredagowaną wersję tekstu, jak i listę znalezionych jednostek, w tym kategorię każdej jednostki oraz współczynnik pewności.

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}")

Za pomocą interfejsu API openAI i zestawu SDK języka Azure możesz napisać kod dla aplikacji sztucznej inteligencji, które przetwarzają język naturalny i generują szczegółowe informacje na podstawie tekstu.

Następnie przyjrzyjmy się, jak uwzględnić funkcje języka Azure w agentach sztucznej inteligencji.