Catalog Bot OS
Hola me presento soy andres xd sere breve quiero ayudar a mi bonita comunida de python con un "bot de busqueda para tu base de datos", lo que busca este proyecto es hacerte un chatbot para que puedas añadirlo a tu repertorio y no tengas que codear mucho. Si te gusta agradeceria tus comentario de como mejorarlo, despues de todos es para todos nosotros xd.
¡Bienvenido a Catalog Bot OS! Un orquestador de IA Open Source diseñado para conectar tu base de datos SQL con modelos de lenguaje natural (RAG) de forma 100% local, privada e inhackeable.
A diferencia de los frameworks pesados (como LangChain), este bot utiliza ChromaDB local para comprender sinónimos y consultas semánticas, conectándose directamente a tus tablas SQL sin exponerlas a inyecciones SQL.
Prerrequisitos Importantes
Debido a que este paquete usa Inteligencia Artificial y matemáticas vectoriales (ChromaDB), requiere estrictamente Python 3.10, 3.11 o 3.12. (Si usas Python 3.13 o superior en Windows te pedirá instalar los Build Tools de C++).
Si no tienes la versión correcta en Windows, puedes instalar Python 3.12 fácilmente abriendo PowerShell como Administrador y ejecutando:
winget install Python.Python.3.12
🚀 Instalación
Puedes instalar el bot directamente desde PyPI usando pip:
pip install catalog-bot-os
🛠️ Guía de Uso Paso a Paso
1. Inicialización
Ve a la carpeta de tu proyecto y ejecuta el siguiente comando para generar el archivo de configuración. El sistema te guiará para ingresar las credenciales de tu base de datos.
catalog-bot init
Esto creará un archivo oculto .catalog-bot.json en tu carpeta.
2. Mapeo de Tablas
Una vez configurado, el bot necesita escanear las columnas de tu base de datos para entender el esquema.
catalog-bot map-schema
Esto generará un archivo schema_memory.json con la radiografía de tus tablas permitidas.
3. Entrenamiento Semántico (RAG)
Para que el bot "entienda" sinónimos (por ejemplo, saber que buscar "bebida" puede traer "gaseosa"), debes entrenar la memoria vectorial. Simplemente ejecuta:
catalog-bot index
4. Levantar la API
Levanta el servidor REST para conectar tu bot con cualquier Frontend (WhatsApp, React, etc.).
catalog-bot start-api
Tu bot ahora estará escuchando peticiones en http://localhost:8000/api/chat. Puedes hacerle un POST con el siguiente JSON:
{
"mensaje": "busco zapatos"
}
🔒 Arquitectura de Seguridad
- Cero Inyecciones: Usa parámetros
text()de SQLAlchemy (Principio de Menor Privilegio). - Enrutador Seguro: Las peticiones maliciosas (ej.
DROP TABLE) son bloqueadas antes de llegar a la base de datos. - RAG Local: Los datos no salen hacia OpenAI. Todo se procesa con ChromaDB localmente.
🤝 Contribuciones
¡Los PRs son bienvenidos! Este proyecto fue diseñado buscando los fundamentos sólidos y la soberanía de datos.
Release files for catalog-bot-os 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| catalog_bot_os-0.1.2.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| catalog_bot_os-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.0 kB
Release files / catalog_bot_os-0.1.2.tar.gz
| Download URL | catalog_bot_os-0.1.2.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e107513b467db04477154b7bdb6fec07bbd1de3857a6417794060d1cee79cfdb
|
|
BLAKE2b-256 checksum How to use checksums |
e1301790de4a267e1c7ed454984be10e738eb5e2335b72299e82eedad9a5d308
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / catalog_bot_os-0.1.2-py3-none-any.whl
| Download URL | catalog_bot_os-0.1.2-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dfa9ef754caa558de07ffc53a18f603b24d8fd76b9f635ef3e15d3bf2507003f
|
|
BLAKE2b-256 checksum How to use checksums |
db4a01f17e063abf11902567ed8715600d85b8e10209b2cad352b3bfa3edea8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|