Curso-lenguaje-python/catch-all/06_bots_telegram/09_ollama_bot/README.md
2024-08-18 20:16:34 +02:00

5.3 KiB

馃 Ollama Telegram Bot

Repo original: https://github.com/ruecat/ollama-telegram/tree/main

Prerrequisitos

Instalaci贸n (Sin Docker)

  • Instala la 煤ltima versi贸n de Python

  • Clona el repositorio

    git clone https://github.com/ruecat/ollama-telegram
    
  • Instala los requisitos desde requirements.txt

    pip install -r requirements.txt
    
  • Ingresa todos los valores en .env.example

  • Renombra .env.example a .env

  • Inicia el bot

    python3 run.py
    

Instalaci贸n (Imagen Docker)

La imagen oficial est谩 disponible en dockerhub: ruecat/ollama-telegram

  • Descarga el archivo .env.example, ren贸mbralo a .env y completa las variables.

  • Crea un archivo docker-compose.yml (opcional: descomenta la parte de GPU en el archivo para habilitar la GPU de Nvidia)

    version: '3.8'
    services:
      ollama-telegram:
        image: ruecat/ollama-telegram
        container_name: ollama-telegram
        restart: on-failure
        env_file:
          - ./.env
    
      ollama-server:
        image: ollama/ollama:latest
        container_name: ollama-server
        volumes:
          - ./ollama:/root/.ollama
    
        # Descomenta para habilitar la GPU de NVIDIA
        # De lo contrario, se ejecuta solo en la CPU:
    
        # deploy:
        #   resources:
        #     reservations:
        #       devices:
        #         - driver: nvidia
        #           count: all
        #           capabilities: [gpu]
    
        restart: always
        ports:
          - '11434:11434'
    
  • Inicia los contenedores

    docker compose up -d
    

Instalaci贸n (Construye tu propia imagen Docker)

  • Clona el repositorio

    git clone https://github.com/ruecat/ollama-telegram
    
  • Ingresa todos los valores en .env.example

  • Renombra .env.example a .env

  • Ejecuta UNO de los siguientes comandos de docker compose para iniciar:

    1. Para ejecutar ollama en un contenedor de docker (opcional: descomenta la parte de GPU en el archivo docker-compose.yml para habilitar la GPU de Nvidia)

      docker compose up --build -d
      
    2. Para ejecutar ollama desde una instancia instalada localmente (principalmente para MacOS, ya que la imagen de docker a煤n no soporta la aceleraci贸n de GPU de Apple):

      docker compose up --build -d ollama-telegram
      

Configuraci贸n del Entorno

Par谩metro Descripci贸n 驴Requerido? Valor por Defecto Ejemplo
TOKEN Tu token de bot de Telegram.
[驴C贸mo obtener el token?]
S铆 yourtoken MTA0M****.GY5L5F.****g*****5k
ADMIN_IDS IDs de usuarios de Telegram de los administradores.
Pueden cambiar el modelo y controlar el bot.
S铆 1234567890
O
1234567890,0987654321, etc.
USER_IDS IDs de usuarios de Telegram de los usuarios regulares.
Solo pueden chatear con el bot.
S铆 1234567890
O
1234567890,0987654321, etc.
INITMODEL LLM predeterminado No llama2 mistral:latest
mistral:7b-instruct
OLLAMA_BASE_URL Tu URL de OllamaAPI No localhost
host.docker.internal
OLLAMA_PORT Tu puerto de OllamaAPI No 11434
TIMEOUT El tiempo de espera en segundos para generar respuestas No 3000
ALLOW_ALL_USERS_IN_GROUPS Permite que todos los usuarios en chats grupales interact煤en con el bot sin agregarlos a la lista USER_IDS No 0

Cr茅ditos

Librer铆as utilizadas