Condividi tramite


Avvio rapido di Microsoft Foundry

Note

Questo documento fa riferimento al portale di Microsoft Foundry (versione classica).

🔄 Passa alla nuova documentazione di Microsoft Foundry se si usa il nuovo portale.

Note

Questo documento fa riferimento al portale di Microsoft Foundry (nuovo).

In questa guida introduttiva si usa Microsoft Foundry per:

  • Creare un progetto
  • Distribuire un modello
  • Eseguire un completamento chat
  • Creare ed eseguire un agente
  • Caricare i file nell'agente

In questa guida introduttiva si usa Microsoft Foundry per:

  • Creare un progetto
  • Distribuire un modello
  • Prepararsi al codice: installare i pacchetti necessari ed eseguire l'autenticazione
  • Chat con un modello
  • Creare un agente
  • Chat con un agente

Microsoft Foundry SDK è disponibile in più linguaggi, tra cui Python, Java, TypeScript e C#. Questa guida introduttiva fornisce istruzioni per ognuna di queste lingue.

Tip

Il resto di questo articolo illustra come creare e usare un progetto Foundry. Vedere Guida introduttiva: Introduzione a Microsoft Foundry (progetti hub) se invece si vuole usare un progetto basato su hub. Quale tipo di progetto è necessario?

Prerequisites

Important

Prima di iniziare, assicurarsi che l'ambiente di sviluppo sia pronto.
Questa guida introduttiva è incentrata su passaggi specifici dello scenario , ad esempio l'installazione dell'SDK, l'autenticazione e l'esecuzione di codice di esempio.

Creare le risorse

Nel portale è possibile esplorare un ricco catalogo di modelli all'avanguardia di molti provider diversi. Per questa esercitazione, cercare e quindi selezionare il modello gpt-4o .

  1. Accedere a Microsoft Foundry. Assicurarsi che l'interruttore New Foundry sia disattivato. Questi passaggi fanno riferimento a Foundry (versione classica).

  2. Se sei in un progetto, seleziona Microsoft Foundry nella barra di navigazione in alto a sinistra per uscire dal progetto. Ne creerai uno nuovo in un attimo.

  3. Nella pagina di destinazione o nel catalogo modello selezionare gpt-4o (o gpt-4o-mini).

    Screenshot che illustra l'avvio di un modello sul portale Foundry.

  4. Selezionare Usa questo modello. Quando richiesto, immettere un nuovo nome di progetto e selezionare Crea.

  5. Esaminare il nome della distribuzione e selezionare Crea.

  6. Selezionare quindi Connetti e distribuisci dopo aver selezionato un tipo di distribuzione.

  7. Selezionare Apri nel playground dalla pagina di distribuzione dopo la distribuzione.

  8. Si arriva nel playground chat con il modello pre-distribuito e pronto per l'uso.

Se si sta creando un agente, è possibile iniziare con Creare un agente. I passaggi sono simili, ma in un ordine diverso. Dopo aver creato il progetto, si arriva al playground di Agent anziché al playground di Chat.

Ora che si dispone di un agente, è possibile interagire con esso nel codice o nel portale.

Si inizierà nel portale di Microsoft Foundry per creare un progetto e distribuire un modello. Questa guida introduttiva usa il modello gpt-4-1-mini , ma è possibile usare qualsiasi modello supportato da diversi provider.

  1. Accedere a Microsoft Foundry. Assicurarsi che l'interruttore New Foundry sia disattivato. Questi passaggi fanno riferimento a Foundry (versione classica).
    Accedere a Microsoft Foundry. Assicurarsi che l'interruttore New Foundry sia attivato. Questi passaggi fanno riferimento a Foundry (nuovo).These steps refer to Foundry (new).
  2. I progetti consentono di organizzare il lavoro. Il progetto su cui si sta lavorando viene visualizzato nell'angolo superiore sinistro.
  3. Per creare un nuovo progetto, selezionare il nome del progetto e quindi Crea nuovo progetto.
  4. Assegnare un nome al progetto e selezionare Crea progetto.
  5. Ora distribuisci un modello nel progetto:
    1. Selezionare Scopri nel riquadro di spostamento in alto a destra.
    2. Selezionare Modelli.
    3. Cercare il modello gpt-4.1-mini .
    4. Selezionare Distribuisci>impostazioni predefinite per aggiungerlo al progetto.

Foundry Models consente ai clienti di utilizzare i modelli più potenti dei provider di modelli di punta usando un singolo endpoint e credenziali. Ciò significa che è possibile passare da un modello all'altro e utilizzarli dall'applicazione senza modificare una singola riga di codice.

È ora possibile passare all'interazione con il modello e creare un agente.

Prepararsi a programmare

Tip

