Partilhar via


Microsoft Foundry Início Rápido

Note

Este documento refere-se ao portal Microsoft Foundry (clássico).

🔄 Altere para a nova documentação do Microsoft Foundry se estiver a utilizar o novo portal.

Note

Este documento refere-se ao portal Microsoft Foundry (novo ).

Neste guia de iniciação rápida, utiliza Microsoft Foundry para:

  • Criar um projeto
  • Implementar um modelo
  • Executar uma finalização de chat
  • Criar e executar um agente
  • Carregar arquivos para o agente

Neste guia de iniciação rápida, utiliza Microsoft Foundry para:

  • Criar um projeto
  • Implementar um modelo
  • Prepare-se para codificar - instale os pacotes necessários e autentique-se
  • Bate-papo com um modelo
  • Criar um agente
  • Conversar com um agente

O Microsoft Foundry SDK está disponível em várias linguagens, incluindo Python, Java, TypeScript e C#. Este guia de início rápido fornece instruções para cada um desses idiomas.

Tip

O restante deste artigo mostra como criar e usar um projeto do Foundry. Veja Quickstart: Comece com o Microsoft Foundry (projetos Hub) se quiser usar um projeto baseado em hub. De que tipo de projeto necessito?

Prerequisites

Important

Antes de começar, verifique se o ambiente de desenvolvimento está pronto.
Este Guia de início rápido se concentra em etapas específicas do cenário , como instalação do SDK, autenticação e execução de código de exemplo.

Criar recursos

No portal, você pode explorar um rico catálogo de modelos de ponta de muitos provedores diferentes. Para este tutorial, pesquise e selecione o modelo gpt-4o .

  1. Inicie sessão no Microsoft Foundry. Certifica-te de que a opção do New Foundry está desligada. Estes passos referem-se à Foundry (clássica).

  2. Se estiver num projeto, selecione Microsoft Foundry no canto superior esquerdo para sair do projeto. Você criará um novo em um momento.

  3. Na página de destino ou no catálogo de modelos, selecione gpt-4o (ou gpt-4o-mini).

    A captura de ecrã mostra como começar com um modelo no portal Foundry.

  4. Selecione Usar este modelo. Quando solicitado, insira um novo nome de projeto e selecione Criar.

  5. Revise o nome da implantação e selecione Criar.

  6. Em seguida, selecione Conectar e implantar depois de selecionar um tipo de implantação.

  7. Selecione Abrir no playground na página de implantação após a implantação.

  8. Você pousa no playground de bate-papo com o modelo pré-implantado e pronto para uso.

Se você estiver criando um agente, poderá começar com Criar um agente. Os passos são semelhantes, mas em uma ordem diferente. Depois que o projeto é criado, você chega ao playground do agente em vez do playground do bate-papo.

Vais começar no portal Microsoft Foundry para criar um projeto e implementar um modelo. Este início rápido usa o modelo gpt-4-1-mini, mas pode usar qualquer modelo suportado de vários provedores.

  1. Inicie sessão no Microsoft Foundry. Certifica-te de que a opção do New Foundry está desligada. Estes passos referem-se à Foundry (clássico).
    Inicie sessão no Microsoft Foundry. Certifica-te de que a opção New Foundry está ativada. Estes passos referem-se a Foundry (new).
  2. Os projetos ajudam a organizar o seu trabalho. O projeto em que você está trabalhando aparece no canto superior esquerdo.
  3. Para criar um novo projeto, selecione o nome do projeto e, em seguida, Criar novo projeto.
  4. Dê um nome ao seu projeto e selecione Criar projeto.
  5. Agora implante um modelo no projeto:
    1. Selecione Descobrir na navegação no canto superior direito.
    2. Selecione Modelos.
    3. Procure o modelo gpt-4.1-mini .
    4. Seleciona as definições de Deploy>Default para adicioná-las ao teu projeto.

A Foundry Models permite aos clientes consumir os modelos mais potentes dos fornecedores de modelos de referência usando um único endpoint e credenciais. Isso significa que você pode alternar entre modelos e consumi-los do seu aplicativo sem alterar uma única linha de código.

Agora você está pronto para passar a interagir com seu modelo e criar um agente.

Prepare-se para codificar

Tip

O código utiliza a API dos projetos Foundry (clássica) e é incompatível com a API dos projetos Foundry (nova) (pré-visualização). Mude para a documentação (nova) do Foundry para a versão (nova) da API (pré-visualização) dos projetos Foundry.

  1. Instale estes pacotes:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. O Microsoft Foundry Models permite aos clientes consumir os modelos mais potentes dos fornecedores de modelos de referência usando um único endpoint e credenciais. Isso significa que você pode alternar entre modelos e consumi-los do seu aplicativo sem alterar uma única linha de código.

    Copie o endpoint do projeto Foundry na secção de Visão Geral do seu projeto. Você vai usá-lo em um momento.

    A captura de tela mostra a visão geral do projeto de um projeto do Foundry.

    Tip

    Se não vires o endpoint do projeto Foundry, estás a usar um projeto baseado em hub. (Ver Tipos de projetos). Mude para um projeto do Foundry ou use as etapas anteriores para criar um.

    1. Selecione Página Inicial na navegação no canto superior direito.
    2. Selecione Chaves e copie o Endpoint. Você vai usá-lo em um momento.
  3. Certifique-se de entrar usando o comando CLI az login (ou az login --use-device-code) para autenticar antes de executar seus scripts Python.

