Bienvenido al repositorio del Asistente de Conocimiento PECET. Este proyecto tiene como finalidad mejorar la gestión y consulta de los activos de conocimiento del PECET a través de un agente inteligente. La producción científica requiere de una gestión eficiente para facilitar la investigación y toma de decisiones. Esta solución integra un backend robusto en FastAPI y un frontend moderno en React, permitiendo subir, consultar y buscar documentos usando tecnologías como Azure Blob Storage y ElasticSearch, permitiendo la búsqueda inteligente, gestión y visualización de activos de conocimiento del PECET. 🚀
pecet/
│
├── backend/ # Backend FastAPI, extracción de texto, embeddings, Azure, ElasticSearch
│ ├── api/ # Endpoints principales (FastAPI)
│ ├── azure_blob/ # Servicios y utilidades para Azure Blob Storage
│ ├── elastic/ # Configuración de ElasticSearch
│ ├── models/ # Modelos Pydantic
│ ├── scripts/ # Scripts de procesamiento (extract, embedding, index)
│ ├── services/ # Servicios de búsqueda, integración
│ ├── tests/ # Pruebas unitarias y de integración
│ ├── requirements.txt
│ └── .env.example # Ejemplo de variables de entorno
│
├── pecet-frontend/ # Frontend React
│ ├── public/ # Archivos estáticos (favicon, logos, manifest)
│ ├── src/ # Código fuente React
│ │ ├── components/ # Componentes reutilizables (Navbar, Footer, etc.)
│ │ ├── pages/ # Vistas principales (Home, Buscar, Dashboard, AboutUs)
│ │ ├── styles/ # CSS Modules
│ │ └── App.js
│ ├── package.json
│ └── README.md
│
├── .devcontainer/ # Configuración para entorno de desarrollo en contenedor (Docker, VSCode)
├── LICENSE
└── README.md # Este archivo
- Backend: FastAPI, Python, Azure Blob Storage, ElasticSearch, OpenAI API
- Frontend: React, React Router DOM, CSS Modules, Framer Motion, React Icons
- DevOps: Docker, Docker Compose, VSCode Dev Containers
- 📄 Subir y consultar documentos (PDF, imágenes, texto) vía enlaces o API.
- 🔍 Búsqueda semántica sobre los activos de conocimiento usando embeddings.
- ☁️ Almacenamiento seguro en Azure Blob Storage.
- 📊 Dashboard con estadísticas de los archivos.
- 🖥️ Interfaz moderna y responsiva para usuarios finales.
git clone https://github.com/Jonathand77/pecet.git
cd pecet
- Requiere Docker y VSCode (opcional pero recomendado).
- Usa el contenedor de desarrollo incluido:
# Abre la carpeta en VSCode y selecciona "Reopen in Container"
Copia y edita los archivos .env.example
en backend/
según tus credenciales de Azure, OpenAI y ElasticSearch.
cp backend/.env.example backend/.env
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd ../pecet-frontend
npm install
cd backend
uvicorn api.main:app --reload
cd pecet-frontend
npm start
/
- Home: Bienvenida y descripción/buscar
- Buscador semántico de activos/dashboard
- Estadísticas y últimos archivos/about
- Información del proyecto y equipo
- Backend: Ubica tus pruebas en
backend/tests/
y ejecútalas conpytest
. - Frontend: Usa
npm test
enpecet-frontend/
para pruebas de componentes React.
- Código modular y documentado 🧩
- Uso de variables de entorno para credenciales 🔒
- Separación clara entre frontend y backend
- Estilos con CSS Modules para evitar conflictos 🎨
- Uso de Docker y Dev Containers para entornos reproducibles 🐳
- Versionado en Git y
.gitignore
bien configurado
BSD 2-Clause License. Consulta el archivo LICENSE para más detalles.
¡Abre un issue o contáctanos! 😊
¡Gracias por ser parte de la comunidad PECET! 🧬🌍