Condividi tramite


Avvio rapido di Microsoft Foundry (versione classica)

Attualmente visualizzando:Versione del portale Foundry (Versione Classica) - Passa alla versione per il nuovo portale Foundry

In questa guida introduttiva si userà Microsoft Foundry per:

  • Creare un progetto
  • Distribuire un modello
  • Eseguire un completamento chat
  • Creare ed eseguire un agente
  • Caricare i file nell'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.

Suggerimento

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

Prerequisiti

Importante

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.

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 nel percorso di navigazione in alto a sinistra per lasciare il 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.

Prepararsi a programmare

Suggerimento

Il codice usa Azure AI Projects 1.x SDK ed è incompatibile con Azure AI Projects 2.x. Consulta la documentazione di Foundry (nuova) per la versione 2.x di Azure AI Projects.

  1. Installare questi pacchetti:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Trovare l'endpoint del progetto nella schermata iniziale del progetto.

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

  3. Assicurati di accedere utilizzando il comando CLI az login (o az login --use-device-code) per l'autenticazione, prima di eseguire i tuoi 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.

Suggerimento

Il codice usa Azure AI Projects 1.x SDK ed è incompatibile con Azure AI Projects 2.x. Consulta la documentazione (nuova) Foundry per la versione 2.x dei progetti Azure AI.

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)

Chat con un agente

Creare un agente e chattare con esso.

Suggerimento

Il codice usa Azure AI Projects 1.x SDK ed è incompatibile con Azure AI Projects 2.x. Consulta la documentazione di Foundry (nuovo) per la versione Azure AI Projects 2.x.

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

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.

Suggerimento

Il codice usa Azure AI Projects 1.x SDK ed è incompatibile con Azure AI Projects 2.x. Consulta la documentazione di Foundry (nuova) per la versione 2.x dei progetti Azure AI.

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 Azure portale selezionare il gruppo di risorse e quindi selezionare Delete. Verificare di voler eliminare il gruppo di risorse.