Поделиться через


Краткое руководство по Microsoft Foundry

Note

Этот документ относится к порталу Microsoft Foundry (классическая модель).

Note

Этот документ относится к порталу Microsoft Foundry (new).

В этом кратком руководстве вы используете Microsoft Foundry для:

  • Создание проекта
  • Развертывание модели
  • Запуск завершения чата
  • Создание и запуск агента
  • Отправка файлов в агент

В этом кратком руководстве вы используете Microsoft Foundry для:

  • Создание проекта
  • Развертывание модели
  • Подготовка к коду — установка необходимых пакетов и проверка подлинности
  • Чат с моделью
  • Создание агента
  • Чат с агентом

Пакет SDK Для Microsoft Foundry доступен на нескольких языках, включая Python, Java, TypeScript и C#. В этом кратком руководстве приведены инструкции по каждому из этих языков.

Tip

В остальной части этой статьи показано, как создать и использовать проект Foundry. См. Экспресс-руководство: Начало работы с Microsoft Foundry (проекты Hub), если вы хотите использовать проект на базе Hub. Какой тип проекта мне нужен?

Prerequisites

Important

Перед началом работы убедитесь, что среда разработки готова.
В этом кратком руководстве акцентируется внимание на шаги, специфичные для сценария, такие как установка SDK, аутентификация и выполнение примера кода.

Создание ресурсов

На портале можно изучить широкий каталог передовых моделей из многих различных поставщиков. В этом руководстве выполните поиск и выберите модель gpt-4o .

  1. Войдите в Microsoft Foundry. Убедитесь, что переключатель New Foundry отключен. Эти действия относятся к Foundry (классическая).

  2. Если вы находитесь в проекте, выберите Microsoft Foundry в левой верхней левой панели, чтобы оставить проект. Вы сейчас создадите новую.

  3. На целевой странице или каталоге моделей выберите gpt-4o (или gpt-4o-mini).

    Снимок экрана: начало работы с моделью на портале Foundry.

  4. Выберите "Использовать эту модель". При появлении запроса введите имя нового проекта и нажмите кнопку "Создать".

  5. Просмотрите имя развертывания и нажмите кнопку "Создать".

  6. Затем выберите "Подключиться" и развернуть после выбора типа развертывания.

  7. Выберите "Открыть на игровой площадке" на странице развертывания после его развертывания.

  8. Вы приземлитесь на площадке чата с предварительно развернутой моделью и готовыми к использованию.

Если вы создаете агент, вы можете начать с Создать агента. Шаги похожи, но в другом порядке. После создания проекта вы переходите на площадку агента вместо площадки для разработки Chat.

Теперь, когда у вас есть агент, вы можете взаимодействовать с ним в коде или на портале.

Вы начнете работу на портале Microsoft Foundry для создания проекта и развертывания модели. В этом кратком руководстве используется модель gpt-4-1-mini, но можно использовать любую поддерживаемую модель от различных поставщиков.

  1. Войдите в Microsoft Foundry. Убедитесь, что переключатель New Foundry отключен. Эти действия относятся к Фаундри (классическая модель).
    Войдите в Microsoft Foundry. Убедитесь, что переключатель New Foundry включен. Эти действия относятся к Foundry (new).
  2. Проекты помогают упорядочить работу. Проект, над которым вы работаете, отображается в левом верхнем углу.
  3. Чтобы создать проект, выберите имя проекта, а затем создайте новый проект.
  4. Присвойте проекту имя и нажмите кнопку "Создать проект".
  5. Теперь разверните модель в проекте:
    1. Выберите "Обнаружить" в правой верхней области навигации.
    2. Выберите модели.
    3. Найдите модель gpt-4.1-mini .
    4. Выберите "Развернуть>параметры по умолчанию", чтобы добавить его в проект.

Модели Foundry позволяют клиентам использовать самые мощные модели от ведущих поставщиков, используя единую конечную точку и учетные данные. Это означает, что можно переключаться между моделями и использовать их из приложения, не изменяя одну строку кода.

Теперь вы готовы перейти к взаимодействию с моделью и созданию агента.

Подготовка к коду

Tip

Код использует API агентов версии 1 и несовместим с агентами версии 2 (предварительная версия). Перейдите к новой документации Foundry для API агентов v2 (предварительный просмотр).

  1. Установите следующие пакеты:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Microsoft Foundry Models позволяет клиентам использовать самые мощные модели от флагманных поставщиков моделей с помощью одной конечной точки и учетных данных. Это означает, что можно переключаться между моделями и использовать их из приложения, не изменяя одну строку кода.

    Скопируйте конечную точку проекта Foundry в разделе «Обзор» вашего проекта. Вы будете использовать его через некоторое время.

    Снимок экрана: обзор проекта Foundry.

    Tip

    Если вы не видите конечную точку проекта Foundry, значит, вы используете проект на основе узлов. (См. типы проектов). Перейдите в проект Foundry или выполните описанные выше действия, чтобы создать проект.

    1. Выберите "Главная" в правом верхнем углу навигации.
    2. Выберите ключи и скопируйте конечную точку. Вы будете использовать его через некоторое время.
  3. Перед выполнением скриптов Python выполните вход с помощью команды CLI az login (или az login --use-device-code) для проверки подлинности.

