Hiroshi es un chatbot de Telegram basado en GPT4Free que ofrece acceso 100% gratuito para interactuar con los modelos de lenguaje GPT-3.5, GPT-4 y Llama2, incluidos Bing, You, AI Chat y más. Los usuarios tienen la libertad de seleccionar su modelo preferido o proveedor específico. Tenga en cuenta que la velocidad/estabilidad puede verse ligeramente disminuida cuando se trabaja con ciertos proveedores. El contexto de la conversación se conserva por completo cuando cambia entre modelos y proveedores.
Nota: Este bot proporciona acceso a servicios públicos gratuitos. La calidad y velocidad de dichos servicios pueden variar según las diversas condiciones y su carga actual. Si necesita un bot que utilice la API oficial de OpenAI y tiene una CLAVE API, consulte el siguiente repositorio: https://github.com/s-nagaev/chibi.
¡Seguro! @hiroshi_gpt_bot
La aplicación no requiere ningún recurso. Funciona perfectamente en la Raspberry Pi 4 mínima y en la instancia AWS EC2 t4g.nano
más barata (2 núcleos arm64, 512 MB de RAM), y al mismo tiempo puede atender a muchas personas simultáneamente.
Extraiga la imagen de Hiroshi Docker:
docker pull pysergio/hiroshi:latest
Ejecute el contenedor Docker con las variables de entorno necesarias:
docker run -d
-e TELEGRAM_BOT_TOKEN= < your_telegram_token >
-v < path_to_local_data_directory > :/app/data
--name hiroshi
pysergio/hiroshi:latest
Reemplace
y
con los valores apropiados.
Cree un archivo docker-compose.yml
con el siguiente contenido:
version : ' 3 '
services :
hiroshi :
restart : unless-stopped
image : pysergio/hiroshi:latest
environment :
TELEGRAM_BOT_TOKEN :
volumes :
- hiroshi_data:/app/data
volumes :
hiroshi_data :
Reemplace
con los valores apropiados.
Ejecute el contenedor Docker:
docker-compose up -d
Visite el directorio de ejemplos del repositorio actual para obtener más ejemplos.
Puede configurar Hiroshi utilizando las siguientes variables de entorno:
Variable | Descripción | Requerido | Valor predeterminado |
---|---|---|---|
TELEGRAM_BOT_TOKEN | Tu token de bot de Telegram | Sí | |
ALLOW_BOTS | Permitir que otros robots interactúen con Hiroshi | No | FALSO |
ANSWER_DIRECT_MESSAGES_ONLY | Si es Verdadero, el bot en los chats grupales responderá solo a los mensajes que contengan su nombre (consulte la configuración BOT_NAME ) | No | verdadero |
ASISTENTE_PROMPT | Aviso inicial del asistente para el cliente OpenAI | No | "Eres un asistente servicial y amigable. Tu nombre es Hiroshi" |
BOT_NOMBRE | Nombre del bot | No | "Hiroshi" |
GRUPO_ADMINS | Lista de nombres de usuario separados por comas, es decir "@YourName,@YourFriendName,@YourCatName" , que deben tener permisos exclusivos para configurar el proveedor y borrar el historial de diálogos en los chats grupales. | No | |
GRUPOS_LISTA BLANCA | Lista separada por comas de ID de grupos incluidos en la lista blanca, es decir "-799999999,-788888888" | No | |
LOG_PROMPT_DATA | Registre las indicaciones del usuario y las respuestas GPT para fines de depuración. | No | FALSO |
MAX_CONVERSATION_AGE_MINUTES | Edad máxima de las conversaciones (en minutos) | No | 60 |
MAX_HISTORY_TOKENS | Número máximo de tokens en el historial de conversaciones | No | 1800 |
MESSAGE_FOR_DISALLOWED_USERS | Mensaje para mostrar usuarios no permitidos | No | "No tienes permitido interactuar conmigo, lo siento. Contacta a mi dueño primero, por favor". |
APODERADO | Configuración de proxy para su aplicación | No | |
REDIS | Cadena de conexión de Redis, es decir, "redis://localhost" | No | |
REDIS_CONTRASEÑA | Contraseña de Redis (opcional) | No | |
REINTENTOS | El número de solicitudes de reintento al proveedor en caso de una respuesta fallida. | No | 2 |
MOSTRAR_ACERCA DE | Simplemente configúrelo en false , si por alguna razón desea ocultar el comando /about | No | verdadero |
SE ACABÓ EL TIEMPO | Tiempo de espera (en segundos) para procesar solicitudes | No | 60 |
USUARIOS_LISTA BLANCA | Lista separada por comas de nombres de usuario incluidos en la lista blanca, es decir "@YourName,@YourFriendName,@YourCatName" | No | |
MONITOREO_URL | Activa la funcionalidad de monitoreo y envía una solicitud GET a esta URL cada MONITORING_FREQUENCY_CALL segundos. | No | |
MONITOREO_FRECUENCIA_LLAMADA | Si la funcionalidad de monitoreo está activa, envía una solicitud GET a MONITORING_URL cada MONITORING_FREQUENCY_CALL segundos. | No | 300 |
MONITOREO_RETRY_LLAMADAS | Registra la respuesta de error solo después de que MONITORING_RETRY_CALLS lo intenta. | No | 3 |
MONITOREO_PROXY | URL del proxy de seguimiento. | No |
Visite el directorio de ejemplos para ver el ejemplo del archivo .env
.
Usamos SemVer para el control de versiones. Para conocer las versiones disponibles, consulte las etiquetas en este repositorio.
Este proyecto tiene la licencia MIT; consulte el archivo LICENSE.md para obtener más detalles.