Open source alternative to Perplexity AI with ability to run locally.
This project aims to build a tool that can be run locally, is open-source, and delivers faster answers, serving as an alternative to Perplexity AI.
- Run locally using ollama or use openai API
- local VectorDB for fast search
- very quick searching, scraping & answering due to parallelism
- Configurable number of search results to parse
- local scraping of websites
(You can watch the demo on YouTube too here)
- Clone the repository -
git clone https://github.com/shadowfax92/fyin.app
- Get Bing API key or searxng URL or duckduckgo URL
- Get OpenAI API key or Ollama
- Fill/setup the environment variables (see
sample.env
file, copy it to.fyin.env
and fill the values)) cargo run --query "<Question>" -n <number of search results>
# Open AI config; Ollama config in comments
# OPENAI_API_KEY="ollama"
OPENAI_API_KEY="your-openai-api-key"
# OPENAI_BASE_URL=http://localhost:11434/v1
# Leave blank for default
OPENAI_BASE_URL=
BING_SUBSCRIPTION_KEY="your-bing-subscription-key"
# Leave blank for default
BING_ENDPOINT=
# EMBEDDING_MODEL_NAME="llama3"
EMBEDDING_MODEL_NAME="text-embedding-ada-002"
# CHAT_MODEL_NAME="llama3"
CHAT_MODEL_NAME="gpt-4o"
# Search engine config
SEARCH_ENGINE="bing" # Options: bing, searxng, duckduckgo
SEARXNG_ENDPOINT="your-searxng-endpoint"
DUCKDUCKGO_ENDPOINT="your-duckduckgo-endpoint"
Here is how you can run the app using docker:
- Build the docker image -
docker build -t fyin .
- Create environment file -
cp sample.env .env
and populate the values - Run the docker container
docker run --rm --env-file .env fyin --query "<your question>" --search <optional: number of search results to parse>
- The app use Bing API for searching. You can get from Active Bing API.
- You can get OpenAI API key form OpenAI.
- Ollama setup instructions here.
- Simlar to perplexity.ai, use GPT to figure out 3-5 search queries based on prompt
- This should give better results as we are translating human query into search query.
- Build a simple website
- Hosted version of the app