Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucasliet/llm-telegram-bot
Telegram bot to chat with Google's Gemini
https://github.com/lucasliet/llm-telegram-bot
Last synced: about 18 hours ago
JSON representation
Telegram bot to chat with Google's Gemini
- Host: GitHub
- URL: https://github.com/lucasliet/llm-telegram-bot
- Owner: lucasliet
- Created: 2024-06-02T18:52:17.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-12-28T11:23:09.000Z (13 days ago)
- Last Synced: 2024-12-28T12:21:39.093Z (13 days ago)
- Language: TypeScript
- Homepage: https://llm-telegram-bot.deno.dev/
- Size: 88.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Instruções
acesse o bot via telegram [@llm_gemini_bot](https://t.me/llm_gemini_bot)
a primeira mensagem que deve ser enviada ao boot após o /start é a sua chave de API do Gemini, no formato `key:`
> ℹ️ na data de hoje o Gemini possui free tier para acesso gratuito de sua API com limitação de uso diário ref: https://ai.google.dev/pricing?hl=pt-brpor ora esse bot utiliza somente o modelo `gemini-1.5-flash` que é o mais barato dos disponiveis.
esse modelo pode trabalhar com interpretação de imagens e texto, e esse projeto suporta issoum histórico da conversa é mantido para mensagens encadiadas, porém com expiração de 1 dia após a ultima mensagem, também pode ser apagado manualmente com o commando `/clear`
esse projeto utiliza o [Deno deploy](https://deno.com/deploy) e [Deno kv](https://deno.com/kv) para hosting da aplicação e armazenamento persistente de chaves
## Uso Local
- para execução da aplicação localmente é necessário ter o [Deno](https://deno.land/) instalado, e o token provisionado pelo [@BotFather](https://t.me/BotFather) na criação do bot no telegram configurado na variavel ambiente `BOT_TOKEN`
```bash
BOT_TOKEN= deno run --allow-env --allow-net --allow-read --unstable main.ts
```
opcionalmente pode-se usar o `denon` para facilitar o desenvolvimento com live-reload
- install
```bash
deno install -qAf --unstable https://deno.land/x/denon/denon.ts
```
- run
```bash
BOT_TOKEN= deno run --allow-env --allow-net --allow-read --unstable main.ts
```
- substituia a ultima linha do arquivo [main.ts](./main.ts) para rodar localmente
```ts
APP.listen({ port: PORT });
```
para
```ts
Promise.all([APP.listen({ port: PORT }), BOT.start()]);
```