¿Está abrumado con la información que recopila a diario? ¿A menudo te encuentras perdido en un mar de archivos, vídeos, páginas web y archivos PDF con rebajas? ¿Qué pasaría si existiera una manera de indexar, buscar e incluso interactuar con todo este contenido sin problemas como nunca antes? Bienvenido al futuro de la gestión del conocimiento personal: el segundo proyecto de agente cerebral de IA.
La innovadora idea del segundo cerebro de Tiago Forte ha revolucionado la forma en que pensamos sobre la toma de notas. No se trata sólo de anotar ideas; se trata de crear una herramienta poderosa que mejore el aprendizaje y la creatividad. Obtenga más información sobre cómo construir un segundo cerebro de Tiago Forte aquí.
Indexación automatizada: ¡Ya no es necesario clasificar archivos manualmente! Indexe automáticamente el contenido de sus archivos de rebajas junto con los enlaces contenidos, como documentos PDF, vídeos de YouTube y páginas web.
Motor de búsqueda inteligente: haga preguntas sobre su contenido y nuestra IA le brindará respuestas precisas, utilizando el sólido modelo de lenguaje grande OpenAI. ¡Es como tener un asistente personal que conoce tu contenido al dedillo!
Integración sin esfuerzo: ya sea que siga el método Second Brain o tenga su propia forma única de tomar notas, nuestro sistema se integra perfectamente con su estilo, ayudándole a aprovechar el verdadero poder de su información.
Productividad mejorada: dedique menos tiempo a organizar y más tiempo a innovar. Al acceder a su información de manera más rápida y eficiente, podrá concentrarse en lo que realmente importa.
No dejes que tus notas y contenido te abrumen. Conviértelos en tus aliados en crecimiento, innovación y productividad. Únase a nosotros para transformar la forma en que gestiona su conocimiento personal y dé el salto hacia el futuro.
Si toma notas usando archivos Markdown como en el método Second Brain o a su manera, este proyecto indexa automáticamente el contenido de los archivos Markdown y los enlaces contenidos (documentos pdf, videos de YouTube, páginas web) y le permite hacer preguntas sobre su contenido utilizando el modelo de lenguaje grande OpenAI.
El sistema está construido sobre el marco LangChain y el almacén de vectores ChromaDB.
El sistema toma como entrada un directorio donde almacena sus notas de rebajas. Por ejemplo, tomo mis notas con Obsidian. Luego, el sistema procesa cualquier cambio en estos archivos automáticamente con la siguiente canalización:
gráfico TD
A[Archivos de rebajas de su editor]-->B[Archivos de texto de rebajas y punteros]-->C[fragmentos de texto]-->D[Base de datos vectorial]-->E[Agente de IA del segundo cerebro]
De un archivo de rebajas, transform_md.py extrae el texto del archivo de rebajas, luego, de los enlaces dentro del archivo de rebajas, extrae pdf, URL y videos de YouTube y los transforma en texto. Existe cierto soporte para extraer datos históricos de los archivos de rebajas: si hay una sección ## History
o el nombre del archivo contiene History
, el archivo se divide en varias partes según las secciones <day> <month> <year>
como ### 10 Sep 2023
.
A partir de estos archivos de texto, transform_txt.py los divide en fragmentos, crea incrustaciones de vectores y luego almacena estas incrustaciones de vectores en una base de datos de vectores.
El segundo agente cerebral utiliza la base de datos vectorial para obtener contexto para formular la pregunta al modelo de lenguaje grande. Este proceso se llama generación de recuperación aumentada (RAG).
En realidad, el proceso es más complejo que un RAG estándar. Se trata de analizar la pregunta y luego utilizar una cadena diferente según la intención:
diagrama de flujo TD
A[Pregunta] --> C[/Get Intent/]
C --> E[Solicitud de resumen] --> EA[/Extraer todos los fragmentos/] --> EB[/Resumir fragmentos/]
C --> F[búsqueda de pdf o URL] --> FA[/Extraer URL/]
C --> D[Informe de actividad]
C --> G[Pregunta habitual]
D --> DA[/Obtener metadatos del período/] --> DB[/Obtener metadatos del asunto/] --> DC[/Extraer pregunta sin tiempo/] --> H[/Extraer documentos más cercanosnde la base de datos vectorial nfiltrado por los metadatos/]
G --> GA[/Pregunta de paso atrás/] --> GB[/Extraer documentos más cercanosnde la base de datos de vectores/]
H --> I[/Usar los documentos como contextonpara hacer la pregunta al LLM/]
ES --> yo
Necesita un intérprete de Python 3, poetry
y las inotify-tools
instaladas. Todo esto ha sido probado bajo Fedora Linux 38 en mi computadora portátil y Ubuntu más reciente en los flujos de trabajo de CI. Déjame saber si funciona en tu sistema.
Obtenga el código fuente:
$ git clone https://github.com/flepied/second-brain-agent.git
Copie el archivo .env de ejemplo y edítelo para adaptarlo a su configuración:
$ cp example.env .env
Instale las dependencias usando poesía:
$ poetry install
Hay un error entre poesía, antorcha y pypi, para solucionarlo simplemente haga:
$ poetry run pip install torch
Luego, para usar el virtualenv creado, haga:
$ poetry shell
Para instalar los servicios systemd para administrar automáticamente los diferentes scripts cuando se inicia el sistema operativo, use el siguiente comando (necesita acceso sudo):
$ ./install-systemd-services.sh
Para ver el resultado de los servicios md y txt:
$ journalctl --unit=sba-md.service --user
$ journalctl --unit=sba-txt.service --user
$ ./similarity.py " What is LangChain? " type=notes
Utilice la tienda de vectores para encontrar nuevas conexiones entre notas:
$ ./smart_connections.py
Inicie este comando para acceder a la interfaz de usuario web:
$ streamlit run second_brain_agent.py
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8502
Network URL: http://192.168.121.112:8502
Aquí hay un ejemplo:
Instale las dependencias adicionales usando poesía:
$ poetry install --with test
Y luego ejecute las pruebas, así:
$ poetry run pytest
Antes de enviar un PR, asegúrese de activar el compromiso previo:
poetry run pre-commit install