Il codice utilizza l'API dei progetti Foundry (versione classica) ed è incompatibile con l'API dei progetti Foundry (nuova) (anteprima). Passare alla documentazione (nuova) di Foundry per la versione dell'API dei progetti Foundry (nuova) (anteprima).

  1. Installare questi pacchetti:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. I modelli Di Microsoft Foundry consentono ai clienti di utilizzare i modelli più potenti dei provider di modelli di punta usando un singolo endpoint e credenziali. Ciò significa che è possibile passare da un modello all'altro e utilizzarli dall'applicazione senza modificare una singola riga di codice.

    Copiare l'endpoint del progetto Fonderia nella sezione Panoramica del progetto. Lo userai in un attimo.

    Screenshot che mostra la panoramica del progetto per un progetto Fonderia.

    Tip

    Se non viene visualizzato l'endpoint del progetto Foundry, si usa un progetto basato su hub. Vedere Tipi di progetti. Passare a un progetto Foundry oppure usare i passaggi precedenti per crearne uno.

    1. Selezionare Home nel riquadro di spostamento in alto a destra.
    2. Selezionare Chiavi e copiare l'endpoint. Lo userai in un attimo.
  3. Assicurarsi di accedere usando il comando dell'interfaccia az login della riga di comando (o az login --use-device-code) per eseguire l'autenticazione prima di eseguire gli script Python.

Seguire questa procedura o ottenere il codice:

Important

Il codice in questo articolo usa pacchetti attualmente in anteprima. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Impostare le variabili di ambiente

Archiviare l'endpoint come variabile di ambiente. Impostare anche questi valori per l'uso negli script.

  1. Copia l'endpoint dalla schermata iniziale. Verrà usato nel passaggio successivo.

    Screenshot della schermata iniziale dei modelli di Microsoft Foundry che mostra l'URL dell'endpoint e il pulsante copia.

  2. Impostare queste variabili di ambiente da usare negli script:

    AZURE_AI_FOUNDRY_PROJECT_ENDPOINT=<endpoint copied from welcome screen>
    AZURE_AI_FOUNDRY_AGENT_NAME="MyAgent"
    AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME="gpt-4.1-mini"
    

Installare ed eseguire l'autenticazione

Tip

Il codice utilizza l'API dei progetti Foundry (nuova) (anteprima) ed è incompatibile con la versione dell'API dei progetti Foundry (classica). Passare alla documentazione di Foundry (classico) per la versione API dei progetti Foundry (classico).

  1. Installare questi pacchetti, inclusa la versione di anteprima di azure-ai-projects. Questa versione utilizza l'API dei progetti Foundry (nuovo) (anteprima).

    pip install azure-ai-projects --pre
    pip install openai azure-identity python-dotenv
    
  2. Assicurarsi di accedere usando il comando dell'interfaccia az login della riga di comando (o az login --use-device-code) per eseguire l'autenticazione prima di eseguire gli script Python.

Seguire questa procedura o ottenere il codice:

Chat con un modello

I completamenti della conversazione sono l'elemento fondamentale delle applicazioni di intelligenza artificiale. Usando i completamenti della chat è possibile inviare un elenco di messaggi e ottenere una risposta dal modello.

Tip

Il codice utilizza l'API dei progetti Foundry (versione classica) ed è incompatibile con l'API dei progetti Foundry (nuova) (anteprima). Passare alla documentazione (nuova) di Foundry per la versione dell'API dei progetti Foundry (nuova) (anteprima).

Sostituisci il tuo endpoint per il endpoint in questo codice:

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

models = project.get_openai_client(api_version="2024-10-21")
response = models.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)

L'interazione con un modello è il blocco predefinito di base delle applicazioni di intelligenza artificiale. Inviare un input e ricevere una risposta dal modello:

Tip

Il codice utilizza l'API dei progetti Foundry (nuova) (anteprima) ed è incompatibile con la versione dell'API dei progetti Foundry (classica). Passare alla documentazione di Foundry (classico) per la versione API dei progetti Foundry (classico).

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

load_dotenv()

print(f"Using AZURE_AI_FOUNDRY_PROJECT_ENDPOINT: {os.environ['AZURE_AI_FOUNDRY_PROJECT_ENDPOINT']}")
print(f"Using AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME: {os.environ['AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME']}")

