2P by GN⁺ | ★ favorite | 댓글 1개
  • LLocalSearch는 로컬에서 실행되는 소형 LLM을 감싸고, 질문에 답하기 위해 인터넷 검색 도구를 선택해 쓰게 하는 로컬 검색형 AI 프로젝트임
  • LLM은 사용자 입력과 도구 호출 결과를 바탕으로 재귀적으로 도구를 여러 번 사용할 수 있어, 최신 정보가 필요한 질문에 대해 검색 기반 답변을 만들 수 있음
  • 핵심 기능은 완전 로컬 실행, API 키 불필요, 300유로 GPU를 사용한 데모 수준의 저사양 하드웨어 구동, 답변 내 실시간 로그와 링크, 후속 질문, 모바일 친화 UI, 다크/라이트 모드임
  • 현재 버전은 1년 넘게 개발되지 않았고, 개발자는 미완성 소프트웨어를 공개해 시간을 낭비하지 않기 위해 비공개 베타에서 재작성과 재출시를 진행 중임
  • 로드맵에는 Llama3 지원, Obsidian에서 영감을 받은 인터페이스 개편, 채팅 기록, 사용자 계정, 개인 문서·Google Drive·Confluence 연동, 사용자별 장기 메모리 구상이 포함됨

LLocalSearch의 역할

  • LLocalSearch는 로컬에서 실행되는 Large Language Models를 위한 래퍼임
  • 이 래퍼는 모델이 여러 도구 중에서 선택해 사용할 수 있게 함
  • 도구는 사용자의 질문에 대한 최신 정보를 찾기 위해 인터넷을 검색하는 기능을 제공함
  • 실행 중인 LLM은 사용자 입력과 도구 호출에서 얻은 정보를 바탕으로 도구 사용 여부를 자유롭게 결정할 수 있음
    • 도구는 한 번만 쓰는 것이 아니라 여러 번 반복 사용될 수 있음
    • 이 과정은 재귀적으로 동작함
  • 프로젝트에는 demo.webm 데모가 포함됨

왜 로컬 대안을 쓰려는가

  • 장기적으로 OpenAI가 대형 미디어 회사에 판매하는 프로그램에는 채팅 대화 안에서 우선 배치와 더 풍부한 브랜드 표현, 더 눈에 띄는 링크 처리가 포함된다고 되어 있음
  • 개발자는 가장 높은 금액을 지불한 쪽에 의해 사용자가 조작되는 아이디어를 싫어한다면, 이 프로젝트처럼 덜 차별적인 대안을 시도할 수 있다고 봄
  • 관련 문맥으로 OpenAI의 프로그램 자료를 다룬 Adweek 링크가 제시됨

제공 기능

  • 완전 로컬 실행

    • API 키가 필요 없음
    • 더 프라이버시 친화적인 방식으로 동작함
  • 저사양 하드웨어 구동

    • 데모 영상은 300유로 GPU를 사용함
  • 답변 내 로그와 링크

    • 실시간 로그와 링크를 통해 에이전트가 무엇을 하는지 더 잘 이해할 수 있음
    • 답변이 어떤 정보에 기반하는지 확인할 수 있음
    • 더 깊은 조사를 시작하기 위한 출발점으로 쓸 수 있음
    • 후속 질문을 지원함
    • 모바일 친화적인 디자인을 제공함
    • 다크 모드와 라이트 모드를 지원함

현재 개발 상태와 주의사항

  • 현재 공개 버전은 1년 넘게 개발되지 않음
  • 개발자는 재작성과 재출시를 비공개 베타에서 진행 중임
  • 비공개 베타로 피드백을 모으는 이유는 미완성 소프트웨어를 공개해 모두의 시간을 낭비하지 않기 위해서임
  • 참여에 관심이 있으면 개발자에게 연락하라고 안내함

진행 중인 작업

  • Llama3 지원

    • 현재 사용하는 langchain 라이브러리가 Llama3 stop words를 지키지 않음
    • 이 문제 때문에 Llama3가 턴 끝에서 환각을 시작함
    • 개발자는 동작하는 패치를 갖고 있으며, experiments 브랜치에서 확인할 수 있다고 함
    • 해결 방식이 올바른지 확신하지 못해 langchaingo 팀의 응답을 기다리는 중임
  • 인터페이스 개편

    • 더 유연한 패널과 공간을 더 효율적으로 쓰는 인터페이스 개편을 진행 중임
    • 현재 레이아웃은 Obsidian에서 영감을 받음
  • 채팅 기록과 최근 대화

    • 채팅 기록과 최근 대화 지원도 진행 중임
    • 내부 데이터 구조를 많이 리팩터링해야 함
    • 향후 기능을 더 유연하게 확장하고, 데이터 전송과 인터페이스 부분을 다시 작성하지 않도록 만드는 작업이 필요함

