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

Atualmente a ver:versão do portal Foundry (clássica) - Trocar para a versão do novo portal Foundry

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

  • Crie um projeto
  • Implementar um modelo
  • Concluir um chat
  • Criar e gerir um agente
  • Carregar ficheiros para o agente

O Microsoft Foundry SDK está disponível em várias linguagens, incluindo Python, Java, TypeScript e C#. Este guia rápido fornece instruções para todas estas línguas.

Dica

O resto deste artigo mostra como criar e utilizar um projeto Foundry. Veja Quickstart: Comece com Microsoft Foundry (projetos Hub) se quiser usar um projeto baseado em hub. Que tipo de projeto preciso?

Pré-requisitos

Importante

Antes de começar, certifique-se de que o seu ambiente de desenvolvimento está preparado.
Este Quickstart foca-se em etapas específicas de cenários , como instalação do SDK, autenticação e execução de código de exemplo.

No portal, pode explorar um catálogo rico de modelos de ponta de vários fornecedores diferentes. Para este tutorial, pesquise e depois selecione o modelo gpt-4o .

  1. Iniciar 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 estiveres num projeto, seleciona Microsoft Foundry no canto superior esquerdo para sair do projeto. Vais criar um novo daqui a pouco.

  3. Na página inicial ou 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. Selecionar Usar este modelo. Quando solicitado, introduza um novo nome de projeto e selecione Criar.

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

  6. Depois seleciona Ligar e lançar depois de selecionar um tipo de implementação.

  7. Selecione Abrir no playground na página de implementação depois de ser implementado.

  8. Aterras no Chat playground com o modelo pré-implementado e pronto para usar.

Se estiveres a construir um agente, podes começar por criar um agente. Os passos são semelhantes, mas numa ordem diferente. Assim que o projeto é criado, chegas ao parque infantil dos Agentes em vez do parque infantil do Chat.

Prepara-te para programar

Dica

O código usa Azure AI Projects 1.x SDK e é incompatível com Azure AI Projects 2.x. Ver a documentação (nova) da Foundry 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 endpoint do seu projeto no ecrã de boas-vindas do projeto.

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

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

Acompanhe abaixo ou obtenha o código:

Conversa com um modelo

A conclusão de chats é o bloco básico das aplicações de IA. Usando as conclusões do chat, podes 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. Ver a documentação (nova) da Foundry para a versão 2.x do Azure AI Projects.

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

Conversa com um agente

Cria um agente e conversa com ele.

Dica

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

Substitua o seu endpoint pelo 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 ficheiros ao agente

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

Dica

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

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

Liberar recursos

Se já não precisar de nenhum dos recursos que criou, elimine o grupo de recursos associado ao seu projeto.

  • No portal Azure, selecione o grupo de recursos e depois selecione Delete. Confirma que queres eliminar o grupo de recursos.