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.
Google Gemini może wspierać agenta platformy agentów za pomocą interfejsu API dewelopera Gemini lub wierzchołka sztucznej inteligencji. Klient specyficzny dla dostawcy obsługuje opcje uwierzytelniania i żądania Gemini, podczas gdy struktura agenta jest właścicielem definicji i aranżacji agenta.
Ważna
Google Gemini i Vertex AI to systemy innych firm. Przed wysłaniem danych zapoznaj się z warunkami usług, obsługą danych, granicami regionalnymi, dostępem do modelu i kosztami użycia.
Instalowanie Gemini IChatClient
W przykładzie .NET pokazano oficjalnego klienta Google GenAI i implementacji społecznościMscc.GenerativeAI.Microsoft.
dotnet add package Google.GenAI
dotnet add package Mscc.GenerativeAI.Microsoft
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
GOOGLE_GENAI_API_KEY="<google-ai-studio-api-key>"
GOOGLE_GENAI_MODEL="gemini-2.5-flash"
const string JokerInstructions = "You are good at telling jokes.";
const string JokerName = "JokerAgent";
string apiKey = Environment.GetEnvironmentVariable("GOOGLE_GENAI_API_KEY") ?? throw new InvalidOperationException("Please set the GOOGLE_GENAI_API_KEY environment variable.");
string model = Environment.GetEnvironmentVariable("GOOGLE_GENAI_MODEL") ?? "gemini-2.5-flash";
// Using a Google GenAI IChatClient implementation
ChatClientAgent agentGenAI = new(
new Client(vertexAI: false, apiKey: apiKey).AsIChatClient(model),
name: JokerName,
instructions: JokerInstructions);
AgentResponse response = await agentGenAI.RunAsync("Tell me a joke about a pirate.");
Console.WriteLine($"Google GenAI client based agent response:\n{response}");
// Using a community driven Mscc.GenerativeAI.Microsoft package
ChatClientAgent agentCommunity = new(
new GeminiChatClient(apiKey: apiKey, model: model),
name: JokerName,
instructions: JokerInstructions);
response = await agentCommunity.RunAsync("Tell me a joke about a pirate.");
Console.WriteLine($"Community client based agent response:\n{response}");
Wybierz jedną implementację IChatClient i skonfiguruj interfejs API dewelopera Gemini lub uwierzytelnianie sztucznej inteligencji wierzchołków.
Instalowanie pakietu
pip install agent-framework-gemini --pre
Configuration
Użyj dowolnego interfejsu API dewelopera Gemini:
GEMINI_API_KEY="<api-key>"
GEMINI_MODEL="gemini-2.5-flash"
# GOOGLE_API_KEY and GOOGLE_MODEL are also supported.
Możesz też skonfigurować sztuczną inteligencję wierzchołków:
GOOGLE_GENAI_USE_VERTEXAI="true"
GOOGLE_CLOUD_PROJECT="<project-id>"
GOOGLE_CLOUD_LOCATION="us-central1"
GOOGLE_MODEL="gemini-2.5-flash"
GeminiChatClient Obsługuje przesyłanie strumieniowe, narzędzia funkcji, dane wyjściowe ze strukturą, rozszerzone myślenie i narzędzia hostowane przez dostawcę.
async def non_streaming_example() -> None:
"""Runs the agent and waits for the complete response before printing it."""
print("=== Non-streaming ===")
# 1. Create the agent with the Gemini chat client and local weather tool.
agent = Agent(
client=GeminiChatClient(),
name="WeatherAgent",
instructions="You are a helpful weather agent.",
tools=[get_weather],
)
# 2. Ask the agent for a single weather lookup and print the final response.
query = "What's the weather like in Karlsruhe, Germany?"
print(f"User: {query}")
result = await agent.run(query)
print(f"Result: {result}\n")
async def streaming_example() -> None:
"""Runs the agent and prints each chunk as it is received."""
print("=== Streaming ===")
# 1. Create the same agent configuration for a streaming tool-call example.
agent = Agent(
client=GeminiChatClient(),
name="WeatherAgent",
instructions="You are a helpful weather agent.",
tools=[get_weather],
)
# 2. Ask a multi-location question and stream the model output as it arrives.
query = "What's the weather like in Portland and in Paris?"
print(f"User: {query}")
print("Agent: ", end="", flush=True)
async for chunk in agent.run(query, stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print("\n")
Pakiet zawiera fabryki do obsługi uziemienia google search, uziemienia map Google, wykonywania kodu, wyszukiwania plików i MCP.
Wyszukiwanie Google uziemienia
import asyncio
from agent_framework import Agent
from agent_framework.gemini import GeminiChatClient
from dotenv import load_dotenv
load_dotenv()
async def main() -> None:
"""Run the Google Search grounding example."""
print("=== Google Search grounding ===")
# 1. Create the agent with Gemini and the built-in Google Search grounding tool.
agent = Agent(
client=GeminiChatClient(),
name="SearchAgent",
instructions="You are a helpful assistant. Use Google Search to provide accurate, up-to-date answers.",
tools=[GeminiChatClient.get_web_search_tool()],
)
# 2. Ask a current-events style question and stream the grounded answer.
query = "What is the latest stable release of the .NET SDK?"
print(f"User: {query}")
print("Agent: ", end="", flush=True)
async for chunk in agent.run(query, stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print("\n")
if __name__ == "__main__":
asyncio.run(main())
Zestaw GO SDK zapewnia geminiprovider wnioskowanie Gemini. Utwórz standard *agent.Agent za pomocą konstruktora specyficznego dla dostawcy.
Zobacz pakiet dostawcy Gemini i przykłady.
Tools
| Narzędzie | C# | Python | Go | Notatki |
|---|---|---|---|---|
| Narzędzia funkcji | ✅ | ✅ | ✅ | Wywoływanie funkcji modelu w warstwie Standardowa. |
| Zatwierdzanie narzędzi | ✅ | ✅ | ✅ | Zastosowane przez pętlę narzędzi platformy. |
| Interpreter kodów | ❌ | ✅ | ❌ |
GeminiChatClient.get_code_interpreter_tool(). |
| Wyszukiwanie plików | ❌ | ✅ | ❌ |
GeminiChatClient.get_file_search_tool(). |
| Wyszukiwanie w Sieci Web | ❌ | ✅ | ❌ | Wyszukiwanie Google uziemienie przez get_web_search_tool(). |
| Uziemienia mapy Google | ❌ | ✅ | ❌ |
GeminiChatClient.get_maps_grounding_tool(). |
| Hostowane narzędzia MCP | ❌ | ✅ | ❌ |
GeminiChatClient.get_mcp_tool(). |
| Lokalne narzędzia MCP | ✅ | ✅ | ✅ | Uruchamia się w procesie aplikacji. |