Следуйте инструкциям ниже или получите код:

Important

В коде этой статьи используются пакеты, которые в настоящее время находятся в предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft Azure.

Настройка переменных среды

Сохраните конечную точку в качестве переменной среды. Кроме того, задайте эти значения для использования в скриптах.

  1. Скопируйте конечную точку с экрана приветствия. Вы будете использовать его на следующем шаге.

    Снимок экрана: экран приветствия моделей Microsoft Foundry с URL-адресом конечной точки и кнопкой копирования.

  2. Задайте эти переменные среды для использования в скриптах:

    AZURE_AI_FOUNDRY_PROJECT_ENDPOINT=<endpoint copied from welcome screen>
    AZURE_AI_FOUNDRY_AGENT_NAME="MyAgent"
    AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME="gpt-4.1-mini"
    

Установка и проверка подлинности

Tip

Код использует API агентов версии 2 (предварительная версия) и несовместим с агентами версии 1. Перейдите в документацию по Foundry (классическая) для версии API Агентов версии 1.

  1. Установите эти пакеты, включая предварительную версию azure-ai-projects. Эта версия использует API агентов версии 2 (предварительная версия).

    pip install azure-ai-projects --pre
    pip install openai azure-identity python-dotenv
    
  2. Перед выполнением скриптов Python выполните вход с помощью команды CLI az login (или az login --use-device-code) для проверки подлинности.

Следуйте инструкциям ниже или получите код:

Чат с моделью

Завершение чата — это базовый стандартный блок приложений ИИ. С помощью завершения чата можно отправить список сообщений и получить ответ от модели.

Tip

Код использует API агентов версии 1 и несовместим с агентами версии 2 (предварительная версия). Перейдите к новой документации Foundry для API агентов v2 (предварительный просмотр).

Замените вашу точку доступа вместо endpoint в этом коде:

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)

Взаимодействие с моделью — это базовый стандартный блок приложений ИИ. Отправьте входные данные и получите ответ от модели:

Tip

Код использует API агентов версии 2 (предварительная версия) и несовместим с агентами версии 1. Перейдите в документацию по Foundry (классическая) для версии API Агентов версии 1.

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

load_dotenv()

print(f"Using AZURE_AI_FOUNDRY_PROJECT_ENDPOINT: {os.environ['AZURE_AI_FOUNDRY_PROJECT_ENDPOINT']}")
print(f"Using AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME: {os.environ['AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME']}")

project_client = AIProjectClient(
    endpoint=os.environ["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

openai_client = project_client.get_openai_client()

response = openai_client.responses.create(
    model=os.environ["AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME"],
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

Создание агента

Создайте агент с помощью развернутой модели.

Агент определяет основное поведение. После создания он гарантирует согласованные ответы в взаимодействиях пользователей без повторения инструкций каждый раз. Вы можете обновлять или удалять агенты в любое время.

Tip

Код использует API агентов версии 2 (предварительная версия) и несовместим с агентами версии 1. Перейдите в документацию по Foundry (классическая) для версии API Агентов версии 1.

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["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent = project_client.agents.create_version(
    agent_name=os.environ["AZURE_AI_FOUNDRY_AGENT_NAME"],
    definition=PromptAgentDefinition(
        model=os.environ["AZURE_AI_FOUNDRY_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})")

Чат с агентом

Создайте агента и общайтесь с ним.

Tip

Код использует API агентов версии 1 и несовместим с агентами версии 2 (предварительная версия). Перейдите к новой документации Foundry для API агентов v2 (предварительный просмотр).

Замените вашу точку доступа вместо endpoint в этом коде:

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

Используйте ранее созданный агент с именем MyAgent для взаимодействия, задав вопрос и связанные дальнейшие действия. Беседа ведет историю во время этих взаимодействий.

Tip

Код использует API агентов версии 2 (предварительная версия) и несовместим с агентами версии 1. Перейдите в документацию по Foundry (классическая) для версии API Агентов версии 1.

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["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent_name = os.environ["AZURE_AI_FOUNDRY_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}")

Добавьте файлы в агент

Агенты обладают мощными возможностями с помощью средств. Давайте добавим средство поиска файлов, позволяющее нам выполнять извлечение знаний.

  • Скачайте product_info_1.md , чтобы предоставить агенту.

Tip

Код использует API агентов версии 1 и несовместим с агентами версии 2 (предварительная версия). Перейдите к новой документации Foundry для API агентов v2 (предварительный просмотр).

Замените вашу точку доступа вместо endpoint в этом коде:

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)

Очистите ресурсы

Если вам больше не нужен какой-либо из созданных ресурсов, удалите группу ресурсов, связанную с проектом.

На портале Microsoft Foundry выберите имя проекта в правом верхнем углу. Затем выберите ссылку для группы ресурсов, чтобы открыть ее на портале Azure. Выберите группу ресурсов и нажмите кнопку "Удалить". Убедитесь, что вы хотите удалить группу ресурсов.

На портале Azure найдите и выберите группу ресурсов. Выберите "Удалить " и подтвердите удаление группы ресурсов и всех связанных с ней ресурсов.

Следующий шаг