반응형
현재 옵시디언 노트를 위한 시맨틱 검색 플러그인을 개발하고 있습니다. 제가 검색에서 가장 중요하게 고려한 부분은 벡터DB와 임베딩 모델의 선택이었습니다.최종적으로 파인콘DB와 OpenAI의 text-embedding-3-small 모델을 채택했습니다. 파인콘DB를 선택한 이유는 무료 플랜 때문입니다. 최대 2GB 스토리지와 5개의 인덱스, 인덱스당 100개의 네임스페이스를 무료로 제공하기 때문에 개인 용도로 사용하기에는 충분하다고 생각됩니다.그리고 OpenAI 모델은 다국어 임베딩 성능과 가성비 측면에서 최적의 선택이었습니다. 프레임워크 선택UI의 복잡도가 점점 증가함에 따라 옵시디언에 제공하는 기본 메서드인 createEl() 로는 UI 개발에 한계가 있었습니다. 그래서 이번에 UI 프레임워크 후보로 ..
현재 옵시디언 노트를 위한 시맨틱 검색 플러그인을 개발하고 있습니다.개발 과정에서 가장 고민되는 부분은 '언제 노트를 임베딩할 것인가'였습니다.노트가 수정될 때마다 임베딩하면 실시간성은 확보되지만 리소스 사용량이 증가하고,반대로 스케줄러를 통해 일괄 처리하면 리소스는 절약되지만, 최신성이 떨어지는 trade-off가 있기 때문입니다. 이런 고민을 해결하기 위해 옵시디언에서 RAG 기능을 제공하는 주요 플러그인들의 임베딩 전략을 분석해 보았습니다.각 플러그인은 서로 다른 접근 방식을 취하고 있어, 이를 비교 분석하면서 RAG 플러그인 설계 시 참고할 만한 인사이트를 얻을 수 있습니다. Smart Composer: 선택적 업데이트 전략Smart Composer는 필요한 시점에만 임베딩을 수행하는 효율적인 접..
옵시디언 RAG 플러그인 분석을 통해 검색 관련 지식 쌓기옵시디언에 작성한 노트와 스크랩한 글들이 쌓이다 보니, 필요한 정보를 찾는 것이 점점 힘들어지고 있습니다. 이러한 문제를 해결하기 위해 RAG 기술을 활용한 노트 검색 기능에 집중하여 옵시anpigon.tistory.com 현재 옵시디언 노트를 위한 시맨틱 검색 플러그인을 개발 중에 있습니다. 이는 제가 직접 필요성을 느껴 시작한 개인 프로젝트입니다.개발 경험이 부족하여 여러 시행착오를 겪고 있지만, 다양한 기술적 접근을 시도하며 꾸준히 발전시켜 나가고 있습니다. 최근 OpenAI의 임베딩 모델과 Pinecone Vector Database를 활용하여 기본적인 시멘틱 검색 기능 구현을 완료하여,Omnisearch와 시멘틱 검색 성능을 비교 분석해보..
최근 Cursor의 대항마로 떠오르는 새로운 IDE, Windsurf가 출시되었다는 소식을 듣고, 바로 14일 무료 체험을 신청해 사용해보았습니다. 결론부터 말하자면, 이거 꽤 물건입니다. 기존에 사용하던 Cline과 비슷하게 페어 프로그래밍 방식으로 작업할 수 있는 기능을 제공합니다.Cline의 경우 API를 연결해 사용하는 방식이라, 사용량에 따라 비용이 증가하는 종량제 모델이라 약간 부담이 되었는데,Windsurf는 월 $10 구독료만 내면 무제한으로 사용할 수 있다는 점에서 가성비가 훨씬 뛰어납니다. 옵시디언 플러그인을 개발하면서 코드 리뷰와 실시간 협업이 중요한데, Windsurf의 AI 지원은 이런 작업에서 정말 효율적입니다.특히 버그를 잡아내거나 코드 최적화 방안을 제안하는 능력도 괜찮았고,..
최근 X에서 공개한 Grok AI를 코딩 작업에 활용해보고 있습니다. xAI에서는 매달 $25의 무료 크레딧을 제공하니 부담없이 사용할 수 있습니다. 개인적으로는 Google Gemini보다 코딩 성능이 뛰어나 보이며, 글쓰기와 같은 다른 작업에서도 유용할 것이라 기대하고 있습니다. 이런 기대감을 바탕으로, 제가 직접 개발하여 사용 중인 Obsidian Chatbot Plugin에 Grok AI 모델을 추가해 글쓰기 지원 기능을 시험해봤습니다. 사용해본 결과, Google Gemini보다 의도를 잘 파악하는 점이 인상적이었습니다. 다만, 가끔 영어로 대답하는 점은 약간의 불편함으로 느껴졌습니다. 그럼에도 불구하고, 전반적인 만족도가 높아 당분간은 Grok을 주로 사용할 계획입니다.
옵시디언 RAG 플러그인 분석을 통해 검색 관련 지식 쌓기옵시디언에 작성한 노트와 스크랩한 글들이 쌓이다 보니, 필요한 정보를 찾는 것이 점점 힘들어지고 있습니다. 이러한 문제를 해결하기 위해 RAG 기술을 활용한 노트 검색 기능에 집중하여 옵시anpigon.tistory.com 지난번에 RAG 기술을 활용해 Obsidian 노트를 검색하는 플러그인을 개발하기 위해 기존의 RAG 기반 Obsidian 플러그인들의 코드와 기능을 살펴봤습니다. 대부분의 플러그인들이 로컬 벡터 데이터베이스를 사용하고 있었습니다. 로컬 데이터베이스는 비용과 속도 면에서 효율적이지만, 제 경우 디바이스 간 동기화 문제로 불편함을 겪고 있습니다. 특히, 로컬 데이터베이스 크기가 커질수록 동기화 문제가 계속해서 발생하고 있습니다. ..