Funksiononi thirrjet me Gemini API, Funksiononi thirrjet me Gemini API

Thirrja e funksioneve ju lejon të lidhni modelet me mjete dhe API të jashtme. Në vend që të gjenerojë përgjigje me tekst, modeli përcakton se kur duhet të thirren funksione specifike dhe ofron parametrat e nevojshëm për të ekzekutuar veprime të botës reale. Kjo i lejon modelit të veprojë si një urë lidhëse midis gjuhës natyrore dhe veprimeve dhe të dhënave të botës reale. Thirrja e funksioneve ka 3 raste përdorimi kryesore:

  • Ndërmerrni Veprime: Ndërveproni me sisteme të jashtme duke përdorur API-të, të tilla si caktimi i takimeve, krijimi i faturave, dërgimi i email-eve ose kontrollimi i pajisjeve inteligjente të shtëpisë.
  • Rrit njohuritë: Qasje informacioni nga burime të jashtme si bazat e të dhënave, API-të dhe bazat e njohurive.
  • Zgjerimi i Aftësive: Përdorni mjete të jashtme për të kryer llogaritjet dhe për të zgjeruar kufizimet e modelit, siç është përdorimi i një kalkulatori ose krijimi i grafikëve.

Mund të shfletoni shembuj të këtyre rasteve të përdorimit më poshtë:

Caktoni një takim

Ky shembull tregon se si të përcaktohet një funksion që cakton një takim me pjesëmarrësit në një kohë specifike, duke i lejuar modelit të analizojë kërkesat e përdoruesve dhe të kthejë argumente të strukturuara për të shkaktuar veprime në sistemet e jashtme.

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.7-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 = {
  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'],
  },
};

const interaction = await client.interactions.create({
  model: 'gemini-3.7-flash',
  input: 'Schedule a meeting with Bob and Alice for 03/27/2025 at 10:00 AM about Q3 planning.',
  tools: [scheduleMeetingFunction],
});

for (const step of interaction.steps) {
  if (step.type === 'function_call') {
    console.log(`Function to call: ${step.name}`);
    console.log(`Arguments: ${JSON.stringify(step.arguments)}`);
  }
}

PUSHTIM

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3.7-flash",
    "input": "Schedule a meeting with Bob and Alice for 03/27/2025 at 10:00 AM about Q3 planning.",
    "tools": [{
        "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"},
            "time": {"type": "string"},
            "topic": {"type": "string"}
          },
          "required": ["attendees", "date", "time", "topic"]
        }
    }]
  }'

Merr Motin

Ky shembull tregon se si të përcaktohet një funksion që merr të dhëna për temperaturën për një vendndodhje, duke i mundësuar modelit të thërrasë API-të e jashtme për t'iu përgjigjur pyetjeve që kërkojnë informacion në kohë reale ose të jashtëm.

Python

from google import genai

weather_function = {
    "type": "function",
    "name": "get_current_temperature",
    "description": "Gets the current temperature for a given location.",
    "parameters": {
        "type": "object",