https://github.com/timurkafff/telegram-bot-google-gemini-ai
Telegram bot created to use Google Gemini Ai
https://github.com/timurkafff/telegram-bot-google-gemini-ai
chatbot gemeni google google-api google-chat google-gemeni-api telegram-bot
Last synced: 6 months ago
JSON representation
Telegram bot created to use Google Gemini Ai
- Host: GitHub
- URL: https://github.com/timurkafff/telegram-bot-google-gemini-ai
- Owner: timurkafff
- Created: 2024-12-12T09:34:55.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-12-12T09:40:31.000Z (10 months ago)
- Last Synced: 2025-04-06T22:18:51.151Z (6 months ago)
- Topics: chatbot, gemeni, google, google-api, google-chat, google-gemeni-api, telegram-bot
- Language: JavaScript
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Telegram-бот на основе Google Gemini
Этот бот предоставляет доступ к возможностям Google Gemini прямо в Telegram. Он позволяет общаться с искусственным интеллектом, генерировать текст, анализировать изображения, документы и аудиофайлы.
## Возможности
- **Текстовые запросы:** Задавайте вопросы, генерируйте идеи, пишите тексты - всё, что может Gemini, доступно через текстовый чат.
- **Обработка изображений:** Отправляйте боту изображения и получайте их описание или ответы на вопросы, связанные с ними.
- **Обработка документов:** Загружайте документы в поддерживаемых форматах (текстовые файлы, PDF, изображения, CSV) и задавайте вопросы об их содержимом.
- **Обработка аудио:** Отправляйте голосовые сообщения, и бот проанализирует их содержание.
- **Потоковая генерация ответа:** Бот отвечает на сообщения по частям, что позволяет видеть результат генерации в реальном времени.
- **Автоматическая очистка истории:** История диалога автоматически очищается через 5 минут неактивности для экономии ресурсов и повышения производительности.## Используемые технологии
- **Google Gemini API:** Используется последняя версия модели `gemini-1.5-flash` для генерации текста и анализа данных.
- **Node.js:** Бот написан на языке JavaScript с использованием платформы Node.js.
- **Telegraf.js:** Библиотека для создания Telegram-ботов.
- **`@google/generative-ai`:** Официальный SDK от Google для работы с Gemini API.## Установка и запуск
1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/timurkaff/Telegram-bot-Google-Gemini-Ai.git
cd
```2. **Установите зависимости:**
```bash
npm install
```3. **Настройте переменные окружения:**
- Создайте файл `.env` в корневой директории проекта.
- Добавьте в него следующие переменные:```
API_KEY=<ваш API ключ Google Gemini>
BOT_TOKEN=<токен вашего Telegram бота>
ALLOWED_USER_ID=<ваш Telegram ID>
```- **`API_KEY`:** Ключ API для доступа к Google Gemini. Получить его можно на [странице Google AI Studio](https://makersuite.google.com/app/apikey).
- **`BOT_TOKEN`:** Токен Telegram-бота. Создать бота и получить токен можно с помощью [@BotFather](https://telegram.me/BotFather).
- **`ALLOWED_USER_ID`:** Ваш Telegram ID. Узнать его можно с помощью [@userinfobot](https://telegram.me/userinfobot). Бот будет отвечать только пользователю с этим ID.4. **Запустите бота:**
```bash
node index.js
```## Смена модели
Модель, используемая ботом, задаётся в файле `index.js` в строке:
```javascript
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
```Чтобы сменить модель, замените `"gemini-1.5-flash"` на название другой модели, например:
- `"gemini-pro"` - модель для текстовых задач.
- `"gemini-1.5-pro"` - более новая версия модели, чем `gemini-pro`**Важно:** Убедитесь, что выбранная модель поддерживает нужные вам функции. Например, `"gemini-pro"` не поддерживает работу с аудио. Актуальный список моделей и их возможностей можно найти в [документации Google AI](https://ai.google.dev/models/gemini).
Также можешь натсроить ответ модели для этого найди код
```javascript
const generationConfig = {
//настройки безопасности
safetySettings: [
{
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
threshold: HarmBlockThreshold.BLOCK_NONE,
},
{
category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
threshold: HarmBlockThreshold.BLOCK_NONE,
},
{
category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
threshold: HarmBlockThreshold.BLOCK_NONE,
},
{
category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
threshold: HarmBlockThreshold.BLOCK_NONE,
},
],
};
```
и замени `BLOCK_NONE` на `BLOCK_LOW_AND_ABOVE`, `BLOCK_MEDIUM_AND_ABOVE`## Ограничения
- **Бесплатный тариф:** В бесплатном тарифе Google Gemini API есть ограничения на количество запросов в минуту и в месяц.
- **Поддерживаемые форматы файлов:** Список поддерживаемых MIME-типов для документов можно найти в коде бота в переменной `supportedMimeTypes`.
- **Размер файлов:** Существуют ограничения на размер загружаемых файлов. Подробности можно найти в документации к Google Gemini API.