Построение сервиса погоды с помощью Genkit и искусственного интеллекта

Обзор

Этот проект демонстрирует, как создать сервис погоды с использованием искусственного интеллекта с помощью Genkit, TypeScript, OpenWeatherAPI и моделей GitHub. Приложение демонстрирует современные шаблоны Node.js и методики интеграции искусственного интеллекта.

Предварительные требования

Прежде чем начать, убедитесь, что у вас есть следующее:

  1. Установленный Node.js на вашем компьютере
  2. Учетная запись GitHub и токен доступа для API GitHub
  3. Ключ OpenWeatherAPI для получения данных о погоде
  4. Установленный CLI Genkit на вашем компьютере

Техническое погружение

Настройка ИИ

Основная настройка ИИ инициализируется с помощью интеграции плагина Genkit и GitHub. В этом случае мы собираемся использовать модель OpenAI GPT-3:

TypeScript

 

Реализация инструмента погоды

Приложение определяет пользовательский инструмент погоды с использованием проверки схемы Zod:

TypeScript

 

Определение потока ИИ

Сервис предоставляет поток ИИ, обрабатывающий запросы о погоде:

TypeScript

 

Настройка сервера Express

Приложение использует плагин Genkit Express для создания сервера API:

TypeScript

 

Полный код

Полный код для сервиса погоды выглядит следующим образом:

TypeScript

 

Установка и разработка

1. Установите зависимости:

Shell

 

2. Настройте переменные среды:

Shell

 

3. Запустите сервер разработки:

Shell

 

4. Чтобы запустить проект в режиме отладки и установить точки останова, вы можете выполнить:

Shell

 

Затем запустите отладчик в вашей среде разработки. Смотрите файл .vscode/launch.json для конфигурации.

5. Если вы хотите построить проект, вы можете выполнить:

Shell

 

6. Запустите проект в режиме продакшн:

Shell

 

Зависимости

Основные зависимости

  • genkit: ^1.0.5
  • @genkit-ai/express: ^1.0.5
  • openweather-api-node: ^3.1.5
  • genkitx-github: ^1.13.1
  • dotenv: ^16.4.7

Зависимости разработки

  • tsx: ^4.19.2
  • typescript: ^5.7.2

Конфигурация проекта

  • Использует ES модули ("type": "module")
  • Типизация TypeScript с разрешением модуля NodeNext
  • Директория вывода: lib
  • Полная поддержка TypeScript с определениями типов

Лицензия

Apache 2.0

Ресурсы

Заключение

Этот проект демонстрирует, как создать сервис погоды с использованием Genkit в Node.js с интеграцией искусственного интеллекта. Приложение показывает современные шаблоны Node.js и техники интеграции искусственного интеллекта.

Вы можете найти полный код этого примера в репозитории GitHub.

Приятного кодинга!

Source:
https://dzone.com/articles/building-weather-service-genkit-ai