Поставщик модели Microsoft Foundry

Microsoft Agent Framework поддерживает непосредственный вывод с помощью модели через конечные точки проекта Microsoft Foundry, при этом определение агента, инструменты и оркестрация находятся в вашем приложении.

Сведения о Prompt, управляемом службой, и размещенных агентах см. в Microsoft Foundry Agent Service.

Getting Started

Добавьте необходимый пакет NuGet в проект.

dotnet add package Microsoft.Agents.AI.Foundry --prerelease

Два шаблона интеграции

Интеграция Microsoft Foundry предоставляет два различных шаблона использования:

Рисунок Созданный тип Описание Используйте, если
Агент ответов ChatClientAgent Приложение программно предоставляет модель, инструкции и средства во время выполнения AIProjectClient.AsAIAgent(...). Ресурс агента на стороне сервера не создается. Вы владеете определением агента и хотите простой гибкой настройки. Это шаблон, используемый в большинстве примеров.
Агент Foundry (запрос или размещение) FoundryAgent Управляемые сервером — агенты подсказок представляют собой именованные и версионируемые определения; размещённые агенты — это развернутые приложения, доступ к которым осуществляется через конечную точку, специфичную для конкретного агента. Foundry владеет определением агента или размещенной средой выполнения. См. Служба агентов Microsoft Foundry.

Агент откликов (прямое заключение)

Используйте AsAIAgent на AIProjectClient непосредственно с моделью и инструкциями. Это рекомендуемая отправная точка для большинства сценариев.

using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;

AIAgent agent = new AIProjectClient(
    new Uri("<your-foundry-project-endpoint>"),
    new DefaultAzureCredential())
        .AsAIAgent(
            model: "gpt-4o-mini",
            name: "Joker",
            instructions: "You are good at telling jokes.");

Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));

Предупреждение

DefaultAzureCredential удобно для разработки, но требует тщательного рассмотрения в рабочей среде. В рабочей среде рекомендуется использовать определенные учетные данные (например, ManagedIdentityCredential), чтобы избежать проблем с задержкой, непреднамеренной проверки данных аутентификации и потенциальных рисков безопасности из-за резервных механизмов.

Этот путь ориентирован на изначальное использование кода и не создает ресурс агента, под управлением сервера.

Использование агента

Агент Responses — это стандартный AIAgent и поддерживает сеансы, инструменты, промежуточное ПО и потоковую обработку.

AgentSession session = await agent.CreateSessionAsync();
Console.WriteLine(await agent.RunAsync("Tell me a joke.", session));
Console.WriteLine(await agent.RunAsync("Now make it funnier.", session));

Дополнительные сведения о запуске и взаимодействии с агентами см. в руководствах по началу работы агента.

Tools

Агенты Foundry Responses, созданные из AIProjectClient.AsAIAgent(...), поддерживают стандартный набор инструментов Agent Framework. Ознакомьтесь с обзором инструментов для полной матрицы функций.

инструмент Notes
Средства функций Supported.
Утверждение инструмента Supported. Предоставляется клиентом чата, вызывающим функцию платформы.
Интерпретатор кода Supported.
Поиск файлов Supported.
Размещенные средства MCP Supported.
Локальные средства MCP Supported.
Набор инструментов Microsoft Foundry Supported.

Проект Foundry на Python

В Python все клиенты, относящиеся к Foundry, теперь живут под agent_framework.foundry.

  • agent-framework-foundry предоставляет облачные соединители Foundry: FoundryChatClient, FoundryAgent, FoundryEmbeddingClientи FoundryMemoryProvider.
  • agent-framework-foundry-local обеспечивает FoundryLocalClient выполнение модели на локальном уровне.

Это важно

