Creare un'applicazione client che analizza il testo
Annotazioni
Per altri dettagli, vedi la scheda Testo e immagini .
Un'applicazione client è un programma scritto che si connette a un servizio o a un modello e ne usa le funzionalità. Il codice invia richieste al servizio e riceve automaticamente i risultati, consentendo di elaborare grandi volumi di testo o integrare l'analisi di intelligenza artificiale in un flusso di lavoro.
Per connettersi a un servizio di intelligenza artificiale, l'applicazione usa un'API (Application Programming Interface). Un'API è un set di regole che definisce il modo in cui due parti del software comunicano. Una libreria client è un set di codice pronto che gli sviluppatori possono usare nell'applicazione per comunicare facilmente con un servizio o un'API. È possibile esaminare il materiale di base sulle applicazioni e usare gli endpoint in: Introduzione all'intelligenza artificiale in Azure.
Uso di modelli di intelligenza artificiale per utilizzo generico per l'analisi del testo
Iniziare con una risorsa Microsoft Foundry e creare un progetto Foundry all'interno della risorsa. Nel nuovo portale foundry è possibile esplorare il catalogo dei modelli e distribuire un modello per utilizzo generico.
È possibile compilare un'applicazione client che interagisce con Microsoft Modelli Foundry usando l'API Azure API OpenAI. L'API OpenAI consente al codice di comunicare con un modello distribuito inviando richieste a un endpoint, insieme a una chiave API per dimostrare di essere autorizzati.
L'API Responses è l'API moderna unificata all'interno di Azure OpenAI per interagire con i modelli linguistici. È progettato per gestire interazioni complete di intelligenza artificiale, non solo per la generazione di testo.
È possibile usare l'API delle risposte per inviare richieste in linguaggio naturale a un modello linguistico distribuito. È utile quando è necessaria un'analisi flessibile e in stile conversazionale che non richiede un output strutturato fisso.
Uso della libreria Python OpenAI
La libreria OpenAI Python è un sdk ufficiale Python software che consente agli sviluppatori di compilare applicazioni Python che interagiscono con modelli e servizi OpenAI tramite codice anziché richieste HTTP non elaborate.
Per usare la libreria di Python OpenAI, è necessario lavorare all'interno di un editor di codice. Il codice dell'applicazione viene scritto in editor code, ad esempio Visual Studio Code. Il terminale di un editor di codice è una finestra della riga di comando predefinita all'interno dell'editor in cui è possibile eseguire comandi senza uscire dall'ambiente di sviluppo.
1. Installare i pacchetti necessari
La libreria di Python OpenAI può essere installata nel Visual Studio Code terminal tramite:
pip install openai
2. Creare un file di configurazione
Successivamente, è possibile creare un file di configurazione (tipo .env) per archiviare le variabili di ambiente, ad esempio l'endpoint, la chiave e il nome della distribuzione del modello.
Considerare le variabili seguenti:
AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com/openai/v1/
MODEL_DEPLOYMENT_NAME=gpt-4.1-mini
API_KEY=<your-foundry-key>
Si noti che la variabile endpoint contiene il nome della risorsa Foundry e openai.azure.com/openai/v1. La chiave API è la chiave del progetto Foundry.
Il nome della distribuzione del modello è il nome assegnato al modello durante la distribuzione. Ad esempio, quando si distribuisce il modello gpt-4.1 , è possibile denominarlo gpt-demo-model. Il nome della distribuzione è gpt-demo-model. Tuttavia, se non si personalizza il nome del modello, il nome della distribuzione corrisponderà al nome del modello, come nel frammento di codice precedente.
3. Creare un file contenente la logica dell'applicazione
Esaminare l'esempio di codice dell'applicazione seguente:
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]}")
Annotazioni
Caricamento delle variabili di ambiente: in questo esempio (dotenvload_dotenv()) legge il .env file e carica tali valori nell'ambiente dell'app. Il os pacchetto recupera quindi ogni valore per nome con os.getenv(), ad esempio os.getenv("AZURE_OPENAI_ENDPOINT").
Ogni chiave in .env deve corrispondere esattamente al nome nel codice. Ad esempio, se il file usa API_KEY, il codice deve anche richiedere API_KEY. Mantenere coerenti i nomi delle variabili per evitare valori mancanti in fase di esecuzione.
Per creare un oggetto client autenticato, vengono usati l'endpoint della risorsa Foundry e la chiave. La OpenAI classe è definita dall'SDK e funge da progetto per la connessione all'API OpenAI. Un oggetto client autenticato in Python è un oggetto specifico del servizio che può effettuare chiamate API autorizzate in modo sicuro senza che il codice gestisca manualmente i token o i segreti.
Annotazioni
In Python, un class è un progetto che definisce un tipo di elemento, ovvero quali dati contiene e quali azioni possono eseguire. Un oggetto è un'istanza specifica creata da tale progetto. Ad esempio, una Car classe può definire che ogni automobile ha un colore e può drive() o stop(). Quando si crea un'auto specifica, ad esempio una rossa, si tratta di un oggetto .
Dopo aver creato un oggetto client , configurato con l'endpoint e la chiave, è possibile chiamare i metodi per interagire con il modello. Ad esempio, è possibile usare il responsesmetodo per inviare un prompt a una distribuzione del modello specifica.
È possibile visualizzare i risultati dell'analisi eseguendo il codice dell'applicazione nel terminale con il comando python <file_name>.py.
L'API OpenAI è semplice da usare, ma i risultati possono variare tra le chiamate perché il modello genera testo probabilisticamente. In pratica, due chiamate con la stessa richiesta possono restituire parole o formattazioni leggermente diverse. Quando l'app necessita di valori coerenti e strutturati, ad esempio codice linguistico, punteggio di attendibilità o testo scritto, Azure Language SDK è una scelta migliore.
Uso di Azure Language SDK
Azure Language SDK è una libreria client per Azure Language in Foundry Tools. L'SDK semplifica agli sviluppatori l'aggiunta di funzionalità NLP, ad esempio il rilevamento del linguaggio e la modifica delle informazioni personali (PII) alle applicazioni.
Vediamo come usare Azure Language Python SDK per compilare un'applicazione che analizza il testo. Per usare Azure Language Python SDK, è necessario disporre di una risorsa Foundry. È quindi necessario installare una versione compatibile di Python e Azure Language Python SDK.
È possibile installare Python SDK nel Visual Studio Code terminal usando:
pip install azure-ai-textanalytics
Si consideri l'esempio di file di configurazione seguente:
AZURE_LANGUAGE_ENDPOINT=https://<your-resource>.cognitiveservices.azure.com/
API_KEY=<your-foundry-key>
Si consideri l'esempio di codice dell'applicazione seguente:
# 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]
Usiamo i metodi del client per chiamare le funzioni linguaggio di Azure, ad esempio detect_language e recognize_pii_entities.
Rilevamento lingua: il detect_language() metodo accetta un elenco di stringhe di testo e restituisce la lingua rilevata, il codice ISO 639-1 e un punteggio di attendibilità compreso tra 0 e 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}")
Rilevamento delle informazioni personali: il recognize_pii_entities() metodo identifica i dettagli personali nel testo e restituisce sia la versione redattita del testo che un elenco delle entità trovate, inclusi la categoria e il punteggio di attendibilità di ogni entità.
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}")
Con l'API OpenAI e Azure Language SDK, è possibile scrivere codice per le applicazioni di intelligenza artificiale che elaborano il linguaggio naturale e generano informazioni dettagliate dal testo.
Si esaminerà ora come includere le funzionalità del linguaggio di Azure negli agenti di intelligenza artificiale.