매일 수집하는 정보에 압도당하시나요? 마크다운 파일, 비디오, 웹 페이지, PDF의 바다에서 길을 잃은 적이 자주 있습니까? 이전과는 전혀 다른 방식으로 모든 콘텐츠를 원활하게 색인화하고 검색하고 상호 작용할 수 있는 방법이 있다면 어떨까요? 개인 지식 관리의 미래: 두 번째 뇌 AI 에이전트 프로젝트에 오신 것을 환영합니다.
두 번째 뇌에 대한 Tiago Forte의 획기적인 아이디어는 메모 작성에 대한 우리의 생각 방식에 혁명을 일으켰습니다. 단순히 아이디어를 적는 것이 아닙니다. 학습과 창의성을 향상시키는 강력한 도구를 만드는 것입니다. 여기에서 Tiago Forte의 두 번째 두뇌 구축에 대해 자세히 알아보세요.
자동 인덱싱: 더 이상 수동으로 파일을 정렬할 필요가 없습니다! PDF 문서, YouTube 비디오, 웹 페이지 등 포함된 링크와 함께 마크다운 파일의 콘텐츠를 자동으로 색인화합니다.
스마트 검색 엔진: 콘텐츠에 대해 질문하면 AI가 강력한 OpenAI 대규모 언어 모델을 사용하여 정확한 답변을 제공합니다. 귀하의 콘텐츠를 속속들이 아는 개인 비서가 있는 것과 같습니다!
손쉬운 통합: Second Brain 방법을 따르든 자신만의 고유한 메모 작성 방법이 있든 상관없이 당사 시스템은 귀하의 스타일과 원활하게 통합되어 정보의 진정한 힘을 활용할 수 있도록 도와줍니다.
생산성 향상: 정리하는 데 소요되는 시간을 줄이고 혁신에 더 많은 시간을 투자하세요. 정보에 더 빠르고 효율적으로 액세스하면 진정으로 중요한 일에 집중할 수 있습니다.
메모와 내용이 당신을 압도하지 않도록 하세요. 성장, 혁신, 생산성 측면에서 이들을 동맹자로 만드십시오. 귀하의 개인 지식 관리 방식을 변화시키고 미래로 도약하는 데 동참해 주십시오.
Second Brain 방식과 같은 마크다운 파일을 사용하거나 자신만의 방식으로 메모를 하면 이 프로젝트는 마크다운 파일의 내용과 포함된 링크(pdf 문서, 유튜브 비디오, 웹 페이지)를 자동으로 색인화하고 질문할 수 있게 해줍니다. OpenAI Large Language Model을 사용하는 콘텐츠.
시스템은 LangChain 프레임워크와 ChromaDB 벡터 저장소 위에 구축되었습니다.
시스템은 마크다운 메모를 저장하는 디렉터리를 입력으로 사용합니다. 예를 들어 저는 Obsidian으로 메모를 합니다. 그런 다음 시스템은 다음 파이프라인을 사용하여 이러한 파일의 모든 변경 사항을 자동으로 처리합니다.
그래프 TD
A[편집기의 마크다운 파일]-->B[마크다운 및 포인터의 텍스트 파일]-->C[텍스트 청크]-->D[벡터 데이터베이스]-->E[두 번째 Brain AI 에이전트]
마크다운 파일에서 변환_md.py는 마크다운 파일의 텍스트를 추출한 다음 마크다운 파일 내부의 링크에서 pdf, url, youtube 비디오를 추출하여 텍스트로 변환합니다. 마크다운 파일에서 기록 데이터를 추출하는 기능이 일부 지원됩니다. ## History
섹션이 있거나 파일 이름에 History
포함된 경우 파일은 ### 10 Sep 2023
과 같은 <day> <month> <year>
섹션에 따라 여러 부분으로 분할됩니다. ### 10 Sep 2023
.
이러한 텍스트 파일에서 변환_txt.py는 이러한 텍스트 파일을 청크로 나누고 벡터 임베딩을 생성한 다음 이러한 벡터 임베딩을 벡터 데이터베이스에 저장합니다.
두 번째 두뇌 에이전트는 벡터 데이터베이스를 사용하여 대규모 언어 모델에 질문하기 위한 컨텍스트를 얻습니다. 이 프로세스를 검색 증강 생성(RAG)이라고 합니다.
실제로 프로세스는 표준 RAG보다 더 복잡합니다. 질문을 분석한 다음 의도에 따라 다른 체인을 사용합니다.
흐름도 TD
A[질문] --> C[/의도 얻기/]
C --> E[요약 요청] --> EA[/모든 청크 추출/] --> EB[/청크 요약/]
C --> F[pdf 또는 URL 조회] --> FA[/URL 추출/]
C --> D[활동 보고서]
C --> G[일반 질문]
D --> DA[/기간 메타데이터 가져오기/] --> DB[/주제 메타데이터 가져오기/] --> DC[/시간 없이 질문 추출/] --> H[/벡터 데이터베이스에서n가장 가까운 문서 추출 메타데이터로 필터링됨/]
G --> GA[/뒤로 돌아가기 질문/] --> GB[/벡터 데이터베이스에서n가장 가까운 문서 추출/]
H --> I[/문서를 맥락으로 사용하여nLLM에게 질문하기/]
GB --> 나
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
웹 UI에 액세스하려면 다음 명령을 실행하세요.
$ 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