Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 180 additions & 0 deletions README.es-ES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@


<h1 align="center">🔮 Potion</h1>

> [!NOTE]
>
> Potion es una plataforma de toma de notas impulsada por IA que transforma tus pensamientos en conocimiento inteligente y buscable. Aprovechando las avanzadas capacidades de IA de MindsDB, Potion permite búsqueda semántica, resúmenes generados por IA y asistencia de chat inteligente para que tus notas sean realmente inteligentes.

## 🎬 Presentación del Proyecto

| Video de demostración | Publicación en el blog |
| ---------------- | ------------- |
| [![Video](https://i.ytimg.com/vi/W2UIFzpttEE/hqdefault.jpg)](https://youtu.be/W2UIFzpttEE?si=zrNJWTBrltqWLQ4z) | [![Publicación en el blog](https://media2.dev.to/dynamic/image/width=480,height=320,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1751251734456%2F1751decc-ce67-4d2b-a80f-b6b145f451e8.png)](https://dev.to/abhinav-writes/meet-potion-your-smart-note-taking-companion-3bb8) |

## 🌟 Características

> **Potion** transforma tu experiencia de toma de notas con:

- 🔍 **Búsqueda impulsada por IA** – Encuentra notas usando consultas en lenguaje natural con comprensión semántica y clasificación por relevancia
- 📝 **Resúmenes inteligentes** – Genera instantáneamente resúmenes concisos con IA de cualquier nota para extraer ideas clave
- 💬 **Chat inteligente** – Conversa con tu asistente de IA sobre tus notas y recibe respuestas contextualizadas
- 🏷️ **Categorías organizadas** – Ordena fácilmente las notas en categorías (Clase, Reunión, Personal, Investigación, Ideas)
- ⚡ **Sincronización en tiempo real** – Trabaja sin problemas con persistencia en localStorage y sincronización en la nube de MindsDB
- 🎨 **Interfaz moderna** – Disfruta de un diseño de notas adhesivas moderno con animaciones fluidas y diseño responsivo

## 💻 Instalación

### Requisitos previos

- Node.js (v18+)
- npm o yarn
- Docker Desktop (para MindsDB)

### Configuración rápida

1. **Clonar el repositorio**

```bash
git clone https://github.com/abhinavthedev/potion.git
cd potion
```

2. **Iniciar MindsDB**

```bash
# Iniciar el contenedor de MindsDB
docker-compose up -d

# Consola de MindsDB: http://127.0.0.1:47334
```

3. **Configurar claves API**

- Crea un archivo `.env` a partir de `.env.sample` con lo siguiente:

```
# Configuración de Azure OpenAI
api_key=your_azure_openai_api_key
api_base_url=https://your-resource-name.openai.azure.com
embed_api_key=your_azure_embedding_api_key
embed_api_base_url=https://your-embedding-resource.openai.azure.com

# API de Google Cloud
GOOGLE_API_KEY=your_google_api_key

# Configuración de MindsDB
MindsDB_URL=http://127.0.0.1:47334
```

> [!TIP]
> Obtén las claves API en [Azure OpenAI](https://ai.azure.com/) (despliega los modelos GPT-4 y text-embedding-3-small) y [Google AI Studio](https://aistudio.google.com/app/apikey)

4. **Instalar y ejecutar**

```bash
npm install
npm run dev

# Acceder en: http://localhost:3000
```

5. **Inicializar funciones de IA**
- Crea tus primeras notas
- Haz clic en el botón "Initiate AI Magic"
- Comienza a buscar y chatear con tus notas

## 🛠️ Tecnologías utilizadas

| Categoría | Tecnologías |
|----------|--------------|
| **Frontend** | Vanilla JavaScript, CSS3, HTML5 |
| **Backend** | Node.js, Express.js |
| **IA y ML** | MindsDB, Azure OpenAI (GPT-4 & Embeddings), Google Gemini, ChromaDB |
| **Infraestructura** | Docker |

## 🚀 Uso

### Crear notas
1. Haz clic en el botón **Add Note**
2. Introduce el título, selecciona la categoría y escribe el contenido
3. Guarda para crear tu nota

### Búsqueda impulsada por IA
1. Activa las capacidades de IA
2. Usa la barra de búsqueda inferior con lenguaje natural
3. Visualiza los resultados clasificados por relevancia

### Resúmenes de IA y Chat
- Haz clic en cualquier nota y selecciona **Generate AI Summary**
- Usa el icono de chat (esquina inferior derecha) para hacer preguntas sobre tus notas

## 📁 Estructura del proyecto

```
potion/
├── public/ # Recursos del frontend
│ ├── index.html # Interfaz HTML principal
│ ├── style.css # Estilos y animaciones
│ └── script.js # Lógica del frontend
├── utils/ # Funciones auxiliares
├── app.js # Servidor Express
├── mindsdb.js # Integración con MindsDB
├── setup.js # Configuración inicial
├── docker-compose.yml # Configuración de Docker
└── .env.sample # Ejemplo de variables de entorno
```

## 🔧 Endpoints de la API

| Método | Endpoint | Descripción |
|--------|----------|-------------|
| POST | `/api/setup` | Inicializar el proyecto de MindsDB |
| POST | `/api/mindsdb/initialize` | Configurar la base de conocimientos y los modelos |
| POST | `/api/notes/search` | Búsqueda semántica en las notas |
| POST | `/api/notes/summarize` | Generar resúmenes de notas |
| POST | `/api/chat` | Chatear con la IA sobre las notas |
| POST | `/api/upload` | Subir notas a MindsDB |

## 🐛 Solución de problemas

| Problema | Solución |
|-------|----------|
| **MindsDB no accesible** | • Asegúrate de que Docker esté en ejecución<br>• Verifica el contenedor: `docker ps`<br>• Reiniciar: `docker-compose restart mindsdb`<br>• Verifica que el puerto 47334 esté disponible |
| **Funciones de IA no funcionan** | • Verifica el estado de MindsDB<br>• Verifica las claves API<br>• Asegúrate de que existan notas antes de activar la IA |
| **La búsqueda no devuelve resultados** | • Confirma la activación de la IA<br>• Prueba con términos de búsqueda más amplios<br>• Verifica la conexión con MindsDB |

> [!NOTE]
> Para obtener ayuda detallada con la instalación, consulta la [Documentación de Instalación de MindsDB](https://docs.mindsdb.com/setup/self-hosted/docker#install-mindsdb)

## 🤝 Contribuir

1. Haz un fork del repositorio
2. Crea una rama de funcionalidad: `git checkout -b feature/amazing-feature`
3. Confirma tus cambios: `git commit -m 'Add amazing feature'`
4. Empuja a la rama: `git push origin feature/amazing-feature`
5. Abre un Pull Request

## 📄 Licencia

Potion está licenciado bajo la `Unlicense`. Consulta el archivo LICENSE para más detalles.

## 👤 Autor

<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%">
<a href="https://github.com/abhinavthedev">
<img src="https://github.com/abhinavthedev.png?s=100" width="100px;" alt="Abhinav"/>
<br />
<b>Abhinav</b>
</a>
</td>
</tr>
</tbody>
</table>

---

<p align="center">🌟 ¡Si encuentras Potion útil, por favor dale una estrella en GitHub! 🌟</p>