Эта страница посвящена конечным точкам проекта Microsoft Foundry и моделей. Сведения о службе Foundry Agent Service см. в статье Microsoft Foundry Agent Service. Если у вас есть автономная конечная точка ресурса Azure OpenAI (https://<your-resource>.openai.azure.com), используйте руководство по Python на странице поставщика OpenAI. Если вы хотите локально запускать поддерживаемые модели, см. страницу "Локальный поставщик Foundry".

Шаблоны чата и агента Foundry в Python

Scenario Фигура Python Используйте, если
Простое вывод с конечной точкой "Ответы Foundry" Agent(client=FoundryChatClient(...)) Ваше приложение владеет определением агента, инструментами и циклом беседы, и вам нужна модель, развернутая в проекте Foundry.
Управляемые службой агенты в службе агента Foundry FoundryAgent(...) Вы хотите подключиться к объекту PromptAgent или HostedAgent, который создается и настраивается на портале Foundry или через API службы.

Installation

pip install agent-framework-foundry

Тот же пакет agent-framework-foundry также включает FoundryEmbeddingClient для текстовых эмбеддингов через проект Foundry или для текстовых эмбеддингов и эмбеддингов изображений через конечную точку Foundry Models.

Configuration

FoundryChatClient

FOUNDRY_PROJECT_ENDPOINT="https://<your-project>.services.ai.azure.com"
FOUNDRY_MODEL="gpt-4o-mini"

FoundryEmbeddingClient с конечной точкой проекта

FOUNDRY_PROJECT_ENDPOINT="https://<resource>.services.ai.azure.com/api/projects/<project>"
FOUNDRY_EMBEDDING_MODEL="text-embedding-3-small"

Эмбеддинги, связанные с проектом, используют развертывание модели эмбеддингов OpenAI в проекте Foundry. Выполните проверку подлинности с помощью асинхронных учетных данных токена, например AzureCliCredential.

FoundryEmbeddingClient с конечной точкой модели

FOUNDRY_MODELS_ENDPOINT="https://<apim-instance>.azure-api.net/<foundry-instance>/models"
FOUNDRY_MODELS_API_KEY="<api-key>"
FOUNDRY_EMBEDDING_MODEL="text-embedding-3-small"
FOUNDRY_IMAGE_EMBEDDING_MODEL="Cohere-embed-v3-english"  # optional

Используйте конечную точку Foundry Models для внедрения изображений или текстовых моделей, развернутых в этой конечной точке. Если заданы обе переменные среды для эндпоинта и вы не указываете явный эндпоинт или клиент для проекта, FOUNDRY_MODELS_ENDPOINT имеет приоритет.

FoundryChatClient использует конечную точку проекта. FoundryEmbeddingClient поддерживает текстовые эмбеддинги с привязкой к проекту, а также текстовые эмбеддинги и эмбеддинги изображений через конечную точку моделей.

Выберите нужный клиент Python

Scenario Предпочтительный клиент Notes
Ресурс Azure OpenAI OpenAIChatCompletionClient / OpenAIChatClient Используйте страницу поставщика OpenAI.
Вывод проекта Microsoft Foundry Agent(client=FoundryChatClient(...)) Использует конечную точку "Foundry Responses".
Агент, управляемый службой Microsoft Foundry FoundryAgent Рекомендуется для оперативных агентов и хостед-агентов.
текстовые эмбеддинги проекта Microsoft Foundry FoundryEmbeddingClient Использует FOUNDRY_PROJECT_ENDPOINT, FOUNDRY_EMBEDDING_MODEL и учётные данные токена.
Конечная точка моделей Microsoft Foundry для векторных представлений текста или изображений FoundryEmbeddingClient Использует FOUNDRY_MODELS_ENDPOINT плюс FOUNDRY_EMBEDDING_MODEL / FOUNDRY_IMAGE_EMBEDDING_MODEL.
Локальная среда выполнения Foundry Agent(client=FoundryLocalClient(...)) См. Foundry Local.

Создание агента с помощью FoundryChatClient

FoundryChatClient подключается к развернутой модели в проекте Foundry и использует конечную точку ответов. Совместите его со стандартом Agent, когда приложение должно полностью управлять инструкциями, средствами и сессиями.

from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

agent = Agent(
    client=FoundryChatClient(
        project_endpoint="https://your-project.services.ai.azure.com",
        model="gpt-4o-mini",
        credential=AzureCliCredential(),
    ),
    name="FoundryWeatherAgent",
    instructions="You are a helpful assistant.",
)

FoundryChatClient — это путь Python Foundry-first для прямого вывода и поддерживает средства, структурированные выходные данные и потоковую передачу.

Повторное использование клиента одновременно

Один FoundryChatClient экземпляр может обслуживать одновременные асинхронные вызовы в одном цикле событий, включая перекрывающиеся потоковые и непотоковые вызовы.

Создайте отдельный Agent и AgentSession для каждого одновременного запуска и передавайте отдельные сообщения и параметры. Пользовательские промежуточное ПО, инструменты и обратные вызовы также должны поддерживать параллельное выполнение. Не делитесь клиентом между потоками ОС или циклами событий или не изменяйте конфигурацию во время активных вызовов.

Включить зашифрованные рассуждения

FoundryChatClient не запрашивает reasoning.encrypted_content по умолчанию. Этот параметр по умолчанию предотвращает ошибки при выполнении запросов для моделей, которые не поддерживают зашифрованное рассуждение.

Для развертывания с поддержкой возможностей включите эту функцию в параметрах агента по умолчанию:

from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

agent = Agent(
    client=FoundryChatClient(
        project_endpoint="https://your-project.services.ai.azure.com",
        model="<reasoning-model-deployment>",
        credential=AzureCliCredential(),
    ),
    default_options={"include": ["reasoning.encrypted_content"]},
)

Tools

FoundryChatClient включает статические фабричные методы для каждого размещённого инструмента Foundry. Фабрики возвращают объекты инструментов SDK, которые вы передаёте в tools= на Agent или напрямую в client.get_response(..., tools=[...]). Сведения о средствах агентов, управляемых службой, см. в Microsoft Foundry Agent Service.

Фабричные методы — это методы класса, поэтому для создания инструмента экземпляр не нужен:

from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

agent = Agent(
    client=FoundryChatClient(credential=AzureCliCredential()),
    instructions="You can search the web and run code.",
    tools=[
        FoundryChatClient.get_web_search_tool(),
        FoundryChatClient.get_code_interpreter_tool(),
    ],
)

Поддержка инструментов

В таблице ниже перечислены все инструменты, которые предоставляет Python FoundryChatClient, на сегодняшний день.

инструмент Фабрика в FoundryChatClient Статус Detail
Средства функций n/a — передайте любой вызываемый объект Python или @ai_function GA Вызывается локально в процессе Python.
Утверждение инструмента n/a — оборачивает существующие инструменты GA Работает с размещёнными средствами MCP и инструментами функций.
Интерпретатор кода get_code_interpreter_tool GA Изолированное выполнение кода в Foundry.
Поиск файлов get_file_search_tool GA Поиск отправленных файлов через хранилища векторов Foundry.
Поиск в Интернете get_web_search_tool GA Привязка к веб-данным на базе Bing под управлением Microsoft. Только модели Azure OpenAI.
Генерация изображений get_image_generation_tool GA Генерация изображений на платформе Foundry.
MCP на хостинге get_mcp_tool GA Удаленный сервер MCP, вызываемый Foundry.
Локальный MCP n/a — используйте MCPStreamableHTTPTool / MCPStdioTool GA Работает в вашем процессе; совместим с любым клиентом.
Набор инструментов Microsoft Foundry MCPStreamableHTTPTool или FoundryToolbox Бета-версия Используется через MCP из FoundryChatClient; подключается на стороне сервера в FoundryAgent.
Заземление Bing get_bing_grounding_tool Experimental Приведите собственный заземление с помощью ресурса Bing Search.
Пользовательский поиск Bing get_bing_custom_search_tool Preview Bing заземление ограничено списком курируемых доменов.
Поиск с использованием ИИ Azure get_azure_ai_search_tool Experimental Выполните поиск по индексу Поиск с использованием ИИ Azure через подключение Foundry.
SharePoint get_sharepoint_tool Preview Основывайте ответы на контенте SharePoint.
Microsoft Fabric get_fabric_tool Preview Запросить данные у агента данных Fabric.
Поиск памяти get_memory_search_tool Preview Выполните поиск в хранилище памяти, управляемом Foundry.
Использование собственного компьютера get_computer_tool Available Возвращает упорядоченные действия компьютера через API ответов. Требуется azure-ai-projects 2.3.0 или более поздней версии.
Предварительная версия функции «Использование компьютера» get_computer_use_tool Preview Используйте отдельный API предварительной версии для компьютера.
Автоматизация браузера get_browser_automation_tool Preview Управляйте браузером через подключение к Azure Playwright.
Агент — агент (A2A) get_a2a_tool Preview Вызов другого A2A-агента как инструмента.

Замечание

Экспериментальные фабрики служат обёртками для типов SDK GA Foundry, но сами эти обёртки могут измениться до выхода общедоступной версии. Фабрики предварительной версии инкапсулируют типы SDK Foundry, чья базовая функциональность находится на стадии предварительной версии и может измениться или быть удалена. Оба выдают ExperimentalWarning первый раз, когда они используются в процессе.

Варианты поиска в Интернете

Foundry предоставляет три варианта заземления с поддержкой Bing. Выберите тот, который соответствует вашему сценарию:

  • get_web_search_tool (GA) — вариант по умолчанию, не требующий настройки; ресурс Bing, управляемый Microsoft. Только модели Azure OpenAI. Ограничено user_location и search_context_size.
  • get_bing_grounding_tool (экспериментальная) — используйте собственный ресурс Azure Bing Search для Grounding. Поддерживает count, freshness, market, set_lang и модели, не относящиеся к OpenAI Foundry.
  • get_bing_custom_search_tool (предварительная версия) — используйте свой экземпляр Bing Custom Search, чтобы ограничить использование данных заранее отобранным набором доменов.

Все три отправляют данные поиска за пределами границы соответствия Azure. Ознакомьтесь с обзором функции web grounding, чтобы увидеть полное сравнение.

client = FoundryChatClient(credential=AzureCliCredential())

# Default (GA): minimal configuration
web_search = client.get_web_search_tool(
    user_location={"city": "Amsterdam", "country": "NL"},
    search_context_size="medium",
)

Генерирование изображений

get_image_generation_tool настраивает размещённый инструмент Foundry для генерации изображений. Модель создает изображение прямо в ответе — никакими дополнительными файлами не нужно управлять.

image_gen = FoundryChatClient.get_image_generation_tool(
    model="gpt-image-1",
    size="1024x1024",
    output_format="png",
    quality="high",
)

Обоснование с помощью Bing

get_bing_grounding_tool является оболочкой для средства Grounding with Bing Search Foundry. Вы самостоятельно создаёте ресурс Grounding with Bing Search и добавляете его как подключение проекта Foundry, а затем передаёте идентификатор подключения.

bing = FoundryChatClient.get_bing_grounding_tool(
    connection_id="/subscriptions/.../connections/my-bing",
    market="en-US",
    freshness="Day",
    count=10,
)

get_bing_custom_search_tool ограничивает привязку к данным списком разрешённых источников, определённым в ресурсе Bing Custom Search.

bing_custom = FoundryChatClient.get_bing_custom_search_tool(
    connection_id="/subscriptions/.../connections/my-bing-custom",
    instance_name="docs-only",
    market="en-US",
)

get_azure_ai_search_tool позволяет агенту запрашивать индекс Поиск с использованием ИИ Azure через подключение проекта Foundry.

ai_search = FoundryChatClient.get_azure_ai_search_tool(
    index_connection_id="/subscriptions/.../connections/my-search",
    index_name="product-docs",
    query_type="vector_semantic_hybrid",
    top_k=5,
)

Sharepoint

get_sharepoint_tool основывает ответы на содержимом SharePoint, доступном через подключение Foundry к SharePoint.

sharepoint = FoundryChatClient.get_sharepoint_tool(
    connection_id="/subscriptions/.../connections/my-sharepoint",
)

Microsoft Fabric

get_fabric_tool подключает агента к агенту данных Microsoft Fabric через подключение Foundry, чтобы агент мог отвечать на вопросы о данных Fabric.

fabric = FoundryChatClient.get_fabric_tool(
    connection_id="/subscriptions/.../connections/my-fabric",
)

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

memory = FoundryChatClient.get_memory_search_tool(
    memory_store_name="user-preferences",
    scope="{{$userId}}",
)

Использование компьютера

get_computer_tool настраивает использование компьютера на нативном уровне через API Responses. Инструмент Foundry SDK не является предварительной версией, однако общие конструкторы Agent Framework ComputerSafetyCheck и компьютера Content являются экспериментальными. Приложение выполняет упорядоченные действия, проверяет проверку безопасности и возвращает снимок экрана. Полный поток запросов и результатов см. в разделе "Использование собственного компьютера".

computer = FoundryChatClient.get_computer_tool()

Для этой фабрики требуется версия azure-ai-projects 2.3.0 или более поздняя. Старые, но по-прежнему поддерживаемые версии SDK всё ещё могут импортировать FoundryChatClient, но при вызове get_computer_tool() возникает ImportError с рекомендациями по обновлению.

get_computer_use_tool остается доступным для отдельного API предварительной версии для использования компьютера:

preview_computer = FoundryChatClient.get_computer_use_tool(
    environment="browser",
    display_width=1280,
    display_height=800,
)

Браузерная автоматизация

get_browser_automation_tool подключает агент к ресурсу Azure Playwright Testing с помощью подключения Foundry. Агент может управлять реальным браузером через Playwright.

browser = FoundryChatClient.get_browser_automation_tool(
    connection_id="/subscriptions/.../connections/my-playwright",
)

Агент — агент (A2A)

get_a2a_tool предоставляет доступ к удалённому агенту A2A как к инструменту, чтобы агент Foundry мог обращаться к нему. Укажите либо base_url (и, при необходимости, agent_card_path), либо project_connection_id для сохранённого подключения A2A.

a2a = FoundryChatClient.get_a2a_tool(
    base_url="https://remote-agent.example.com",
    agent_card_path="/.well-known/agent-card.json",
)

Общие рекомендации по обнаружению A2A, сеансам и потоковой передаче см. в разделе Служба агента A2A.

Создание внедренных модулей с помощью FoundryEmbeddingClient

Используйте FoundryEmbeddingClient с конечной точкой проекта, если вам нужны текстовые эмбеддинги из развертывания OpenAI в вашем проекте Foundry.

import os

from agent_framework.foundry import FoundryEmbeddingClient
from azure.identity.aio import AzureCliCredential

async with AzureCliCredential() as credential:
    async with FoundryEmbeddingClient(
        project_endpoint=os.environ["FOUNDRY_PROJECT_ENDPOINT"],
        model=os.environ["FOUNDRY_EMBEDDING_MODEL"],
        credential=credential,
    ) as client:
        result = await client.get_embeddings(["hello from Agent Framework"])
        print(result[0].dimensions)

Для эмбеддингов изображений вместо них настройте FOUNDRY_MODELS_ENDPOINT, FOUNDRY_MODELS_API_KEY и FOUNDRY_IMAGE_EMBEDDING_MODEL. Не смешивайте конфигурацию конечной точки проекта с аргументами или клиентами конечной точки models в одном и том же FoundryEmbeddingClient.

Использование агента

FoundryChatClient интегрируется со стандартной средой Python Agent, включая вызов инструментов, сеансы и потоковые ответы. Для локальных сред выполнения используйте отдельную страницу локального поставщика Foundry.

Сведения об именованных, версионируемых наборах конфигураций размещённых инструментов см. в Microsoft Foundry Toolbox.

Литейные в Go

SDK для Go предоставляет доступ к агентам Microsoft Foundry через github.com/microsoft/agent-framework-go/provider/foundryprovider.

См. примеры Foundry Go для непосредственного вывода, инструментов функций, размещённых инструментов, MCP и примеров серверов-агентов.

Пакет поддерживает два целевых объекта агента:

Target Перейти к фигуре Используйте, если
Развертывание модели с привязкой к проекту foundryprovider.ModelDeployment("gpt-4o-mini") Ваше приложение определяет инструкции, инструменты и ход диалога.
Существующий серверный агент Foundry foundryprovider.ServerAgent("my-agent") Определение агента уже настроено в Foundry.

Configuration

Укажите конечную точку проекта Foundry и развертывание модели:

FOUNDRY_PROJECT_ENDPOINT="https://<your-project>.services.ai.azure.com/api/projects/<project-id>"
FOUNDRY_MODEL="gpt-4o-mini"

агент Foundry, поддерживаемый проектом

Используйте ModelDeployment, если хотите создать в коде агент Agent Framework и передать инструкции, инструменты, промежуточное ПО и поставщиков контекста из вашего Go-приложения.

import (
    "context"
    "os"

    "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
    "github.com/microsoft/agent-framework-go/agent"
    "github.com/microsoft/agent-framework-go/provider/foundryprovider"
)

endpoint := os.Getenv("FOUNDRY_PROJECT_ENDPOINT")
model := os.Getenv("FOUNDRY_MODEL")

token, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
    panic(err)
}

