https://github.com/ItzCrazyKns/Perplexica Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} ItzCrazyKns / Perplexica Public * Notifications * Fork 450 * Star 5.1k * Perplexica is an AI-powered search engine. It is an Open source alternative to Perplexity AI License MIT license 5.1k stars 450 forks Branches Tags Activity Star Notifications * Code * Issues 20 * Pull requests 5 * Discussions * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Actions * Projects * Security * Insights ItzCrazyKns/Perplexica This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 126 Commits .assets .assets .github/ .github/ ISSUE_TEMPLATE ISSUE_TEMPLATE docs docs searxng searxng src src ui ui .dockerignore .dockerignore .gitignore .gitignore .prettierignore .prettierignore .prettierrc.js .prettierrc.js CONTRIBUTING.md CONTRIBUTING.md LICENSE LICENSE README.md README.md app.dockerfile app.dockerfile backend.dockerfile backend.dockerfile docker-compose.yaml docker-compose.yaml package.json package.json sample.config.toml sample.config.toml tsconfig.json tsconfig.json yarn.lock yarn.lock View all files Repository files navigation * README * MIT license Perplexica - An AI-powered search engine preview Table of Contents * Overview * Preview * Features * Installation + Getting Started with Docker (Recommended) + Non-Docker Installation + Ollama connection errors * Using as a Search Engine * One-Click Deployment * Upcoming Features * Support Us + Donations * Contribution * Help and Support Overview 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. Using SearxNG to stay current and fully open source, Perplexica ensures you always get the most up-to-date information without compromising your privacy. Want to know more about its architecture and how it works? You can read it here. Preview video-preview Features * Local LLMs: You can make use local LLMs such as Llama3 and Mixtral using Ollama. * Two Main Modes: + 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. * Focus Modes: Special modes to better answer specific types of questions. Perplexica currently has 6 focus modes: + 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. Installation There are mainly 2 ways of installing Perplexica - With Docker, Without Docker. Using Docker is highly recommended. Getting Started with Docker (Recommended) 1. Ensure Docker is installed and running on your system. 2. Clone the Perplexica repository: git clone https://github.com/ItzCrazyKns/Perplexica.git 3. After cloning, navigate to the directory containing the project files. 4. Rename the sample.config.toml file to config.toml. For Docker setups, you need only fill in the following fields: + 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 Note: You can change these after starting Perplexica from the settings dialog. + SIMILARITY_MEASURE: The similarity measure to use (This is filled by default; you can leave it as is if you are unsure about it.) 5. Ensure you are in the directory containing the docker-compose.yaml file and execute: docker compose up -d 6. Wait a few minutes for the setup to complete. You can access Perplexica at http://localhost:3000 in your web browser. Note: After the containers are built, you can start Perplexica directly from Docker without having to open a terminal. Non-Docker Installation 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. 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. 5. Finally, start both the frontend and the backend by running npm run start in both the ui folder and the root directory. Note: Using Docker is recommended as it simplifies the setup process, especially for managing environment variables and dependencies. See the installation documentation for more information like exposing it your network, etc. Ollama connection errors 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: On Windows: http://host.docker.internal:11434 On Mac: http://host.docker.internal:11434 On Linux: http://private_ip_of_computer_hosting_ollama:11434 You need to edit the ports accordingly. Using as a Search Engine 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: 1. Open your browser's settings. 2. Navigate to the 'Search Engines' section. 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. 4. Click the add button. Now, you can use Perplexica directly from your browser's search bar. One-Click Deployment Deploy to RepoCloud Upcoming Features * [ ] Finalizing Copilot Mode * [*] Add settings page * [*] Adding support for local LLMs * [ ] Adding Discover and History Saving features * [*] Introducing various Focus Modes Support Us 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. Donations 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! Crypto donation button by NOWPayments Contribution 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 file to learn more about Perplexica and how you can contribute to it. Help and Support 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 to join the Discord server. To discuss matters outside of regular support, feel free to contact me on Discord at itzcrazykns. 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! About Perplexica is an AI-powered search engine. It is an Open source alternative to Perplexity AI Topics search-engine machine-learning artificial-intelligence searxng ai-search-engine perplexity-ai open-source-perplexity-ai open-source-ai-search-engine perplexica searxng-copilot Resources Readme License MIT license Activity Stars 5.1k stars Watchers 29 watching Forks 450 forks Report repository Releases 11 v1.5.0 Latest May 18, 2024 + 10 releases Contributors 4 * @ItzCrazyKns ItzCrazyKns ItzCrazyKns * @WanQuanXie WanQuanXie WanQuanXie * @aiyogg aiyogg Chuck * @Swiftyos Swiftyos Swifty Languages * TypeScript 99.1% * Other 0.9% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.