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

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.