a := foundryprovider.NewAgent(
    endpoint,
    token,
    foundryprovider.ModelDeployment(model),
    foundryprovider.AgentConfig{
        Instructions: "You are good at telling jokes.",
        Config: agent.Config{
            Name: "Joker",
        },
    },
)

resp, err := a.RunText(context.Background(), "Tell me a joke about a pirate.").Collect()

Существующий серверный агент Foundry

Используйте ServerAgent , когда вы хотите вызвать агент, уже настроенный в Foundry. Агент на стороне сервера владеет своими инструкциями и инструментами, поэтому AgentConfig.Instructions игнорируется для этого целевого объекта.

a := foundryprovider.NewAgent(
    endpoint,
    token,
    foundryprovider.ServerAgent("my-agent"),
    foundryprovider.AgentConfig{
        Config: agent.Config{
            Name: "my-agent",
        },
    },
)

resp, err := a.RunText(ctx, "Summarize the current project status.").Collect()

Tools

Агенты Foundry, поддерживаемые проектом, поддерживают стандартный интерфейс инструментов Go Agent Framework для локальных инструментов и объявлений поддерживаемых размещённых инструментов.

инструмент Статус Notes
Средства функций Поддерживается Функции выполняются в процессе Go.
Утверждение инструмента Поддерживается Работает с инструментами локальных функций через цикл автоматического вызова инструментов.
Интерпретатор кода Поддерживается Используйте &hostedtool.CodeInterpreter{}.
Поиск в Интернете Поддерживается Используйте &hostedtool.WebSearch{}.
Локальные средства MCP Поддерживается Используйте tool/mcptool, чтобы подключиться к серверу MCP и сделать его инструменты доступными локально.
Размещенные средства MCP В настоящее время это не задокументировано для Go Foundry Используйте локальные средства MCP, если вам нужны серверы MCP с агентами Go Foundry.
Набор инструментов Microsoft Foundry В настоящее время это недоступно через вспомогательную функцию Go.