가까운 미래 계획

  • 사용자 계정

    • 사용자 계정은 RAG 체인 안에서 개인 정보를 다루기 위한 기반 작업임
    • 계획된 사용 사례에는 다음이 포함됨
    • 사용자가 직접 문서 업로드
    • LLocalSearch를 Google Drive에 연결
    • LLocalSearch를 Confluence에 연결
  • 장기 메모리

    • 장기 메모리는 구현에 올바른 방식이 있는지 확신하지 못한다고 되어 있음
    • 구상은 메인 에이전트 체인에 사용자 관련 정보를 제공하는 것임
    • 사용자 선호도
    • 지속 정보를 위한 사용자별 별도 Vector DB Namespace

설치 방식

  • Docker 설치 절차가 제공됨
  • 설치 흐름은 GitHub 저장소를 클론하고, 필요하면 .env 파일을 만들고 수정한 뒤, 컨테이너를 실행하는 방식임
  • .env 수정은 보통 Ollama가 다른 장치에서 실행 중이거나 개인 사용보다 복잡한 구성을 만들 때 필요함
  • 컨테이너 실행 명령은 docker-compose up -d

댓글과 토론

Hacker News 의견들
  • 궁금한 점이나 제안이 있으면 답할 수 있음 :)
    기본적으로 검색 엔진에 접근할 수 있는 LLM이고, 벡터 데이터베이스를 질의하는 기능도 있음
    LLM이 만든 검색어마다 상위 n개 결과를 긁어와 작은 조각으로 나누고 벡터 DB에 저장함. 이후 LLM은 이 벡터 DB를 질의해서 관련 조각을 가져올 수 있음
    128k 컨텍스트 LLM이 전부 요약하는 것만큼 포괄적이진 않지만, 로컬 하드웨어에서는 훨씬 빠르고 자원도 덜 먹음
    GitHub 데모는 12GB vRAM을 가진 일반 소비자용 GPU인 AMD RX 6700 XT에서 돌아감

    • 가능하다면 이걸 어떻게 만들었는지 짧게라도 글로 정리해주면 좋겠음
      이 분야를 더 배우는 중인데 꽤 멋져 보이고, 작업도 잘된 것 같음
    • 신뢰하고 정확한 답변에 관련 있다고 생각하는 사이트만 쓰도록 웹의 일부만 사용하게 만들 수 있는지 궁금함
      또 미리 설치된 웹사이트, 예를 들어 Wikipedia나 다른 위키, 로컬에 보관한 뉴스 사이트로 오프라인 동작이 가능한지도 궁금함
      책이나 연구 논문 같은 PDF 문서도 처리할 수 있는지 궁금함
    • 프로젝트가 정말 멋져 보임
      예전에 TypeScript를 다시 배워야겠다고 목록에 적어뒀는데, 실험해보려고 저장소를 클론했음
      수정: 대부분의 코드가 Go인 걸 방금 봤지만 그래도 가지고 놀아볼 예정임
    • 실행 파일 형태로 제공되면 훨씬 좋겠음
      지금은 명령줄을 다루고 의존성을 해결할 줄 아는 사람에게 더 맞는데, 로컬 시스템과 씨름하다 보면 Docker도 그런 문제를 피하지 못할 때가 있음
    • 웹사이트를 긁어올 때 HTML 전체를 정해진 크기 조각으로 그냥 자르는지, 아니면 관심 있는 텍스트를 뽑는 더 정교한 로직이 있는지 궁금함
      요즘 뉴스 사이트에는 팝업 같은 오염 요소가 많은데, 그런 것도 데이터베이스에 들어가는지 알고 싶음
  • 멋져 보이는데, Autogen처럼 역할이 명확히 나뉜 여러 에이전트가 함께 문제를 푸는 구성을 만들 수 있는지 궁금함

  • 5년 뒤인 2030년쯤에는 많은 추론이 로컬 머신에서 일어나고, 모델은 필요할 때 내려받는 방식이 될 것 같음
    AI 모델용 Docker 레지스트리 같은 모습인데, 사실 Hugging Face가 이미 거의 그 역할을 하고 있음
    모델 추론 코드와 기법, 하드웨어, 그리고 위 프로젝트 같은 소프트웨어 패키징의 최적화 덕분에 그렇게 될 듯함
    지금 많은 AI 스타트업의 수십억 달러 가치평가가 실제 성과로 이어질 것 같지는 않음

    • 왜 그렇게 될까?
      거대한 모델은 중앙의 특수 목적 하드웨어에서 돌리고, 비교적 작은 결과만 인터넷으로 보내는 편이 훨씬 효율적임
      비유하자면 휴대폰 안에서 검색 엔진을 직접 돌리지는 않지 않나
    • “640KB면 모두에게 충분할 것이다.” — Gates
      더 강력한 연산 능력과 하드웨어가 나오면 모델도 함께 진화하고 커질 것 같음
      지금 최첨단 모델의 축소판 n개 정도는 돌릴 수 있겠지만, 그때쯤이면 거대 모델은 더 커지고 필요한 연산량도 늘어날 것임
      6년 된 모델은 레트로 컴퓨팅처럼 느껴질 가능성이 큼
      새 고성능 PC에서 6년 전 게임은 돌릴 수 있지만, 그 시점의 최신 대형 게임은 오래된 머신에서 잘 안 돌아가는 것과 비슷함
    • 안타깝게도 학습 비용이 엄청나게 비쌈
      StabilityAI도 생존에 어려움을 겪고 있고, Anthropic은 학습 전용 슈퍼컴퓨터를 만들려고 1,000억 달러를 쓰려 함
      그래서 이런 민간 회사들이 앞으로 수십 년간 최고의 AI를 갖게 될 것 같음
  • 훌륭한 프로젝트임
    내가 별을 눌렀던 10~12시간 전쯤부터 이 글을 다시 확인할 때까지 500개 이상 별이 늘었음
    star-history 차트로 보면 이렇다: https://star-history.com/#nilsherzig/LLocalSearch

    • 차트 링크 고마움
      어제보다 별이 1천 개 더 늘어난 상태로 일어났고, 좀 스트레스받고 있음
    • 저 차트 생성기 괜찮아 보임
      언젠가 별을 받게 되면 써봐야겠음
  • 예전에 내 개인 프로젝트 Airdraw에 댓글을 남겨줘서 정말 고마웠음
    이 프로젝트도 멋지고, 또 하나의 인기 프로젝트가 될 길에 올라선 것 같아 가지고 놀아보는 게 기대됨

    • 오늘 우연히 이 글을 보고 사용자 이름을 알아본 건가?
    • 맞음, 그 프로젝트에 정말 인상받았음 :)
  • 이런 프로젝트를 볼 때마다 프롬프트를 읽는 게 항상 흥미로움
    “추가된 파일과 웹사이트를 검색하는 데 유용함. 전체 질문이 아니라 텍스트 안의 키워드를 검색하고, ‘어제’ 같은 상대적인 단어는 피하며, 텍스트에 무엇이 들어 있을지 생각하라.”
    “이 도구의 입력은 벡터 DB에 대해 실행된다. 상위 결과는 JSON으로 반환된다.”
    아마 각 설명은 개발자가 겪은 버그를 고치려는 시도일 텐데, 그 수정이 Go가 아니라 영어로 되어 있다는 점이 재미있음

    • 거의 맞음
      프로그램의 성능이 이런 프롬프트에 얼마나 좌우되는지 놀랍고도 답답함
  • 아직 실행해보진 않았지만 정말 유망해 보임
    기업 내부 검색 엔진에 연결해서 거기서 답변을 얻는 식으로 쓰면 아주 유용할 것 같음
    로컬 LLM과 연결되는 API 키 없는 제품이 더 많이 만들어지는 건 반가움

    • 사내 Confluence에 연결해볼 수도 있을 듯하고, 문제는 없을 것 같음
  • 훌륭한 작업임
    이런 멋진 사이드 프로젝트는 결국 좋은 스타트업에 채용되는 데 도움이 되거나, 직접 회사를 만드는 계기가 될 수도 있음
    다른 메이커들도 자신의 프로젝트를 HN에 올리고 세상에 내놓아보면 좋겠음

    • 뭔가 시간을 들여 만든 것을 사람들이 좋아해주는 걸 보는 것도 꽤 보람 있음 :)
  • 인상적임
    로컬 모델이 특화 모듈을 호출하는 건 아직 본 적이 없는 것 같음, 물론 워낙 변화가 빨라 전부 따라가진 못하지만
    나도 로컬에서 7B OpenHermes를 쓰는데 정말 좋음

    • 고마움 :)
      사실 대부분은 프롬프트와 문자열 파싱임
      영상에 나온 “Hermes-2-Pro-Mistral” 같은 모델은 함수 시그니처를 다루고 구조화된 텍스트를 출력하도록 학습되어 있음
      그래도 결국은 문자열 입력, 문자열 출력일 뿐임
      프로그램 안에서 조건문이나 반복문 같은 흐름 제어에 LLM을 쓰는 건 재미있고, 가끔은 답답함
    • llama.cpp로 모델을 내려받아 테스트하기 시작한 참이라, 실제로 어떤 모델을 쓰는지 궁금함
      양자화 수준이 여러 가지라 헷갈림
      이 [0]이 쓰고 있는 모델 페이지인지, 아니면 다른 곳을 봐야 하는지 알고 싶음. 실제로 쓰는 모델 파일 이름은 무엇인가?
      [0] https://huggingface.co/TheBloke/OpenHermes-2.5-Mistral-7B-GG...
    • CrewAI 같은 도구도 살펴봤는지 궁금함
      [0] https://www.crewai.io/
    • 어떤 하드웨어를 쓰는지 궁금함
      이런 게 M1 노트북에서도 실행 가능한가?
  • Crunchbase [0]에 따르면 Perplexity는 1억 달러 이상을 투자받았음
    그런데 이걸 여가 시간에 만들었다고?
    몇 가지가 확 눈에 들어옴: 과열 사이클이 얼마나 말도 안 되는 돈을 끌어들이는지, 과열기 VC 업계가 얼마나 형편없는지, 그리고 독창성과 열정이 얼마나 대단한지
    훌륭한 작업임
    0 - https://www.crunchbase.com/organization/perplexity-ai