Compartilhar via


Início Rápido do Microsoft Foundry

Note

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

🔄 Alterne para a documentação nova do Microsoft Foundry se você estiver usando o novo portal.

Note

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

Neste início rápido, você usará o Microsoft Foundry para:

  • Criar um projeto
  • Implantar um modelo
  • Executar uma conclusão de chat
  • Criar e executar um agente
  • Carregar arquivos para o agente

Neste início rápido, você usará o Microsoft Foundry para:

  • Criar um projeto
  • Implantar um modelo
  • Prepare-se para codificar – instalar os pacotes necessários e autenticar
  • Conversar com um modelo
  • Criar um agente
  • Conversar com um agente

O SDK do Microsoft Foundry está disponível em vários idiomas, incluindo Python, Java, TypeScript e C#. Este 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. Confira o Início Rápido: Introdução ao Microsoft Foundry (projetos do Hub) se você quiser usar um projeto baseado em hub. De que tipo de projeto preciso?

Prerequisites

Important

Antes de começar, verifique se o ambiente de desenvolvimento está pronto.
Este 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 catálogo avançado de modelos de ponta de vários provedores diferentes. Para este tutorial, pesquise e selecione o modelo gpt-4o .

  1. Entre no Microsoft Foundry. Certifique-se de que o botão New Foundry está desativado. Essas etapas se referem ao Foundry (clássico).

  2. Se você estiver em um projeto, selecione Microsoft Foundry na barra de navegação no canto superior esquerdo para deixar o projeto. Você criará um novo em um momento.

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

    A captura de tela mostra como começar com um modelo no portal do 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. Selecione Conectar e implantar após selecionar um tipo de implantação.

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

  8. Você acessa o Playground de chat com o modelo pré-implantado e pronto para uso.

Se você estiver criando um agente, poderá começar com Criar um agente. As etapas são semelhantes, mas em uma ordem diferente. Depois que o projeto for criado, você chegará ao playground do Agente em vez do playground do Chat.

Você começará no portal do Microsoft Foundry para criar um projeto e implantar um modelo. Este início rápido usa o modelo gpt-4-1-mini , mas você pode usar qualquer modelo com suporte de vários provedores.

  1. Entre no Microsoft Foundry. Certifique-se de que o botão New Foundry está desativado. Essas etapas se referem ao Foundry (clássico).
    Entre no Microsoft Foundry. Verifique se a opção Nova Fábrica está ativada. Estas etapas se referem ao Foundry (novo).
  2. Os projetos ajudam a organizar seu trabalho. O projeto no qual você está trabalhando aparece no canto superior esquerdo.
  3. Para criar um novo projeto, selecione o nome do projeto e , em seguida, crie um novo projeto.
  4. Dê um nome ao projeto e selecione Criar projeto.
  5. Agora, implante um modelo no projeto:
    1. Selecione Descobrir na navegação superior direita.
    2. Selecione Modelos.
    3. Pesquise o modelo gpt-4.1-mini .
    4. Selecione Implantar>Configurações Padrão para adicioná-lo ao seu projeto.

Os Foundry Models permitem que os clientes consumam os modelos mais poderosos de provedores de modelos principais usando um único endpoint e credenciais. Isso significa que é possível alternar entre modelos e consumi-los do 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 usa a API de projetos do Foundry (clássico) e é incompatível com a API (nova) de projetos do Foundry (versão prévia). Alterne para a documentação do Foundry (novo) para a versão de da API de projetos Foundry (novo) (versão preliminar).

  1. Instale estes pacotes:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Os Modelos da Fábrica da Microsoft permitem que os clientes consumam os modelos mais poderosos de provedores de modelos principais usando um único ponto de extremidade e credenciais. Isso significa que é possível alternar entre modelos e consumi-los do aplicativo sem alterar uma única linha de código.

    Copie o ponto de extremidade do projeto Foundry na seção Visão geral do seu projeto. Você vai usá-lo em um momento.

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

    Tip

    Se você não vir o ponto de extremidade do projeto da Fábrica, você está usando um projeto baseado em hub. (Consulte tipos de projetos). Alterne para um projeto do Foundry ou use as etapas anteriores para criar um.

    1. Selecione Página Inicial na navegação superior direita.
    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 versão prévia. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares para Versões Prévias 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 o endpoint da tela de boas-vindas. Você o usará na próxima etapa.

    Captura de tela da tela de boas-vindas dos Modelos da Fábrica da Microsoft mostrando a URL do ponto de extremidade e o botão copiar.

  2. Defina essas 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 usa a API de projetos do Foundry (novo) (versão prévia) e é incompatível com a versão da API de projetos do Foundry (clássico). Alterne para a documentação do Foundry (clássico) para acessar a versão da API de projetos do Foundry (clássico).

  1. Instale esses pacotes, incluindo a versão prévia de azure-ai-projects. Esta versão usa a API de Projetos do Foundry (nova) (versão prévia).

    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:

Conversar com um modelo

As conclusões de chat são o bloco de construção básico dos aplicativos de IA. Usando conclusões de chat, você pode enviar uma lista de mensagens e obter uma resposta do modelo.

Tip

O código usa a API de projetos do Foundry (clássico) e é incompatível com a API (nova) de projetos do Foundry (versão prévia). Alterne para a documentação do Foundry (novo) para a versão de da API de projetos Foundry (novo) (versão preliminar).

Substitua o ponto de extremidade por endpoint 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 de aplicativos de IA. Envie uma entrada e receba uma resposta do modelo:

Tip

O código usa a API de projetos do Foundry (novo) (versão prévia) e é incompatível com a versão da API de projetos do Foundry (clássico). Alterne para a documentação do Foundry (clássico) para acessar a versão da API de projetos do Foundry (clássico).

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 usa a API de projetos do Foundry (novo) (versão prévia) e é incompatível com a versão da API de projetos do Foundry (clássico). Alterne para a documentação do Foundry (clássico) para acessar a versão da API de projetos do Foundry (clássico).

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 usa a API de projetos do Foundry (clássico) e é incompatível com a API (nova) de projetos do Foundry (versão prévia). Alterne para a documentação do Foundry (novo) para a versão de da API de projetos Foundry (novo) (versão preliminar).

Substitua o ponto de extremidade por endpoint 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")

Use o agente criado anteriormente chamado "MyAgent" para interagir fazendo uma pergunta e um acompanhamento relacionado. A conversa mantém o histórico entre essas interações.

Tip

O código usa a API de projetos do Foundry (novo) (versão prévia) e é incompatível com a versão da API de projetos do Foundry (clássico). Alterne para a documentação do Foundry (clássico) para acessar a versão da API de projetos do Foundry (clássico).

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 recursos avançados por meio 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 usa a API de projetos do Foundry (clássico) e é incompatível com a API (nova) de projetos do Foundry (versão prévia). Alterne para a documentação do Foundry (novo) para a versão de da API de projetos Foundry (novo) (versão preliminar).

Substitua o ponto de extremidade por endpoint 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)

Limpar os recursos

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

No portal do Microsoft Foundry, selecione o nome do projeto no canto superior direito. Em seguida, selecione o link do grupo de recursos para abri-lo no portal do Azure. Selecione o grupo de recursos e, em seguida, selecione Excluir. Confirme se 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 seus recursos associados.

Próxima etapa