2024-04-14 13:19:07 +05:30
|
|
|
# 🚀 Perplexica - An AI-powered search engine 🔎 <!-- omit in toc -->
|
2024-04-09 16:21:05 +05:30
|
|
|
|
|
|
|

|
|
|
|
|
2024-04-14 13:19:07 +05:30
|
|
|
## Table of Contents <!-- omit in toc -->
|
|
|
|
|
|
|
|
- [Overview](#overview)
|
|
|
|
- [Preview](#preview)
|
|
|
|
- [Features](#features)
|
|
|
|
- [Installation](#installation)
|
2024-05-25 08:16:13 -04:00
|
|
|
- [Getting Started with Docker (Recommended)](#getting-started-with-docker-recommended)
|
|
|
|
- [Non-Docker Installation](#non-docker-installation)
|
|
|
|
- [Ollama connection errors](#ollama-connection-errors)
|
2024-05-11 12:14:49 +05:30
|
|
|
- [Using as a Search Engine](#using-as-a-search-engine)
|
2024-05-02 15:05:21 +05:30
|
|
|
- [One-Click Deployment](#one-click-deployment)
|
2024-04-14 13:19:07 +05:30
|
|
|
- [Upcoming Features](#upcoming-features)
|
|
|
|
- [Support Us](#support-us)
|
2024-05-25 08:16:13 -04:00
|
|
|
- [Donations](#donations)
|
2024-04-14 13:19:07 +05:30
|
|
|
- [Contribution](#contribution)
|
2024-04-25 20:22:53 +05:30
|
|
|
- [Help and Support](#help-and-support)
|
2024-04-14 13:19:07 +05:30
|
|
|
|
2024-04-09 16:21:05 +05:30
|
|
|
## Overview
|
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
Perplexica is an open-source AI-powered searching tool or an AI-powered search engine that goes deep into the internet
|
|
|
|
to find answers. Inspired by Perplexity AI, it's an open-source option that not just searches the web but understands
|
|
|
|
your questions. It uses advanced machine learning algorithms like similarity searching and embeddings to refine results
|
|
|
|
and provides clear answers with sources cited.
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
Using SearxNG to stay current and fully open source, Perplexica ensures you always get the most up-to-date information
|
|
|
|
without compromising your privacy.
|
2024-04-25 20:22:53 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
Want to know more about its architecture and how it works? You can read
|
|
|
|
it [here](https://github.com/ItzCrazyKns/Perplexica/tree/master/docs/architecture/README.md).
|
2024-05-03 16:31:58 +05:30
|
|
|
|
2024-04-09 16:21:05 +05:30
|
|
|
## Preview
|
2024-04-12 21:39:46 +05:30
|
|
|
|
2024-04-09 16:21:05 +05:30
|
|
|

|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
2024-04-23 17:15:07 +05:30
|
|
|
- **Local LLMs**: You can make use local LLMs such as Llama3 and Mixtral using Ollama.
|
2024-04-09 16:21:05 +05:30
|
|
|
- **Two Main Modes:**
|
2024-05-25 08:16:13 -04:00
|
|
|
- **Copilot Mode:** (In development) Boosts search by generating different queries to find more relevant internet
|
|
|
|
sources. Like normal search instead of just using the context by SearxNG, it visits the top matches and tries to
|
|
|
|
find relevant sources to the user's query directly from the page.
|
|
|
|
- **Normal Mode:** Processes your query and performs a web search.
|
2024-04-13 12:11:47 +05:30
|
|
|
- **Focus Modes:** Special modes to better answer specific types of questions. Perplexica currently has 6 focus modes:
|
2024-05-25 08:16:13 -04:00
|
|
|
- **All Mode:** Searches the entire web to find the best results.
|
|
|
|
- **Writing Assistant Mode:** Helpful for writing tasks that does not require searching the web.
|
|
|
|
- **Academic Search Mode:** Finds articles and papers, ideal for academic research.
|
|
|
|
- **YouTube Search Mode:** Finds YouTube videos based on the search query.
|
|
|
|
- **Wolfram Alpha Search Mode:** Answers queries that need calculations or data analysis using Wolfram Alpha.
|
|
|
|
- **Reddit Search Mode:** Searches Reddit for discussions and opinions related to the query.
|
|
|
|
- **Current Information:** Some search tools might give you outdated info because they use data from crawling bots and
|
|
|
|
convert them into embeddings and store them in a index. Unlike them, Perplexica uses SearxNG, a metasearch engine to
|
|
|
|
get the results and rerank and get the most relevant source out of it, ensuring you always get the latest information
|
|
|
|
without the overhead of daily data updates.
|
|
|
|
|
|
|
|
It has many more features like image and video search. Some of the planned features are mentioned
|
|
|
|
in [upcoming features](#upcoming-features).
|
2024-04-09 16:21:05 +05:30
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
There are mainly 2 ways of installing Perplexica - With Docker, Without Docker. Using Docker is highly recommended.
|
|
|
|
|
|
|
|
### Getting Started with Docker (Recommended)
|
|
|
|
|
2024-04-12 21:39:46 +05:30
|
|
|
1. Ensure Docker is installed and running on your system.
|
2024-04-09 16:21:05 +05:30
|
|
|
2. Clone the Perplexica repository:
|
|
|
|
|
2024-04-12 21:39:46 +05:30
|
|
|
```bash
|
|
|
|
git clone https://github.com/ItzCrazyKns/Perplexica.git
|
|
|
|
```
|
|
|
|
|
|
|
|
3. After cloning, navigate to the directory containing the project files.
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-04-20 09:32:19 +05:30
|
|
|
4. Rename the `sample.config.toml` file to `config.toml`. For Docker setups, you need only fill in the following fields:
|
2024-04-13 12:11:47 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
- `OPENAI`: Your OpenAI API key. **You only need to fill this if you wish to use OpenAI's models**.
|
|
|
|
- `OLLAMA`: Your Ollama API URL. You should enter it as `http://host.docker.internal:PORT_NUMBER`. If you installed
|
|
|
|
Ollama on port 11434, use `http://host.docker.internal:11434`. For other ports, adjust accordingly. **You need to
|
|
|
|
fill this if you wish to use Ollama's models instead of OpenAI's**.
|
|
|
|
- `GROQ`: Your Groq API key. **You only need to fill this if you wish to use Groq's hosted models**
|
2024-04-20 11:18:52 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
**Note**: You can change these after starting Perplexica from the settings dialog.
|
2024-04-20 11:18:52 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
- `SIMILARITY_MEASURE`: The similarity measure to use (This is filled by default; you can leave it as is if you are
|
|
|
|
unsure about it.)
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-04-12 21:39:46 +05:30
|
|
|
5. Ensure you are in the directory containing the `docker-compose.yaml` file and execute:
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-04-12 21:39:46 +05:30
|
|
|
```bash
|
2024-04-17 21:00:43 +05:30
|
|
|
docker compose up -d
|
2024-04-12 21:39:46 +05:30
|
|
|
```
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-05-13 20:10:44 +05:30
|
|
|
6. Wait a few minutes for the setup to complete. You can access Perplexica at http://localhost:3000 in your web browser.
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
**Note**: After the containers are built, you can start Perplexica directly from Docker without having to open a
|
|
|
|
terminal.
|
2024-04-09 16:21:05 +05:30
|
|
|
|
|
|
|
### Non-Docker Installation
|
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
1. Clone the repository and rename the `sample.config.toml` file to `config.toml` in the root directory. Ensure you
|
|
|
|
complete all required fields in this file.
|
2024-04-29 21:22:33 +05:30
|
|
|
2. Rename the `.env.example` file to `.env` in the `ui` folder and fill in all necessary fields.
|
|
|
|
3. After populating the configuration and environment files, run `npm i` in both the `ui` folder and the root directory.
|
|
|
|
4. Install the dependencies and then execute `npm run build` in both the `ui` folder and the root directory.
|
2024-05-25 08:16:13 -04:00
|
|
|
5. Finally, start both the frontend and the backend by running `npm run start` in both the `ui` folder and the root
|
|
|
|
directory.
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
**Note**: Using Docker is recommended as it simplifies the setup process, especially for managing environment variables
|
|
|
|
and dependencies.
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
See the [installation documentation](https://github.com/ItzCrazyKns/Perplexica/tree/master/docs/installation) for more
|
|
|
|
information like exposing it your network, etc.
|
2024-05-11 12:09:08 +05:30
|
|
|
|
2024-05-12 14:04:05 +05:30
|
|
|
### Ollama connection errors
|
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
If you're facing an Ollama connection error, it is often related to the backend not being able to connect to Ollama's
|
|
|
|
API. How can you fix it? You can fix it by updating your Ollama API URL in the settings menu to the following:
|
2024-05-12 14:04:05 +05:30
|
|
|
|
|
|
|
On Windows: `http://host.docker.internal:11434`<br>
|
|
|
|
On Mac: `http://host.docker.internal:11434`<br>
|
|
|
|
On Linux: `http://private_ip_of_computer_hosting_ollama:11434`
|
|
|
|
|
|
|
|
You need to edit the ports accordingly.
|
|
|
|
|
2024-05-11 12:14:49 +05:30
|
|
|
## Using as a Search Engine
|
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
If you wish to use Perplexica as an alternative to traditional search engines like Google or Bing, or if you want to add
|
|
|
|
a shortcut for quick access from your browser's search bar, follow these steps:
|
2024-05-11 12:14:49 +05:30
|
|
|
|
|
|
|
1. Open your browser's settings.
|
|
|
|
2. Navigate to the 'Search Engines' section.
|
2024-05-25 08:16:13 -04:00
|
|
|
3. Add a new site search with the following URL: `http://localhost:3000/?q=%s`. Replace `localhost` with your IP address
|
|
|
|
or domain name, and `3000` with the port number if Perplexica is not hosted locally.
|
2024-05-11 12:14:49 +05:30
|
|
|
4. Click the add button. Now, you can use Perplexica directly from your browser's search bar.
|
|
|
|
|
2024-05-02 15:05:21 +05:30
|
|
|
## One-Click Deployment
|
|
|
|
|
|
|
|
[](https://repocloud.io/details/?app_id=267)
|
|
|
|
|
2024-04-09 16:21:05 +05:30
|
|
|
## Upcoming Features
|
|
|
|
|
2024-04-13 12:11:47 +05:30
|
|
|
- [ ] Finalizing Copilot Mode
|
2024-04-23 16:52:41 +05:30
|
|
|
- [x] Add settings page
|
2024-04-21 16:22:27 +05:30
|
|
|
- [x] Adding support for local LLMs
|
2024-04-13 12:11:47 +05:30
|
|
|
- [ ] Adding Discover and History Saving features
|
|
|
|
- [x] Introducing various Focus Modes
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-04-14 13:19:07 +05:30
|
|
|
## Support Us
|
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
If you find Perplexica useful, consider giving us a star on GitHub. This helps more people discover Perplexica and
|
|
|
|
supports the development of new features. Your support is greatly appreciated.
|
2024-05-07 13:03:06 +05:30
|
|
|
|
|
|
|
### Donations
|
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
We also accept donations to help sustain our project. If you would like to contribute, you can use the following button
|
|
|
|
to make a donation in cryptocurrency. Thank you for your support!
|
2024-05-07 13:03:06 +05:30
|
|
|
|
|
|
|
<a href="https://nowpayments.io/donation?api_key=RFFKJH1-GRR4DQG-HFV1DZP-00G6MMK&source=lk_donation&medium=referral" target="_blank">
|
|
|
|
<img src="https://nowpayments.io/images/embeds/donation-button-white.svg" alt="Crypto donation button by NOWPayments">
|
|
|
|
</a>
|
2024-04-14 13:19:07 +05:30
|
|
|
|
2024-04-09 16:21:05 +05:30
|
|
|
## Contribution
|
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
Perplexica is built on the idea that AI and large language models should be easy for everyone to use. If you find bugs
|
|
|
|
or have ideas, please share them in via GitHub Issues. For more information on contributing to Perplexica you can read
|
|
|
|
the [CONTRIBUTING.md](CONTRIBUTING.md) file to learn more about Perplexica and how you can contribute to it.
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-04-25 20:22:53 +05:30
|
|
|
## Help and Support
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
If you have any questions or feedback, please feel free to reach out to us. You can create an issue on GitHub or join
|
|
|
|
our Discord server. There, you can connect with other users, share your experiences and reviews, and receive more
|
|
|
|
personalized help. [Click here](https://discord.gg/EFwsmQDgAu) to join the Discord server. To discuss matters outside of
|
|
|
|
regular support, feel free to contact me on Discord at `itzcrazykns`.
|
2024-04-09 16:21:05 +05:30
|
|
|
|
2024-05-25 08:16:13 -04:00
|
|
|
Thank you for exploring Perplexica, the AI-powered search engine designed to enhance your search experience. We are
|
|
|
|
constantly working to improve Perplexica and expand its capabilities. We value your feedback and contributions which
|
|
|
|
help us make Perplexica even better. Don't forget to check back for updates and new features!
|