Skip to content

Open source alternative to Perplexity AI with ability to run locally

License

Notifications You must be signed in to change notification settings

shadowfax92/Fyin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fyin

Open source alternative to Perplexity AI with ability to run locally.

Motivation

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.

Features

  • 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

Demo

Youtube Demo - Running locally with OpenAI gpt-4o

(You can watch the demo on YouTube too here)


Installation

  1. Clone the repository - git clone https://github.com/shadowfax92/fyin.app
  2. Get Bing API key or searxng URL or duckduckgo URL
  3. Get OpenAI API key or Ollama
  4. Fill/setup the environment variables (see sample.env file, copy it to .fyin.env and fill the values))
  5. cargo run --query "<Question>" -n <number of search results>

Environment Variables

# 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"

Docker

Here is how you can run the app using docker:

  1. Build the docker image - docker build -t fyin .
  2. Create environment file - cp sample.env .env and populate the values
  3. Run the docker container

docker run --rm --env-file .env fyin --query "<your question>" --search <optional: number of search results to parse>

Notes

  • 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.

TODO

  • 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

About

Open source alternative to Perplexity AI with ability to run locally

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published