WitMovil.El Blog de un DevOps
WitMovil.

Explorando la automatización, la tecnología móvil y la ingeniería de software eficiente.

Sistemas Operativos
Explorar
TechCodeAutomation
Nosotros
Acerca deContactoDonar
Conectar
Nuntius GitHub LinkedIn

© 2026 WitMovil

BY NUNTIUS.DEV

PrivacidadTérminosAnti-Spam

Hecho con Next.js & PocketBase

Volver al inicio

Instalación de Character AI en EasyPanel con Streamlit

Jeyson Orozco
Escrito porJeyson Orozco
Ko-fi
26 de octubre de 2024
General
Instalación de Character AI en EasyPanel con Streamlit

Character AI usando EasyPanel y Streamlit. Esta solución te permitirá ejecutar tu propia instancia de IA de conversación en un entorno controlado y accesible desde tu servidor. Vamos paso a paso . Sigue nuestros pasos detallados para habilitar un potente asistente de IA en tu servidor, lo que te permitirá construir aplicaciones interactivas y personalizadas.



Tabla de Contenido

Toggle
  • Requisitos
  • Agregar una aplicación a EasyPanel
  • Configuración de Docker Compose
  • Configuración de Dominio y Puertos:
    • Despliegue de Character AI en EasyPanel
  • Configuración de Character AI con Python
  • Crear archivo para la interfaz de usuario con Streamlit:
  • Instalación de Flask y PyCharacterAI:
    • Prueba de Character AI en EasyPanel
    • Consideraciones Finales
    • Preguntas de discusión:
    • Conclusiones:
    • Siguientes entradas en el blog:

Requisitos

Para este tutorial, necesitarás:
– Una cuenta de Character AI
– Un servidor con EasyPanel instalado
– Docker instalado en tu servidor

Agregar una aplicación a EasyPanel

– Inicia sesión en EasyPanel y haz clic en “Agregar Aplicación”

Paso 1
— Captura de pantalla 01 —

– Selecciona Compose y escribe un nombre para tu servicio (por ejemplo, “character_ai”)

Paso 2
— Captura de pantalla 02 —
Paso 3
— Captura de pantalla 03 —

Configuración de Docker Compose

– En el campo Source, pega el siguiente código:

Code
services: gpt_api: container_name: gpt_apis image: atorber/gpt4free:latest ports: - "2000:2000" restart: always volumes: - ./run:/usr/src/app/run cap_add: - "SYS_ADMIN" environment: - TZ=America/Bogota networks: - easypanel-pruebas networks: easypanel-pruebas: external: true

Guarda los cambios (Save). Al hacerlo, es probable que aparezca un error indicando que hay problemas con la configuración de Docker Compose; este error suele relacionarse con el puerto, pero no es un inconveniente importante, puedes cambiarlo así – “2100:2100”.

Configuración de Dominio y Puertos:

  • Ve a la sección de “Domains” en EasyPanel y agrega los puertos 5000 y 8501 al mismo servicio y servidor.
  • Puedes añadir un dominio personalizado si ya tienes uno configurado y redirigido a tu servidor.
Paso 4
— Captura de pantalla 04 —

Para asegurar que el servicio esté en la red correcta, ejecuta el siguiente comando en tu terminal:

Code
docker network ls

Asegúrate de seleccionar la red correspondiente al servicio creado. Por ejemplo, usa la red easypanel-servicios si aparece listada debe ser la de tu servicio. en Docker Compose Service. debes seleccionar el que te aparezca ahí en mi caso gpt_api que fue el nombre que use en container name.

Recordatorio: debes elegir la red que corresponde a tu servicio cuando añadiste un servicio te salió el nombre donde verlo, parte izquierda nombre servicio / nombre de tu app COMPOSE

Paso 5
— Captura de pantalla 05 —

Despliegue de Character AI en EasyPanel

  • Una vez configurado, haz clic en el botón Deploy. Si todo está bien, debería aparecer el mensaje: Done 2 seconds / less than a minute ago
  • Una vez finalizado el despliegue, abre la consola Bash del servicio para los siguientes pasos.

Configuración de Character AI con Python

Si no tienes instalado nano, puedes instalarlo con este comando

