Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
platforma Microsoft Agent Framework obsługuje wnioskowanie modelu bezpośredniego z punktów końcowych projektu Microsoft Foundry, podczas gdy aplikacja jest właścicielem definicji, narzędzi i aranżacji agenta.
Aby uzyskać informacje o monitach zarządzanych przez usługę i hostowanych agentach, zobacz Microsoft Usługa agenta usługi Foundry.
Wprowadzenie
Dodaj wymagane pakiety NuGet do projektu.
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.Foundry --prerelease
Dwa wzorce integracji
Integracja Microsoft Foundry uwidacznia dwa odrębne wzorce użycia:
| Pattern | Typ wygenerowany | Description | Użyj, gdy |
|---|---|---|---|
| Agent odpowiedzi | ChatClientAgent |
Aplikacja programowo udostępnia model, instrukcje i narzędzia w czasie wykonywania za pomocą polecenia AIProjectClient.AsAIAgent(...). Nie utworzono zasobu agenta po stronie serwera. |
Masz definicję agenta i potrzebujesz prostej, elastycznej konfiguracji. Jest to wzorzec używany w większości przykładów. |
| Agent usługi Foundry (monit lub hostowany) | FoundryAgent |
Zarządzane przez serwer — agenci monitów mają nazwy i definicje wersji; Hostowani agenci są wdrażani aplikacje osiągane za pośrednictwem punktu końcowego specyficznego dla agenta. | Program Foundry jest właścicielem definicji agenta lub hostowanego środowiska uruchomieniowego. Zobacz usługę agenta Microsoft Foundry. |
Agent odpowiedzi (bezpośrednie wnioskowanie)
Użyj AsAIAgent bezpośrednio z AIProjectClient modelem i instrukcjami. Jest to zalecany punkt wyjścia dla większości scenariuszy.
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."));
Warning
DefaultAzureCredential jest wygodne do programowania, ale wymaga starannego rozważenia w środowisku produkcyjnym. W środowisku produkcyjnym rozważ użycie określonego poświadczenia (np. ManagedIdentityCredential), aby uniknąć problemów z opóźnieniami, niezamierzonego sondowania poświadczeń i potencjalnych zagrożeń bezpieczeństwa wynikających z mechanizmów awaryjnych.
Ta ścieżka jest primarnie oparta na kodzie i nie tworzy zasobu agenta zarządzanego przez serwer.
Korzystanie z agenta
Agent odpowiedzi jest standardem AIAgent i obsługuje sesje, narzędzia, oprogramowanie pośredniczące i przesyłanie strumieniowe.
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));
Aby uzyskać więcej informacji na temat uruchamiania agentów i interakcji z nimi, zobacz samouczki wprowadzające do agenta.
Tools
Agenci odpowiedzi programu Foundry utworzone na podstawie AIProjectClient.AsAIAgent(...) obsługi standardowej powierzchni narzędzia Agent Framework. Zobacz Omówienie narzędzi , aby zapoznać się z pełną macierzą funkcji.
| Narzędzie | Notatki |
|---|---|
| Narzędzia funkcji | Supported. |
| Zatwierdzanie narzędzi | Supported. Udostępnione przez klienta czatu wywołującego funkcje biblioteki. |
| Interpreter kodów | Supported. |
| Wyszukiwanie plików | Supported. |
| Hostowane narzędzia MCP | Supported. |
| Lokalne narzędzia MCP | Supported. |
| Przybornik Microsoft Foundry | Supported. |
Odlewnia w Python
W języku Python wszystkie klienty specyficzne dla platformy Foundry znajdują się teraz w obszarze agent_framework.foundry.
-
agent-framework-foundryUdostępnia łączniki usługi Cloud Foundry:FoundryChatClient,FoundryAgent,FoundryEmbeddingClientiFoundryMemoryProvider. -
agent-framework-foundry-localzapewniaFoundryLocalClientdla lokalnego wykonywania modelu.
Ważna
Na tej stronie omówiono Microsoft punktów końcowych projektu i modeli usługi Foundry. Aby zapoznać się z usługą agenta usługi Foundry, zobacz Microsoft Usługa agenta usługi Foundry. Jeśli masz autonomiczny punkt końcowy zasobów usługi Azure OpenAI (https://<your-resource>.openai.azure.com), skorzystaj ze wskazówek dotyczących języka Python na stronie dostawcy openAI. Jeśli chcesz uruchamiać obsługiwane modele lokalnie, zobacz stronę Dostawcy lokalnego usługi Foundry.
Wzorce czatów i agentów programu Foundry w Python
| Scenario | Kształt języka Python | Użyj, gdy |
|---|---|---|
| Podstawowe wnioskowanie na punkcie końcowym odpowiedzi Foundry | Agent(client=FoundryChatClient(...)) |
Twoja aplikacja jest właścicielem definicji agenta, narzędzi i pętli konwersacji, a chcesz model wdrożony w projekcie Foundry. |
| Agenci zarządzani przez usługę w Foundry Agent Service | FoundryAgent(...) |
Chcesz nawiązać połączenie z elementem PromptAgent lub HostedAgent utworzonym i skonfigurowanym w portalu Foundry lub za pośrednictwem interfejsów API usługi. |
Instalacja
pip install agent-framework-foundry
Ten sam agent-framework-foundry pakiet zawiera również FoundryEmbeddingClient do osadzeń dla końcówek modeli Foundry.
Configuration
FoundryChatClient
FOUNDRY_PROJECT_ENDPOINT="https://<your-project>.services.ai.azure.com"
FOUNDRY_MODEL="gpt-4o-mini"
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
FoundryChatClient używa punktu końcowego projektu.
FoundryEmbeddingClient używa oddzielnego punktu końcowego dla modeli.
Wybieranie odpowiedniego klienta języka Python
| Scenario | Preferowany klient | Notatki |
|---|---|---|
| Zasób usługi Azure OpenAI | OpenAIChatCompletionClient / OpenAIChatClient |
Użyj strony dostawcy OpenAI. |
| wnioskowanie projektu Microsoft Foundry | Agent(client=FoundryChatClient(...)) |
Używa punktu końcowego Reakcje Foundry. |
| Agent zarządzany przez usługę Microsoft Foundry | FoundryAgent |
Zalecane dla szybkich agentów i hostowanych agentów. |
| Osadzenia punktów końcowych modeli Microsoft Foundry | FoundryEmbeddingClient |
Używa znaku FOUNDRY_MODELS_ENDPOINT plus FOUNDRY_EMBEDDING_MODEL / FOUNDRY_IMAGE_EMBEDDING_MODEL. |
| Lokalne środowisko uruchomieniowe usługi Foundry | Agent(client=FoundryLocalClient(...)) |
Zobacz Foundry Local. |
Tworzenie agenta za pomocą polecenia FoundryChatClient
FoundryChatClient nawiązuje połączenie z wdrożonym modelem w projekcie Foundry i używa punktu końcowego Responses. Połącz ją ze standardem Agent , gdy aplikacja powinna posiadać instrukcje, narzędzia i obsługę sesji.
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 to ścieżka Python "Foundry-first" przeznaczona do bezpośredniego wnioskowania, która obsługuje narzędzia, strukturalne dane wyjściowe oraz strumieniowanie.
Tools
FoundryChatClient udostępnia statyczne metody fabryczne dla każdego hostowanego narzędzia Foundry. Fabryki zwracają obiekty narzędzi SDK, które przekazujesz do tools= w elemencie Agent lub bezpośrednio do client.get_response(..., tools=[...]). Aby zapoznać się z narzędziami agenta zarządzanego przez usługę, zobacz Microsoft Usługa agenta usługi Foundry.
Metody fabrykujące są metodami klasy, więc nie potrzebujesz instancji, aby utworzyć narzędzie:
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(),
],
)
Obsługa narzędzi
W poniższej tabeli wymieniono wszystkie narzędzia, które Python FoundryChatClient uwidacznia dzisiaj.
| Narzędzie | Fabryka w FoundryChatClient |
Status | Detail |
|---|---|---|---|
| Narzędzia funkcji | n/a — przekaż dowolny obiekt wywoływalny Pythona lub @ai_function |
ogólna dostępność | Wywoływane lokalnie w procesie Python. |
| Zatwierdzanie narzędzi | n/a — opakowuje istniejące narzędzia | ogólna dostępność | Współpracuje z hostowanymi narzędziami MCP i narzędziami funkcyjnymi. |
| Interpreter kodów | get_code_interpreter_tool |
ogólna dostępność | Wykonywanie kodu w izolowanym środowisku na platformie Foundry. |
| Wyszukiwanie plików | get_file_search_tool |
ogólna dostępność | Przeszukuj przesłane pliki w wektorowych magazynach danych Foundry. |
| Wyszukiwanie w Sieci Web | get_web_search_tool |
ogólna dostępność | Oparte na usłudze Bing tworzenie podstaw internetowych zarządzanych przez Microsoft. Tylko modele Azure OpenAI. |
| Generowanie obrazów | get_image_generation_tool |
ogólna dostępność | Generowanie obrazów hostowane w usłudze Foundry. |
| Hostowana umowa MCP | get_mcp_tool |
ogólna dostępność | Zdalny serwer MCP wywoływany przez usługę Foundry. |
| Lokalne MCP | n/a — użyj MCPStreamableHTTPTool / MCPStdioTool |
ogólna dostępność | Działa w Twoim procesie; współpracuje z dowolnym klientem. |
| Przybornik Microsoft Foundry |
MCPStreamableHTTPTool lub FoundryToolbox |
Beta | Wykorzystywane przez MCP z FoundryChatClient; podłączone po stronie serwera na FoundryAgent. |
| Podstawy Binga | get_bing_grounding_tool |
Experimental | Bring-your-own Grounding with Bing Search resource (Korzystanie z własnego rozwiązania Grounding za pomocą zasobu wyszukiwania Bing). |
| Wyszukiwanie niestandardowe Bing | get_bing_custom_search_tool |
Preview | Uziemienie Bing jest ograniczone do wyselekcjonowanych list domen. |
| Wyszukiwanie AI platformy Azure | get_azure_ai_search_tool |
Experimental | Przeszukaj indeks Wyszukiwanie AI platformy Azure za pośrednictwem połączenia z usługą Foundry. |
| SharePoint | get_sharepoint_tool |
Preview | Podstawowe odpowiedzi w zawartości SharePoint. |
| Microsoft Fabric | get_fabric_tool |
Preview | Wysyłaj zapytania do agenta danych Fabric. |
| Wyszukiwanie pamięci | get_memory_search_tool |
Preview | Wyszukaj magazyn pamięci zarządzanej przez program Foundry. |
| Wykorzystanie komputerów | get_computer_use_tool |
Preview | Pozwól agentowi sterować środowiskiem pulpitu lub przeglądarki. |
| Automatyzacja przeglądarki | get_browser_automation_tool |
Preview | Sterowanie przeglądarką przy użyciu połączenia z Azure Playwright. |
| Agent do agenta (A2A) | get_a2a_tool |
Preview | Wywołaj innego agenta A2A w charakterze narzędzia. |
Note
Eksperymentalne metody fabrykujące opakowują typy zestawu SDK GA Foundry, ale same opakowania mogą ulec zmianie przed wydaniem GA.
Fabryki w wersji zapoznawczej opakowują typy zestawu Foundry SDK, których bazowa funkcjonalność ma status wersji zapoznawczej i może ulec zmianie lub zostać usunięta. Oba generują ExperimentalWarning przy pierwszym użyciu w procesie.
Warianty wyszukiwania w Sieci Web
Foundry uwidacznia trzy opcje uziemienia oparte na usłudze Bing. Wybierz ten, który jest zgodny ze scenariuszem:
-
get_web_search_tool(GA) — domyślnie, bez konfiguracji; zasób Bing zarządzany przez firmę Microsoft. Tylko modele Azure OpenAI. Ograniczone douser_locationisearch_context_size. -
get_bing_grounding_tool(eksperymentalne) — użyj własnego zasobu Azure Grounding with Bing Search. Obsługujecount,freshness,market,set_langoraz modele inne niż OpenAI Foundry. -
get_bing_custom_search_tool(wersja zapoznawcza) — użyj własnego wystąpienia usługi Bing Custom Search, aby ograniczyć wyszukiwanie do wyselekcjonowanego zestawu domen.
Wszystkie trzy wysyłają dane wyszukiwania poza granicą zgodności Azure. Aby zapoznać się z pełnym porównaniem, zobacz omówienie uziemienia sieci Web .
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",
)
Generowanie obrazu
get_image_generation_tool Konfiguruje narzędzie do generowania obrazów hostowanych przez firmę Foundry. Model tworzy zawartość obrazu w odpowiedzi — nie ma dodatkowych plików do zarządzania.
image_gen = FoundryChatClient.get_image_generation_tool(
model="gpt-image-1",
size="1024x1024",
output_format="png",
quality="high",
)
Ugruntowanie w Bing
get_bing_grounding_tool opakowuje uziemienia za pomocą narzędzia wyszukiwania Bing. Samodzielnie tworzysz zasób Grounding with Bing Search i dodajesz go jako połączenie w projekcie Foundry, a następnie przekazujesz identyfikator połączenia.
bing = FoundryChatClient.get_bing_grounding_tool(
connection_id="/subscriptions/.../connections/my-bing",
market="en-US",
freshness="Day",
count=10,
)
Wyszukiwanie niestandardowe Bing
get_bing_custom_search_tool ogranicza odwołania do listy dozwolonych elementów zdefiniowanej w zasobie 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",
)
Wyszukiwanie AI platformy Azure
get_azure_ai_search_tool umożliwia agentowi wykonywanie zapytań o indeks Wyszukiwanie AI platformy Azure za pośrednictwem połączenia projektu 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 opiera odpowiedzi na zawartości SharePoint dostępnej za pośrednictwem połączenia Foundry SharePoint.
sharepoint = FoundryChatClient.get_sharepoint_tool(
connection_id="/subscriptions/.../connections/my-sharepoint",
)
Microsoft Fabric
get_fabric_tool łączy agenta z agentem danych Microsoft Fabric za pośrednictwem połączenia z usługą Foundry, aby agent mógł odpowiedzieć na pytania dotyczące danych Fabric.
fabric = FoundryChatClient.get_fabric_tool(
connection_id="/subscriptions/.../connections/my-fabric",
)
Wyszukiwanie pamięci
get_memory_search_tool umożliwia agentowi przeszukiwanie magazynu pamięci zarządzanego przez Foundry, opcjonalnie zawężonego do użytkownika lub dzierżawcy.
memory = FoundryChatClient.get_memory_search_tool(
memory_store_name="user-preferences",
scope="{{$userId}}",
)
Używanie komputera
get_computer_use_tool konfiguruje narzędzie podglądu Computer Use — model może obsługiwać środowisko pulpitu lub przeglądarki, wykonując działania myszy i klawiatury.
computer = FoundryChatClient.get_computer_use_tool(
environment="browser",
display_width=1280,
display_height=800,
)
Automatyzacja przeglądarki
get_browser_automation_tool łączy agenta z zasobem Azure Playwright Testing za pomocą połączenia Foundry. Agent może sterować prawdziwą przeglądarką za pomocą Playwright.
browser = FoundryChatClient.get_browser_automation_tool(
connection_id="/subscriptions/.../connections/my-playwright",
)
Komunikacja agentów (A2A)
get_a2a_tool udostępnia zdalnego agenta A2A jako narzędzie, tak aby agent Foundry mógł go wywołać. Podaj albo base_url (i opcjonalnie agent_card_path), albo project_connection_id dla zapisanego połączenia A2A.
a2a = FoundryChatClient.get_a2a_tool(
base_url="https://remote-agent.example.com",
agent_card_path="/.well-known/agent-card.json",
)
Aby uzyskać ogólne wskazówki dotyczące odnajdywania, sesji i przesyłania strumieniowego A2A, zobacz usługę agenta A2A.
Tworzenie osadzania za pomocą polecenia FoundryEmbeddingClient
Użyj FoundryEmbeddingClient, jeśli chcesz osadzić tekst lub obraz z punktu końcowego modeli Foundry.
from agent_framework.foundry import FoundryEmbeddingClient
async with FoundryEmbeddingClient() as client:
result = await client.get_embeddings(["hello from Agent Framework"])
print(result[0].dimensions)
Korzystanie z agenta
FoundryChatClientintegruje się ze standardowym środowiskiem PythonAgent, w tym wywoływaniem narzędzi, sesjami i odpowiedziami przesyłanymi strumieniowo. W przypadku lokalnych środowisk uruchomieniowych użyj oddzielnej strony dostawcy lokalnego programu Foundry.
Aby zapoznać się z nazwami, wersjonowanymi pakietami hostowanych konfiguracji narzędzi, zobacz Microsoft Foundry Toolbox.
Foundry w języku Go
Zestaw SDK języka Go udostępnia agentów Microsoft Foundry za pośrednictwem usługi github.com/microsoft/agent-framework-go/provider/foundryprovider.
Zobacz przykłady języka Foundry Go , aby zapoznać się z bezpośrednim wnioskowaniem, narzędziami funkcji, narzędziami hostowanymi, mcp i przykładami agenta serwera.
Pakiet obsługuje dwa obiekty docelowe agenta:
| Target | Kształt języka Go | Użyj, gdy |
|---|---|---|
| wdrażanie modelu wspieranego przez projekt | foundryprovider.ModelDeployment("gpt-4o-mini") |
Twoja aplikacja kontroluje instrukcje, narzędzia i przebieg rozmowy. |
| Istniejący agent usługi Foundry po stronie serwera | foundryprovider.ServerAgent("my-agent") |
Definicja agenta jest już skonfigurowana w narzędziu Foundry. |
Configuration
Ustaw punkt końcowy projektu Foundry i wdrożenie modelu:
FOUNDRY_PROJECT_ENDPOINT="https://<your-project>.services.ai.azure.com/api/projects/<project-id>"
FOUNDRY_MODEL="gpt-4o-mini"
Agent Foundry wspierany przez projekt
Użyj ModelDeployment, jeśli chcesz utworzyć w kodzie agenta Agent Framework i przekazać instrukcje, narzędzia, middleware oraz dostawców kontekstu z aplikacji napisanej w 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()
Istniejący agent usługi Foundry po stronie serwera
Użyj ServerAgent polecenia , jeśli chcesz wywołać agenta już skonfigurowanego w narzędziu Foundry. Agent po stronie serwera jest właścicielem swoich instrukcji i narzędzi, dlatego AgentConfig.Instructions jest ignorowany dla tego obiektu docelowego.
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
Agenci Foundry obsługiwani przez projekty obsługują standardowy interfejs narzędziowy platformy Go Agent Framework dla narzędzi lokalnych i obsługiwanych deklaracji narzędzi hostowanych.
| Narzędzie | Status | Notatki |
|---|---|---|
| Narzędzia funkcji | Supported | Funkcje są uruchamiane w procesie języka Go. |
| Zatwierdzanie narzędzi | Supported | Współpracuje z lokalnymi narzędziami funkcji za pośrednictwem pętli automatycznego wywoływania narzędzi. |
| Interpreter kodów | Supported | Użyj &hostedtool.CodeInterpreter{}. |
| Wyszukiwanie w Sieci Web | Supported | Użyj &hostedtool.WebSearch{}. |
| Lokalne narzędzia MCP | Supported | Użyj tool/mcptool polecenia , aby nawiązać połączenie z serwerem MCP i uwidocznić jego narzędzia lokalnie. |
| Hostowane narzędzia MCP | Obecnie brak dokumentacji dla Go Foundry | Użyj lokalnych narzędzi MCP, jeśli potrzebujesz serwerów MCP z agentami Go Foundry. |
| Przybornik Microsoft Foundry | Obecnie nie jest udostępnione przez funkcję pomocniczą Go. |
W przypadku lokalnych narzędzi funkcji dodaj wartości tool.Tool za pośrednictwem 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},
},
},
)
W przypadku wykonywania hostowanego kodu przekaż deklarację hostowanego narzędzia:
a := foundryprovider.NewAgent(
endpoint,
token,
foundryprovider.ModelDeployment(model),
foundryprovider.AgentConfig{
Instructions: "You solve problems with code.",
Config: agent.Config{
Tools: []tool.Tool{&hostedtool.CodeInterpreter{}},
},
},
)
Nagłówki klienta i serwowany model
Narzędzie Foundry akceptuje x-client-* nagłówki na przebieg. Dodaj je za pomocą polecenia foundryprovider.WithClientHeader lub foundryprovider.WithClientHeaders:
resp, err := a.RunText(
ctx,
"Hello!",
foundryprovider.WithClientHeader("x-client-scenario", "docs"),
).Collect()
Gdy Foundry zwraca nagłówek odpowiedzi x-ms-served-model, dostawca Go dodaje go jako ServedModel do dodatkowych właściwości odpowiedzi/aktualizacji.
if servedModel, ok := resp.AdditionalProperties["ServedModel"].(string); ok {
fmt.Println(servedModel)
}
Dostawca pamięci Foundry
Użyj foundryprovider.NewMemoryProvider, jeśli chcesz, aby agent Agent Framework przy każdym uruchomieniu pobierał dane z magazynu pamięci zarządzanego przez Foundry i go aktualizował.
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},
},
},
)
Punkt końcowy musi być punktem końcowym w zakresie projektu Microsoft Foundry, a magazyn pamięci musi już istnieć w tym projekcie. Funkcja zwrotna zakresu powinna zwracać stabilny klucz użytkownika, dzierżawcy lub partycji konwersacji.
Wskazówka
Zobacz przykład pamięci Foundry w języku Go, aby poznać kompletny działający przykład.
Bieżące luki języka Go
Obsługa języka Go nie obejmuje obecnie hostowanych interfejsów API wdrażania/cyklu życia/cyklu życia usługi Foundry, osadzania klientów ani pomocników specyficznych dla języka Go dla przybornika Microsoft Foundry. Użyj portalu Foundry lub zestawów SDK usługi do wykonywania tych operacji.