início rápido do Microsoft Foundry (clássico)

Exibição no momento:Versão do portal Foundry (clássico) - Alternar para a versão do novo portal Foundry

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

  • Criar um projeto
  • Implantar um modelo
  • Executar uma finalização de chat
  • Criar e executar um agente
  • Carregar arquivos para o 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.

Dica

O restante deste artigo mostra como criar e usar um projeto do Foundry. Consulte Quickstart: Introdução ao Microsoft Foundry (projetos hub) se você quiser usar um projeto baseado em hub. De que tipo de projeto preciso?

Pré-requisitos

  • Uma conta Azure com uma assinatura ativa. Se você não tiver uma, crie uma conta de Azure free, que inclui uma assinatura de avaliação gratuita.
  • Ter acesso a uma função que permite criar um recurso do Foundry, como Azure Account AI Owner ou Foundry Owner, na assinatura ou no grupo de recursos. Para obter mais informações sobre permissões, consulte o controle de acesso baseado em Role para Microsoft Foundry.

    Importante

    As funções RBAC do Foundry foram renomeadas recentemente. Foundry User, Foundry Owner, Foundry Account Owner e Foundry Project Manager eram anteriormente chamados de Usuário do Azure AI, Proprietário do Azure AI, Proprietário da conta do Azure AI e Gerente de Projeto do Azure AI. Você ainda pode ver os nomes anteriores em alguns lugares enquanto essa mudança de nome está sendo implementada. Os IDs das funções e as permissões principais não são alterados com a mudança de nome.

  • Instale os runtimes de idioma necessários, as ferramentas globais e as extensões do VS Code, conforme descrito em Preparar seu ambiente de desenvolvimento.

Importante

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.

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 alternador New Foundry está desativado. Essas etapas se referem ao Foundry (clássico).

  2. Se você estiver em um projeto, clique em Microsoft Foundry na navegação superior à esquerda para sair do 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. Examine 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ê chega à área de teste do Chat com o modelo previamente 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.

Prepare-se para codificar

Dica

O código usa Azure AI Projects 1.x SDK e é incompatível com Azure AI Projects 2.x. Consulte a documentação do Foundry (novo) para a versão 2.x do Azure AI Projects.

  1. Instale estes pacotes:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Encontre o ponto de extremidade do projeto na tela de boas-vindas do projeto.

    Screenshot da tela de boas-vindas do Microsoft Foundry Models mostrando a URL do endpoint e o botão de cópia.

  3. Certifique-se de entrar usando o comando CLI az login (ou az login --use-device-code) para autenticar antes de executar seus scripts de Python.

Acompanhe abaixo ou obtenha o código:

Conversar com um modelo

As finalizações de chat são o elemento fundamental de aplicativos de IA. Usando as conclusões de chat, você pode enviar uma lista de mensagens e obter uma resposta do modelo.

Dica

O código usa Azure AI Projects 1.x SDK e é incompatível com Azure AI Projects 2.x. Consulte a documentação do Foundry (novo) para a versão 2.x do Azure AI Projects.

Substitua o seu 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)

Conversar com um agente

Crie um agente e converse com ele.

Dica

O código usa Azure AI Projects 1.x SDK e é incompatível com Azure AI Projects 2.x. Consulte a documentação do Foundry (novo) para a versão 2.x do Azure AI Projects.

Substitua o seu 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")

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.

Dica

O código usa Azure AI Projects 1.x SDK e é incompatível com Azure AI Projects 2.x. Consulte a documentação do Foundry (novo) para a versão 2.x do Azure AI Projects.

Substitua o seu 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 recursos

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

  • No portal Azure, selecione o grupo de recursos e selecione Delete. Confirme se deseja excluir o grupo de recursos.