Code
apk add nano
Code
apt update -y && apt upgrade - y
Code
apt install nano
Paso 6
— Captura de pantalla 06 —

Para obtener un token siga este video: https://www.youtube.com/watch?v=Wc97QvH_MNQ

Si ya tenemos el token, abrimos el archivo

Code
nano ia.py
Code
import asyncio from flask import Flask, request, jsonify from PyCharacterAI import Client app = Flask(__name__) token = 'su token' # Reemplaza con tu token de Character AI def authenticate_client(): client = Client() asyncio.run(client.authenticate_with_token(token)) return client @app.route('/chat', methods=['POST']) def chat(): try: data = request.get_json(force=True) if not data: return jsonify({"error": "Invalid JSON"}), 400 character_id = data.get('character_id') message = data.get('message') if not character_id or not message: return jsonify({"error": "character_id and message are required"}), 400 client = authenticate_client() chat = asyncio.run(client.create_or_continue_chat(character_id)) answer = asyncio.run(chat.send_message(message)) return jsonify({ 'name': answer.src_character_name, 'text': answer.text }) except Exception as e: return jsonify({"error": str(e)}), 500 if __name__ == '__main__': app.run(debug=True, host='0.0.0.0')

Guarda los cambios usando CTRL + X, luego presiona Y y Enter para confirmar

Crear archivo para la interfaz de usuario con Streamlit:

En la consola, crea y edita el archivo streamlit_app.py. Elimina el contenido actual y pega el siguiente código:

Code
import streamlit as st import requests flask_api_url = 'http://localhost:5000/chat' def get_answer_from_flask(character_id, message): try: response = requests.post( flask_api_url, json={"character_id": character_id, "message": message} ) if response.status_code == 200: return response.json().get('text') else: return f"Error: {response.status_code} - {response.json().get('error')}" except Exception as e: return f"Error: {str(e)}" st.header('ChatGPT Gratis GUI via Flask') # Input de usuario para Character ID y mensaje character_id = st.text_input('Character ID:', 'eFF8HAxAEVRyZ8SQPNg5Mrl26EdecfekXyJ6NxZQJxM') question = st.text_area('Pregunta lo que quieras:') if st.button('Preguntar'): answer = get_answer_from_flask(character_id, question) st.markdown(f"**Respuesta:** {answer}")

Guarda el archivo y vuelve a salir de nano con CTRL + X, Y y Enter.

Instalación de Flask y PyCharacterAI:

  • Instala las dependencias necesarias para Flask y PyCharacterAI:
Code
pip install flask
Code
pip install PyCharacterAI
Code
python ia.py

Al ejecutar python ia.py, deberías ver un mensaje confirmando que la aplicación Flask se está ejecutando.

Prueba de Character AI en EasyPanel

Ahora puedes acceder a tu servidor usar la web con interfaz o realizar solicitudes HTTP POST hacia tu API de IA.

Paso 7
— Captura de pantalla 07 —
  • URL de ejemplo: POST https://sud.dominio/chat
  • Headers:
    • Content-Type: application/json
  • Body:
    • "character_id": "tu_character_id"
    • "message": "tu_pregunta"

Usar la web: https://streamly.streamlit.app/


Consideraciones Finales

Este servicio consumirá aproximadamente 242.4 MB de RAM por cada cliente conectado.

Preguntas de discusión:

  • ¿Has utilizado Character AI antes? ¿Cómo ha sido tu experiencia?
  • ¿En qué casos de uso ves potencial para integrar Character AI en aplicaciones?
  • ¿Tienes alguna sugerencia para mejorar este tutorial?

Conclusiones:

Con esta guía, has aprendido a instalar e integrar Character AI en tu servidor con EasyPanel y Streamlit. Ahora puedes aprovechar el poder de la IA conversacional para crear aplicaciones interactivas y personalizadas que transformarán la experiencia del usuario.

Siguientes entradas en el blog:

  • Explorar aplicaciones avanzadas de Character AI
  • Optimizar el rendimiento de las aplicaciones integradas con Character AI
  • Casos de estudio de empresas que utilizan Character AI

Keywords: Character AI, EasyPanel, Streamlit, Docker Compose