Вы перегружены информацией, которую собираете ежедневно? Часто ли вы теряетесь в море файлов с уценкой, видео, веб-страниц и PDF-файлов? Что, если существует способ беспрепятственно индексировать, искать и даже взаимодействовать со всем этим контентом, как никогда раньше? Добро пожаловать в будущее управления персональными знаниями: второй проект агента искусственного интеллекта для мозга.
Новаторская идея Тьяго Форте о Втором мозге произвела революцию в нашем представлении о ведении заметок. Речь идет не только о записывании идей; речь идет о создании мощного инструмента, который улучшает обучение и творчество. Узнайте больше о «Создании второго мозга» Тьяго Форте здесь.
Автоматическое индексирование: больше не нужно вручную сортировать файлы! Автоматически индексируйте содержимое файлов уценки вместе с содержащимися в них ссылками, например PDF-документами, видеороликами YouTube и веб-страницами.
Умная поисковая система: задавайте вопросы о вашем контенте, и наш ИИ даст точные ответы, используя надежную большую языковую модель OpenAI. Это как личный помощник, который знает ваш контент изнутри!
Легкая интеграция: независимо от того, следуете ли вы методу Second Brain или используете свой собственный уникальный способ ведения заметок, наша система легко интегрируется с вашим стилем, помогая вам использовать истинную силу вашей информации.
Повышенная производительность: тратьте меньше времени на организацию и больше времени на инновации. Получая доступ к вашей информации быстрее и эффективнее, вы можете сосредоточиться на том, что действительно важно.
Не позволяйте вашим заметкам и содержанию подавлять вас. Сделайте их своими союзниками в росте, инновациях и производительности. Присоединяйтесь к нам, чтобы изменить способ управления своими личными знаниями и совершить прыжок в будущее.
Если вы делаете заметки, используя файлы уценки, как в методе Second Brain, или используете свой собственный способ, этот проект автоматически индексирует содержимое файлов уценки и содержащихся в них ссылок (документы в формате PDF, видео на YouTube, веб-страницы) и позволяет вам задавать вопросы о ваш контент с использованием модели большого языка OpenAI.
Система построена на основе платформы LangChain и векторного хранилища ChromaDB.
Система принимает в качестве входных данных каталог, в котором вы храните свои заметки об уценке. Например, я делаю заметки с помощью Obsidian. Затем система автоматически обрабатывает любые изменения в этих файлах с помощью следующего конвейера:
график ТД
A[Файлы уценки из вашего редактора]-->B[Текстовые файлы из уценки и указателей]-->C[Фрагменты текста]-->D[Векторная база данных]-->E[Агент искусственного интеллекта второго мозга]
Из файла уценки Transform_md.py извлекает текст из файла уценки, затем из ссылок внутри файла уценки извлекает PDF-файлы, URL-адреса, видео YouTube и преобразует их в текст. Существует некоторая поддержка для извлечения данных истории из файлов уценки: если есть раздел ## History
или имя файла содержит History
, файл разбивается на несколько частей в соответствии с разделами <day> <month> <year>
, например ### 10 Sep 2023
Из этих текстовых файлов Transform_txt.py разбивает эти текстовые файлы на фрагменты, создает векторные внедрения, а затем сохраняет эти векторные внедрения в базу данных векторов.
Второй мозговой агент использует базу данных векторов, чтобы получить контекст для задания вопроса большой языковой модели. Этот процесс называется генерацией с расширенным поиском (RAG).
На самом деле процесс сложнее, чем при стандартной Тряпке. Он анализирует вопрос, а затем использует другую цепочку в зависимости от намерения:
блок-схема ТД
A[Вопрос] --> C[/Получить намерение/]
C --> E[Сводный запрос] --> EA[/Извлечь все фрагменты/] --> EB[/Суммировать фрагменты/]
C --> F[Поиск PDF-файла или URL-адреса] --> FA[/Извлечь URL-адрес/]
C --> D[Отчет о деятельности]
C --> G[Обычный вопрос]
D --> DA[/Получить метаданные периода/] --> DB[/Получить метаданные темы/] --> DC[/Извлечь вопрос без времени/] --> H[/Извлечь ближайшие документыnиз векторной базы данных nфильтруется по метаданным/]
G --> GA[/Вопрос назад/] --> GB[/Извлечь ближайшие документыnиз векторной базы данных/]
H --> I[/Использовать документы как контекстn, чтобы задать вопрос LLM/]
ГБ --> Я
Вам понадобится интерпретатор Python 3, poetry
и установленные inotify-tools
. Все это было протестировано под Fedora Linux 38 на моем ноутбуке и последней версии рабочих процессов CI в Ubuntu. Дайте мне знать, если это работает в вашей системе.
Получите исходный код:
$ git clone https://github.com/flepied/second-brain-agent.git
Скопируйте пример файла .env и отредактируйте его в соответствии со своими настройками:
$ cp example.env .env
Установите зависимости, используя поэзию:
$ poetry install
Между поэзией, факелом и pypi есть ошибка, чтобы обойти ее, просто выполните:
$ poetry run pip install torch
Затем, чтобы использовать созданный virtualenv, выполните:
$ poetry shell
Чтобы установить службы systemd для автоматического управления различными сценариями при запуске операционной системы, используйте следующую команду (требуется доступ sudo):
$ ./install-systemd-services.sh
Чтобы увидеть выходные данные служб md и txt:
$ journalctl --unit=sba-md.service --user
$ journalctl --unit=sba-txt.service --user
$ ./similarity.py " What is LangChain? " type=notes
Используйте хранилище векторов, чтобы найти новые связи между нотами:
$ ./smart_connections.py
Запустите эту команду для доступа к веб-интерфейсу:
$ 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
Вот пример:
Установите дополнительные зависимости, используя поэзию:
$ poetry install --with test
А затем запустите тесты, например:
$ poetry run pytest
Прежде чем отправлять PR, обязательно активируйте предварительную фиксацию:
poetry run pre-commit install