Perplexica Project Details
Project Overview
Perplexica is an open-source, AI-powered search tool or AI search engine that delves deep into the internet to find answers. Inspired by Perplexity AI, it's an open-source alternative that not only searches the web but also understands your questions. The project utilizes advanced machine learning algorithms, such as similarity search and embedding techniques, to optimize results and provide clear answers with cited sources.
Core Features
1. Local Large Language Model Support
- Supports running local LLMs like Llama3 and Mixtral using Ollama.
- No reliance on external APIs, protecting privacy and security.
2. Dual Working Modes
Copilot Mode (Under Development)
- Enhances search effectiveness by generating different queries.
- Accesses top matching results, finding relevant sources directly from pages.
- Smarter information extraction than regular search.
Normal Mode
- Processes queries and performs web searches.
- Provides fast and accurate search results.
3. Six Professional Focus Modes
- All Mode: Searches the entire web to find the best results.
- Writing Assistant Mode: Helps with writing tasks that don't require web search.
- Academic Search Mode: Finds articles and papers, suitable for academic research.
- YouTube Search Mode: Finds YouTube videos based on search queries.
- Wolfram Alpha Search Mode: Uses Wolfram Alpha to answer queries requiring calculation or data analysis.
- Reddit Search Mode: Searches Reddit for discussions and opinions related to the query.
4. Real-time Information Retrieval
Uses the SearxNG meta-search engine to retrieve results, ensuring you always get the latest information and avoid outdated data issues.
5. API Support
Provides a complete API interface for easy integration into existing applications.
Technical Architecture
- Frontend: Next.js framework
- Search Engine: SearxNG meta-search engine
- AI Models: Supports various models including OpenAI, Ollama, Groq, Anthropic, etc.
- Deployment Method: Docker containerized deployment (recommended) or traditional deployment.
Installation Instructions
Docker Installation (Recommended)
- Ensure Docker is installed and running.
- Clone the repository:
git clone https://github.com/ItzCrazyKns/Perplexica.git
- Rename the configuration file:
cp sample.config.toml config.toml
- Configure the necessary API keys (OpenAI, Ollama, Groq, Anthropic, etc.).
- Start the service:
docker compose up -d
- Access
http://localhost:3000
Traditional Installation Method
- Install and configure SearXNG.
- Clone the repository and configure
config.toml
.
- Install dependencies:
npm i
- Build the project:
npm run build
- Start the application:
npm run start
Troubleshooting
Ollama Connection Error
Set the correct API URL according to your operating system:
- Windows/Mac:
http://host.docker.internal:11434
- Linux:
http://<private_ip_of_host>:11434
Linux User Network Exposure Settings
Add the following to /etc/systemd/system/ollama.service
:
Environment="OLLAMA_HOST=0.0.0.0"
Then restart the service:
systemctl restart ollama
Using as a Search Engine
You can set Perplexica as your browser's default search engine:
- Add a new search engine in your browser settings.
- Use the URL:
http://localhost:3000/?q=%s
- Adjust the domain name and port according to your actual deployment.
API Documentation
Perplexica provides a complete API interface, supporting:
- Executing search queries
- Using multiple models
- Obtaining answers to questions
Detailed documentation can be found at: API Documentation
Summary
Perplexica is a powerful open-source AI search engine that offers rich search modes and powerful AI capabilities. It is not only an excellent alternative to Perplexity AI but also an ideal choice for those who value privacy protection and local deployment. Whether for personal use or enterprise integration, Perplexica can provide an excellent search experience.
