Perplexica is an innovative open-source AI-powered search engine that delves deep into the internet to find answers to your questions. Inspired by Perplexity AI, Perplexica goes beyond simple web searches by actually understanding the intent behind user queries.
The project leverages advanced machine learning algorithms, such as similarity searching and embedding techniques, to refine search results and provide clear, concise answers with properly cited sources.
Key Features
Local Large Language Models (LLMs)
Perplexica supports the use of local large language models like Ollama, enabling users to harness the power of AI without relying on cloud-based services. This allows for greater privacy and customization options.
Two Main Modes
- Copilot Mode (currently in development): This mode enhances the search experience by generating different queries to find the most relevant internet sources. Unlike normal searches that rely solely on the context provided by SearxNG, Copilot Mode visits top matches and extracts pertinent information directly from the pages.
- Normal Mode: This mode processes the user’s query and performs a standard web search.
Focus Modes
Perplexica offers six specialized focus modes designed to provide better answers for specific types of queries:
- All Mode: Searches the entire web to find the most comprehensive results.
- Writing Assistant Mode: Assists with writing tasks without the need for web searches.
- Academic Search Mode: Locates scholarly articles and papers, ideal for academic research.
- YouTube Search Mode: Finds relevant YouTube videos based on the search query.
- Wolfram Alpha Search Mode: Answers queries requiring calculations or data analysis using Wolfram Alpha’s powerful engine.
- Reddit Search Mode: Searches Reddit for discussions and opinions related to the user’s query.
Up-to-Date Information
While some search tools may provide outdated information due to their reliance on data from crawling bots converted into embeddings and stored in an index, Perplexica ensures the freshest results by utilizing SearxNG. This metasearch engine retrieves results, re-ranks them, and identifies the most relevant sources, guaranteeing users always receive the latest information without the overhead of daily data updates.
Use Cases
Perplexica serves as an excellent alternative to traditional search engines like Google or Bing for users seeking a tool that not only searches the internet but also understands their queries, delivers highly relevant results, and protects their privacy.
The project caters to a wide range of scenarios, including:
- Accessing the most current information
- Conducting academic research
- Obtaining writing assistance
- Searching for YouTube videos
- Performing data analysis queries using Wolfram Alpha
- Finding Reddit discussions on specific topics
Installation Methods
Using Docker (Recommended)
- Ensure Docker is installed and running on your system.
- Clone the Perplexica repository.
git clone https://github.com/ItzCrazyKns/Perplexica.git
- Navigate to the project directory.
- Rename
sample.config.toml
toconfig.toml
and fill in the necessary fields:- OPENAI: Your OpenAI API key (if using OpenAI models).
- OLLAMA: Your Ollama API URL (e.g.,
http://host.docker.internal:PORT_NUMBER
). - GROQ: Your Groq API key (if using Groq’s hosted models).
- Run
docker compose up -d
in the directory containingdocker-compose.yaml
.
docker compose up -d
- Wait a few minutes for setup to complete, then access Perplexica at
http://localhost:3000
.
Non-Docker Installation
- Clone the repository and rename
sample.config.toml
toconfig.toml
in the root directory. - Fill in all required fields in
config.toml
. - Rename
.env.example
to.env
in theui
folder and fill in all required fields. - Run
npm i
in both theui
folder and root directory to install dependencies. - Run
npm run build
in both theui
folder and root directory. - Run
npm run start
in both theui
folder and root directory to start the frontend and backend.
Note: Using Docker is recommended as it simplifies the setup process, especially for managing environment variables and dependencies.
For more information on installation, such as exposing Perplexica on a network, please refer to the installation documentation.
Conclusion
Perplexica represents a significant leap forward in the realm of AI-powered search engines. By combining cutting-edge machine learning techniques with an open-source approach, Perplexica offers users a powerful, privacy-focused alternative to proprietary search tools. As the project continues to evolve and introduce new features, it is poised to revolutionize the way we access and discover information online.