Compartilhar via


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

Visualizando atualmente:Versão do portal do Foundry (clássico) - Alternar para a versão do novo portal do Foundry

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

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. 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?

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 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.

Prepare-se para codificar

Dica

O código usa SDK do Azure AI Projects 1.x e é incompatível com Azure AI Projects 2.x. Veja a nova documentação do 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 ponto de extremidade do projeto na tela de boas-vindas do projeto.

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

  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 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.

Dica

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

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)

Conversar com um agente

Crie um agente e converse com ele.

Dica

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

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

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 SDK do Azure AI Projects 1.x e é incompatível com Azure AI Projects 2.x. Veja a nova documentação do Foundry para a versão 2.x do Azure AI Projects.

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 Azure, selecione o grupo de recursos e selecione Delete. Confirme se deseja excluir o grupo de recursos.