Acompanhe abaixo ou obtenha o código:

Important

O código neste artigo usa pacotes que estão atualmente em pré-visualização. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para trabalhos em produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Definir variáveis de ambiente

Armazene o ponto de extremidade como uma variável de ambiente. Defina também esses valores para uso em seus scripts.

  1. Copie seu endpoint da tela de boas-vindas. Você vai usá-lo na próxima etapa.

    Captura de ecrã do ecrã de boas-vindas do Microsoft Foundry Models mostrando a URL do endpoint e o botão de copiar.

  2. Defina estas variáveis de ambiente para usar em seus scripts:

    PROJECT_ENDPOINT=<endpoint copied from welcome screen>
    AGENT_NAME="MyAgent"
    MODEL_DEPLOYMENT_NAME="gpt-4.1-mini"
    

Instalar e autenticar

Tip

O código utiliza a API nova dos projetos Foundry (pré-visualização) e é incompatível com a versão da API clássica dos projetos Foundry. Mude para a documentação Foundry (clássica) para a versão da API dos projetos Foundry (clássica).

  1. Instale estes pacotes, incluindo a versão de pré-visualização de azure-ai-projects. Esta versão utiliza a API (nova) dos projetos Foundry (pré-visualização).

    pip install azure-ai-projects --pre
    pip install openai azure-identity python-dotenv
    
  2. Certifique-se de entrar usando o comando CLI az login (ou az login --use-device-code) para autenticar antes de executar seus scripts Python.

Acompanhe abaixo ou obtenha o código:

Bate-papo com um modelo

A conclusão do bate-papo é o bloco de construção básico dos aplicativos de IA. Utilizando as funcionalidades de conclusão de chat, pode enviar uma lista de mensagens e obter uma resposta do modelo.

Tip

O código utiliza a API dos projetos Foundry (clássica) e é incompatível com a API dos projetos Foundry (nova) (pré-visualização). Mude para a documentação (nova) do Foundry para a versão (nova) da API (pré-visualização) dos projetos Foundry.

Substitua pelo endpoint o seu ponto de extremidade neste código.

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)

Interagir com um modelo é o bloco de construção básico das aplicações de IA. Envie uma entrada e receba uma resposta do modelo:

Tip

O código utiliza a API nova dos projetos Foundry (pré-visualização) e é incompatível com a versão da API clássica dos projetos Foundry. Mude para a documentação Foundry (clássica) para a versão da API dos projetos Foundry (clássica).

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

load_dotenv()

print(f"Using PROJECT_ENDPOINT: {os.environ['PROJECT_ENDPOINT']}")
print(f"Using MODEL_DEPLOYMENT_NAME: {os.environ['MODEL_DEPLOYMENT_NAME']}")

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

openai_client = project_client.get_openai_client()

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

Criar um agente

Crie um agente usando seu modelo implantado.

Um agente define o comportamento principal. Uma vez criado, ele garante respostas consistentes nas interações do usuário sem repetir instruções a cada vez. Você pode atualizar ou excluir agentes a qualquer momento.

Tip

O código utiliza a API nova dos projetos Foundry (pré-visualização) e é incompatível com a versão da API clássica dos projetos Foundry. Mude para a documentação Foundry (clássica) para a versão da API dos projetos Foundry (clássica).

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["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent = project_client.agents.create_version(
    agent_name=os.environ["AGENT_NAME"],
    definition=PromptAgentDefinition(
        model=os.environ["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})")

Conversar com um agente

Crie um agente e converse com ele.

Tip

O código utiliza a API dos projetos Foundry (clássica) e é incompatível com a API dos projetos Foundry (nova) (pré-visualização). Mude para a documentação (nova) do Foundry para a versão (nova) da API (pré-visualização) dos projetos Foundry.

Substitua pelo endpoint o seu ponto de extremidade neste código.

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

Utilize o agente previamente criado chamado "MyAgent" para interagir, fazendo uma pergunta e seguindo com uma questão relacionada. A conversa mantém o histórico destas interações.

Tip

O código utiliza a API nova dos projetos Foundry (pré-visualização) e é incompatível com a versão da API clássica dos projetos Foundry. Mude para a documentação Foundry (clássica) para a versão da API dos projetos Foundry (clássica).

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["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent_name = os.environ["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}")

Adicionar arquivos ao agente

Os agentes têm capacidades poderosas através do uso de ferramentas. Vamos adicionar uma ferramenta de pesquisa de arquivos que nos permite fazer a recuperação de conhecimento.

Tip

O código utiliza a API dos projetos Foundry (clássica) e é incompatível com a API dos projetos Foundry (nova) (pré-visualização). Mude para a documentação (nova) do Foundry para a versão (nova) da API (pré-visualização) dos projetos Foundry.

Substitua pelo endpoint o seu ponto de extremidade neste código.

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)

Limpeza de recursos

Se você não precisar mais de nenhum dos recursos criados, exclua o grupo de recursos associado ao seu projeto.

No portal Microsoft Foundry, selecione o nome do seu projeto no canto superior direito. Em seguida, selecione o link para o grupo de recursos para abri-lo no portal do Azure. Selecione o grupo de recursos e, em seguida, selecione Excluir. Confirme que deseja excluir o grupo de recursos.

No portal do Azure, localize e selecione seu grupo de recursos. Selecione Excluir e confirme para excluir o grupo de recursos e todos os recursos associados.

Próximo passo