안녕하세요! 오늘은 퍼플렉시카(Perplexica)라는 오픈 소스 AI 기반 메타 검색 엔진을 소개해드리겠습니다. 퍼플렉시카는 Perplexity AI를 모티브로 개발되었으며, Google, Bing, Yahoo 등 여러 검색엔진의 데이터베이스를 결합하여 하나의 검색결과를 제공하는 메타 검색 엔진, SearXNG을 사용하여 사용자가 검색을 쉽게 하고 시간을 절약할 수 있으며, 개인 정보를 보호하면서 최신 정보를 제공합니다. 이 블로그에서는 최신 언어 모델, Llama3와 Ollama 기반의 오픈소스 메타 검색 엔진, 퍼플렉시카의 개요, 설치방법, 검색결과에 대해 살펴보겠습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
퍼플렉시카(Perplexica) 개요
퍼플렉시카는 GitHub 4k 스타를 받고 있는 오픈소스 프로젝트로 다양한 검색 엔진의 결과를 종합하여 제공함으로써 정확하고 신뢰할 수 있는 정보를 찾을 수 있으며, 학술, 유튜브, 레딧(Reddit)과 수학 분야를 선택해서 집중 검색할 수 있습니다. 다음은 퍼플렉시카 GitHub 페이지에 소개된 주요 특징입니다.
- 포괄적이고 심층적인 정보: 다양한 검색 엔진으로 웹을 검색하고 방대한 양의 데이터를 분석할 수 있으므로 광범위한 주제에 대한 포괄적이고 심층적인 정보를 제공할 수 있습니다.
- 시간 절약: Perplexica는 빠르고 정확한 답변을 제공하여 사용자의 시간을 절약하고 몇 시간의 조사와 여러 웹 사이트를 탐색할 필요가 없습니다.
- 투명한 검색결과: Perplexica의 인용 시스템은 투명성을 보장하여 사용자가 답변을 생성하는 데 사용된 출처를 확인하고 책임을 제공할 수 있도록 합니다.
- 지속적인 학습: Perplexica의 머신 러닝 모델을 통해 지속적으로 학습하고 개선할 수 있으므로 제공된 답변이 항상 최신 상태이고 정확합니다.
https://github.com/ItzCrazyKns/Perplexica
퍼플렉시카는 Groq을 이용한 온라인 LLM과, Ollama를 사용한 Llama3 및 Mixtral과 같은 로컬 LLM을 사용할 수 있으며, 특정 유형의 질문에 더 잘 답변하기 위한 6개의 검색모드를 지원합니다:
- 전체 모드 (All): 웹 전체를 검색하여 최상의 결과를 찾습니다.
- 작문 보조 모드 (Writing): 웹 검색이 필요하지 않은 작문 작업에 유용합니다.
- 학술 검색 모드 (Academic): 논문 및 기사 검색에 적합합니다.
- 유튜브 검색 모드 (Youtube): 검색 쿼리에 기반한 유튜브 비디오를 찾습니다.
- Wolfram Alpha 검색 모드: 수학 분야와 계산이나 데이터 분석 등이 필요한 쿼리에 답변합니다.
- Reddit 검색 모드: Reddit에서 관련 토론과 의견을 검색합니다.
- 최신 정보 제공: SearxNG를 사용하여 최신 정보를 제공하며, 일일 데이터 업데이트의 부담 없이 최신 정보를 제공합니다. SearxNG는 Bing, Google, Reddit, Wikipedia, Yahoo 및 Yandex와 같은 사이트별 검색을 포함하여 약 82개의 서로 다른 엔진에서 검색 결과를 가져올 수 있으며, 광범위한 검색 엔진 및 데이터베이스에서 결과를 수집하여 사용자에게 포괄적인 검색 경험을 제공합니다.
- 이미지 및 비디오 검색: 이미지와 비디오 검색 기능을 제공합니다.
설치 및 환경설정
퍼플렉시카의 설치 방법은 도커(Docker)를 사용하는 설치 방법과 사용하지 않는 설치 방법이 있습니다. 이 블로그의 실행환경은 Windows 11 Pro(23H2), 파이썬 버전 3.11, 코드 에디터는 비주얼 스튜디오 코드(이하 VSC)입니다.
먼저 도커를 사용하는 설치 방법은 다음과 같습니다.
- 1. Docker를 설치하고 실행합니다. Ollama의 설치 및 서비스 상태와 nomic embed 모델이 다운로드되어 있는지 확인하고, 없는경우, "ollama pull nomic-embed-text" 명령어로 다운로드 합니다.
- 2. 아래 명령어로 GitHub 레포지토리를 클론 합니다
git clone https://github.com/ItzCrazyKns/Perplexica.git
- 3. 프로젝트 디렉토리로 이동합니다.
- 4. `sample.config.toml` 파일을 `config.toml`로 이름 변경하고 다음과 같이 작성합니다. 언어 모델 추론 가속 솔루션 Groq의 API Key는 https://console.groq.com/keys에서 발급받으면 됩니다.
[API_KEYS]
OPENAI = ""
GROQ = "발급받은 AAAPI Key"
[API_ENDPOINTS]
OLLAMA = "http://localhost:11434"
SEARXNG = "http://localhost:32768"
[GENERAL]
PORT = 3_001
SIMILARITY_MEASURE = "cosine"
- 5. `docker-compose.yaml` 파일이 있는 메인 작업 디렉토리에서 다음 명령어를 실행합니다:
docker compose up -d
- 6. 설정이 완료되면 웹 브라우저에서 `http://localhost:3000`에 접속합니다.
http://localhost:3000에 접속하면 다음 화면과 같이 초기화면을 만나실 수 있습니다.
다음은 도커를 사용하지 않는 설치 방법입니다.
- 1. 레포지토리를 클론하고 `sample.config.toml` 파일을 `config.toml`로 이름 변경합니다.
- 2. `ui` 폴더에서 `.env.example` 파일을 `.env`로 이름 변경하고 필요한 모든 필드를 채웁니다.
NEXT_PUBLIC_WS_URL=ws://localhost:3001
NEXT_PUBLIC_API_URL=http://localhost:3001/api
- 3. 루트 디렉토리와 `ui` 폴더에서 각각 `npm i`를 실행하여 의존성을 설치합니다.
- 4. 루트 디렉토리와 `ui` 폴더에서 각각 `npm run build`를 실행하여 빌드를 수행합니다.
- 5. 루트 디렉토리와 `ui` 폴더에서 각각 `npm run start`를 실행하여 프론트엔드와 백엔드를 시작합니다.
설치 완료 후 설정 메뉴에서 Groq 언어 모델과 Ollama 엠베딩 모델을 선택하고, Ollama API URL과 Groq API Key를 입력합니다. 저의 경우 도커 방식으로 설치완료 후 엠베딩 모델 설정 메뉴에서 Ollama의 엠베딩 모델이 보이지 않는 에러가 있어서, 두 번째 설치방법을 실행한 후, 다시 "docker compose up -d" 명령을 실행하여 에러를 해결하였습니다.
검색 실행결과
설치가 완료되면, 아래 화면과 같이 프론트엔드와 백엔드, SearxNG 도커 컨테이너가 표시되고 http://localhost:3000의 주소에서 퍼플렉시카 화면을 확인할 수 있습니다.
검색을 할 때 한국어로 요청을 해도 Llama3가 잘 응답해 주며, 답변내용은 브라우저의 번역기능을 사용하시면 불편 없이 사용하실 수 있습니다. 다음 화면은 유튜브 검색모드에서 OpenAI의 최신 동영상을 검색한 결과입니다.
다음 화면은 학술검색 모드에서 검색한 결과입니다. arxiv를 포함한 다양한 학술분야의 검색결과가 표시됩니다.
다음 화면은 다양한 주제로 검색한 결과 화면입니다.
맺음말
퍼플렉시카(Perplexica)는 다양한 검색 엔진의 데이터를 종합하여 제공하는 혁신적인 오픈 소스 메타 검색 엔진으로, Google, Bing, Yahoo 등의 검색 결과를 한 곳에서 확인할 수 있어, 정보 검색이 훨씬 효율적이며, 특히, 최신 언어 모델인 Llama3와 Ollama 기반의 기능을 통해 보다 정확하고 신뢰할 수 있는 정보를 제공합니다. 이러한 기능은 학술 논문 검색, 유튜브 비디오 탐색, Reddit 토론 참여 등 다양한 목적으로 활용될 수 있습니다.
퍼플렉시카를 설치하고 사용해 본 느낌은 다음과 같습니다.
- 다양한 검색엔진의 검색결과가 종합되어 검색결과가 투명하고, 정확합니다.
- SearxNG 익명 검색으로 개인 정보 노출에 대한 위험이 낮습니다.
- Copilot, 라이브러리 등 일부 기능은 개발 중이지만, 인터페이스가 깔끔합니다.
블로그 글이 퍼플렉시카에 대한 이해를 높이는 데 도움이 되셨기를 바랍니다. 앞으로도 최신 기술과 유용한 인공지능 도구들을 지속적으로 소개하여, 여러분의 정보 검색과 활용에 도움이 되는 블로그가 되겠습니다. 감사합니다!
'AI 도구' 카테고리의 다른 글
LobeChat: AI 기반 대화 서비스 플랫폼 설치 및 활용 가이드 (1) | 2024.05.28 |
---|---|
💻구글 Firebase Genkit: Ollama와 연동되는 쉽고 빠른 AI앱 개발 환경 (0) | 2024.05.25 |
Deepgram을 활용한 AI 음성 대화 시스템 구축 가이드 (0) | 2024.05.22 |
Answer Engine: AI 검색엔진, 퍼플렉시티를 내 컴퓨터에서 무료로 돌리자! (Next.js, Ollama, Serper 활용 가이드) (0) | 2024.05.19 |
NVIDIA ChatRTX 2024. 5월 최신 업데이트: 설치 및 사용 후기 (0) | 2024.05.16 |