Wywoływanie funkcji za pomocą interfejsu Gemini API

Wywoływanie funkcji umożliwia łączenie modeli z zewnętrznymi narzędziami i interfejsami API. Zamiast generować odpowiedzi tekstowe, model określa, kiedy wywołać określone funkcje, i podaje niezbędne parametry do wykonywania działań w świecie rzeczywistym. Dzięki temu model może pełnić rolę łącznika między językiem naturalnym a działaniami i danymi w świecie rzeczywistym. Wywoływanie funkcji ma 3 główne zastosowania:

  • Wykonywanie działań: interakcja z systemami zewnętrznymi za pomocą interfejsów API, np. planowanie spotkań, tworzenie faktur, wysyłanie e-maili czy sterowanie urządzeniami inteligentnego domu.
  • Poszerzanie wiedzy: dostęp do informacji ze źródeł zewnętrznych, takich jak bazy danych, interfejsy API i bazy wiedzy.
  • Rozszerzanie możliwości: używanie narzędzi zewnętrznych do wykonywania obliczeń i rozszerzania ograniczeń modelu, np. korzystanie z kalkulatora lub tworzenie wykresów.

Przykłady tych zastosowań znajdziesz poniżej:

Zaplanuj spotkanie

Ten przykład pokazuje, jak zdefiniować funkcję, która planuje spotkanie z uczestnikami o określonej godzinie, umożliwiając modelowi analizowanie zapytań użytkowników i zwracanie uporządkowanych argumentów do wywoływania działań w systemach zewnętrznych.

Python

from google import genai

schedule_meeting_function = {
    "type": "function",
    "name": "schedule_meeting",
    "description": "Schedules a meeting with specified attendees at a given time and date.",
    "parameters": {
        "type": "object",
        "properties": {
            "attendees": {"type": "array", "items": {"type": "string"}},
            "date": {"type": "string", "description": "Date (e.g., '2024-07-29')"},
            "time": {"type": "string", "description": "Time (e.g., '15:00')"},
            "topic": {"type": "string", "description": "The meeting topic."},
        },
        "required": ["attendees", "date", "time", "topic"],
    },
}

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="Schedule a meeting with Bob and Alice for 03/14/2025 at 10:00 AM about Q3 planning.",
    tools=[{"type": "function", **schedule_meeting_function}],
)

for step in interaction.steps:
    if step.type == "function_call":
        print(f"Function to call: {step.name}")
        print(f"Arguments: {step.arguments}")

JavaScript

import { GoogleGenAI } from '@google/genai';

const client = new GoogleGenAI({});

const scheduleMeetingFunction =