Для инструментов локальных функций добавьте значения tool.Tool через agent.Config.Tools:

a := foundryprovider.NewAgent(
    endpoint,
    token,
    foundryprovider.ModelDeployment(model),
    foundryprovider.AgentConfig{
        Instructions: "You are a helpful assistant.",
        Config: agent.Config{
            Tools: []tool.Tool{weatherTool},
        },
    },
)

Для выполнения размещённого кода передайте описание размещённого инструмента:

a := foundryprovider.NewAgent(
    endpoint,
    token,
    foundryprovider.ModelDeployment(model),
    foundryprovider.AgentConfig{
        Instructions: "You solve problems with code.",
        Config: agent.Config{
            Tools: []tool.Tool{&hostedtool.CodeInterpreter{}},
        },
    },
)

Заголовки клиента и предоставляемая модель

Foundry принимает x-client-* заголовки для каждого запуска. Добавьте их с помощью foundryprovider.WithClientHeader или foundryprovider.WithClientHeaders:

resp, err := a.RunText(
    ctx,
    "Hello!",
    foundryprovider.WithClientHeader("x-client-scenario", "docs"),
).Collect()

Когда Foundry возвращает заголовок ответа x-ms-served-model, провайдер Go добавляет его в response/update additional properties как ServedModel.