project_client = AIProjectClient(
    endpoint=os.environ["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

openai_client = project_client.get_openai_client()

response = openai_client.responses.create(
    model=os.environ["AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME"],
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

Creare un agente

Creare un agente usando il modello distribuito.

Un agente definisce il comportamento principale. Una volta creato, garantisce risposte coerenti nelle interazioni dell'utente senza ripetere le istruzioni ogni volta. È possibile aggiornare o eliminare agenti in qualsiasi momento.

Tip

Il codice utilizza l'API dei progetti Foundry (nuova) (anteprima) ed è incompatibile con la versione dell'API dei progetti Foundry (classica). Passare alla documentazione di Foundry (classico) per la versione API dei progetti Foundry (classico).

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import PromptAgentDefinition

load_dotenv()

project_client = AIProjectClient(
    endpoint=os.environ["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent = project_client.agents.create_version(
    agent_name=os.environ["AZURE_AI_FOUNDRY_AGENT_NAME"],
    definition=PromptAgentDefinition(
        model=os.environ["AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME"],
        instructions="You are a helpful assistant that answers general questions",
    ),
)
print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")

Chat con un agente

Creare un agente e chattare con esso.

Tip

Il codice utilizza l'API dei progetti Foundry (versione classica) ed è incompatibile con l'API dei progetti Foundry (nuova) (anteprima). Passare alla documentazione (nuova) di Foundry per la versione dell'API dei progetti Foundry (nuova) (anteprima).

Sostituisci il tuo endpoint per il endpoint in questo codice:

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import ListSortOrder, FilePurpose

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

agent = project.agents.create_agent(
    model="gpt-4o",
    name="my-agent",
    instructions="You are a helpful writing assistant")

thread = project.agents.threads.create()
message = project.agents.messages.create(
    thread_id=thread.id, 
    role="user", 
    content="Write me a poem about flowers")

run = project.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
if run.status == "failed":
    # Check if you got "Rate limit is exceeded.", then you want to get more quota
    print(f"Run failed: {run.last_error}")

# Get messages from the thread
messages = project.agents.messages.list(thread_id=thread.id)

# Get the last message from the sender
messages = project.agents.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
for message in messages:
    if message.run_id == run.id and message.text_messages:
        print(f"{message.role}: {message.text_messages[-1].text.value}")

# Delete the agent once done
project.agents.delete_agent(agent.id)
print("Deleted agent")

Usare l'agente creato in precedenza denominato "MyAgent" per interagire ponendo una domanda e fornendo un completamento correlato. La conversazione mantiene la cronologia tra queste interazioni.

Tip

Il codice utilizza l'API dei progetti Foundry (nuova) (anteprima) ed è incompatibile con la versione dell'API dei progetti Foundry (classica). Passare alla documentazione di Foundry (classico) per la versione API dei progetti Foundry (classico).

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

load_dotenv()

project_client = AIProjectClient(
    endpoint=os.environ["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent_name = os.environ["AZURE_AI_FOUNDRY_AGENT_NAME"]
openai_client = project_client.get_openai_client()

# Optional Step: Create a conversation to use with the agent
conversation = openai_client.conversations.create()
print(f"Created conversation (id: {conversation.id})")

# Chat with the agent to answer questions
response = openai_client.responses.create(
    conversation=conversation.id, #Optional conversation context for multi-turn
    extra_body={"agent": {"name": agent_name, "type": "agent_reference"}},
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

# Optional Step: Ask a follow-up question in the same conversation
response = openai_client.responses.create(
    conversation=conversation.id,
    extra_body={"agent": {"name": agent_name, "type": "agent_reference"}},
    input="And what is the capital city?",
)
print(f"Response output: {response.output_text}")

Aggiungere file all'agente

Gli agenti hanno potenti funzionalità tramite l'uso di strumenti. Aggiungere uno strumento di ricerca file che consente di eseguire il recupero delle informazioni.

Tip

Il codice utilizza l'API dei progetti Foundry (versione classica) ed è incompatibile con l'API dei progetti Foundry (nuova) (anteprima). Passare alla documentazione (nuova) di Foundry per la versione dell'API dei progetti Foundry (nuova) (anteprima).

Sostituisci il tuo endpoint per il endpoint in questo codice:

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import ListSortOrder, FileSearchTool

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

# Upload file and create vector store
file = project.agents.files.upload(file_path="./product_info_1.md", purpose=FilePurpose.AGENTS)
vector_store = project.agents.vector_stores.create_and_poll(file_ids=[file.id], name="my_vectorstore")

# Create file search tool and agent
file_search = FileSearchTool(vector_store_ids=[vector_store.id])
agent = project.agents.create_agent(
    model="gpt-4o",
    name="my-assistant",
    instructions="You are a helpful assistant and can search information from uploaded files",
    tools=file_search.definitions,
    tool_resources=file_search.resources,
)

# Create thread and process user message
thread = project.agents.threads.create()
project.agents.messages.create(thread_id=thread.id, role="user", content="Hello, what Contoso products do you know?")
run = project.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)

# Handle run status
if run.status == "failed":
    print(f"Run failed: {run.last_error}")

# Print thread messages
messages = project.agents.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
for message in messages:
    if message.run_id == run.id and message.text_messages:
        print(f"{message.role}: {message.text_messages[-1].text.value}")

# Cleanup resources
project.agents.vector_stores.delete(vector_store.id)
project.agents.files.delete(file_id=file.id)
project.agents.delete_agent(agent.id)

Pulire le risorse

Se non sono più necessarie risorse create, eliminare il gruppo di risorse associato al progetto.

Nel portale di Microsoft Foundry selezionare il nome del progetto nell'angolo in alto a destra. Selezionare quindi il collegamento per il gruppo di risorse per aprirlo nel portale di Azure. Selezionare il gruppo di risorse e quindi selezionare Elimina. Verificare di voler eliminare il gruppo di risorse.

Nel portale di Azure trovare e selezionare il gruppo di risorse. Selezionare Elimina e confermare per eliminare il gruppo di risorse e tutte le risorse associate.

Passo successivo