Sistema de chat integrado con Google Gemini AI, desarrollado con Django.
- ✅ Chat en tiempo real con Gemini AI
- ✅ Historial de conversaciones guardado en base de datos
- ✅ Interfaz moderna y responsive
- ✅ Panel de administración Django
- ✅ API REST para integración
- Python 3.8+
- Django 5.0+
- Cuenta de Google con acceso a Gemini API
git clone <tu-repositorio>
cd iapython -m venv venv
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activatepip install -r requirements.txt- Obtén tu API Key en: https://aistudio.google.com/app/apikey
- Configura la variable de entorno:
# Windows PowerShell:
$env:GEMINI_API_KEY="tu_api_key_aqui"
# Linux/Mac:
export GEMINI_API_KEY="tu_api_key_aqui"- Copia
credentials.example.jsonacredentials.json - Reemplaza con tus credenciales reales de Google Cloud
- Habilita Vertex AI API en tu proyecto de Google Cloud
python manage.py makemigrations
python manage.py migratepython manage.py createsuperuserpython manage.py runserver 9999O usa el script de inicio:
# Windows:
.\iniciar_chat.bat- Chat: http://127.0.0.1:9999/
- Admin: http://127.0.0.1:9999/admin/
ia/
├── Damasco/ # Configuración principal de Django
│ ├── settings.py # Configuración del proyecto
│ └── urls.py # URLs principales
├── main/ # App principal del chat
│ ├── models.py # Modelo ChatMessage
│ ├── views.py # Vistas y lógica de Gemini
│ ├── admin.py # Configuración del admin
│ └── urls.py # URLs de la app
├── templates/ # Templates HTML
│ └── chat.html # Interfaz del chat
├── static/ # Archivos estáticos (CSS, JS, imágenes)
├── credentials.example.json # Ejemplo de credenciales
├── requirements.txt # Dependencias Python
└── manage.py # Script de gestión de Django
| Variable | Descripción | Requerida |
|---|---|---|
GEMINI_API_KEY |
API Key de Google Gemini | Sí (si no usas service account) |
| Método | Endpoint | Descripción |
|---|---|---|
| GET | / |
Interfaz del chat |
| POST | /send/ |
Enviar mensaje a Gemini |
| POST | /clear/ |
Limpiar historial del chat |
IMPORTANTE: Antes de subir a GitHub:
- ✅ Nunca subas archivos con credenciales reales
- ✅ Usa
.gitignorepara excluir archivos sensibles - ✅ Las credenciales deben estar en
credentials.json(ignorado por git) - ✅ Usa variables de entorno para datos sensibles
Archivos que NUNCA deben subirse:
credentials.jsonsap-b1-ai-integration-*.json.envdb.sqlite3(base de datos local)
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/NuevaCaracteristica) - Commit tus cambios (
git commit -m 'Agrega nueva característica') - Push a la rama (
git push origin feature/NuevaCaracteristica) - Abre un Pull Request
Este proyecto es de código abierto y está disponible bajo la licencia MIT.
Si tienes problemas:
- Revisa que tu API Key esté correctamente configurada
- Verifica que las dependencias estén instaladas:
pip install -r requirements.txt - Asegúrate de haber ejecutado las migraciones:
python manage.py migrate
- Google Gemini AI por la API
- Django Framework
- Comunidad de código abierto
Desarrollado con ❤️ usando Django y Gemini AI