if servedModel, ok := resp.AdditionalProperties["ServedModel"].(string); ok {
    fmt.Println(servedModel)
}

Поставщик памяти Foundry

Используйте foundryprovider.NewMemoryProvider, если нужно, чтобы агент Agent Framework при каждом запуске извлекал данные из хранилища памяти под управлением Foundry и обновлял его.

import (
    "log/slog"

    "github.com/microsoft/agent-framework-go/agent"
    "github.com/microsoft/agent-framework-go/provider/foundryprovider"
)

memoryProvider := foundryprovider.NewMemoryProvider(
    endpoint,
    tokenCredential,
    "memory-store-sample",
    func(*agent.Session) string { return "user-123" },
    foundryprovider.MemoryProviderConfig{
        Logger: slog.Default(),
    },
)

a := foundryprovider.NewAgent(
    endpoint,
    tokenCredential,
    foundryprovider.ModelDeployment(model),
    foundryprovider.AgentConfig{
        Instructions: "Use known memories about the user when responding.",
        Config: agent.Config{
            Name:             "FoundryMemoryAgent",
            ContextProviders: []agent.ContextProvider{memoryProvider},
        },
    },
)

Конечная точка должна быть конечной точкой Microsoft Foundry уровня проекта, а хранилище памяти уже должно существовать в этом проекте. Функция обратного вызова области видимости должна возвращать стабильный ключ секционирования для пользователя, арендатора или беседы.

Tip

См. образец Go для памяти Foundry для полного рабочего примера.

Текущие пробелы Go

Поддержка Go в настоящее время не включает API Foundry для размещённого развертывания, жизненного цикла и администрирования, клиенты для эмбеддингов или специфичные для Go вспомогательные компоненты для Microsoft Foundry Toolbox. Используйте портал Foundry или пакеты SDK сервиса для выполнения этих операций.

Дальнейшие действия