chatbot-template/lib/ai/tools/get-weather.ts
Jeremy 3f9d379a6a
refactor: use tool() and organize by file (#721)
Co-authored-by: Marcus Schiesser <mail@marcusschiesser.de>
2025-01-23 01:19:48 +05:30

18 lines
568 B
TypeScript

import { tool } from 'ai';
import { z } from 'zod';
export const getWeather = tool({
description: 'Get the current weather at a location',
parameters: z.object({
latitude: z.number(),
longitude: z.number(),
}),
execute: async ({ latitude, longitude }) => {
const response = await fetch(
`https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&current=temperature_2m&hourly=temperature_2m&daily=sunrise,sunset&timezone=auto`,
);
const weatherData = await response.json();
return weatherData;
},
});