Giter Club home page Giter Club logo

search4all's Introduction

Search4All

The opensource AI search platform
Live Demo

About me

X
telegram

Buy Me A Coffee

Features

  • Integrated support for LLMs, such as OpenAI, Groq, and Claude.
  • Native search engine integration, including Google, Bing, and DuckDuckGo.
  • Customizable, visually appealing user interface.
  • Shareable and cached search results for enhanced efficiency.

Setup Search Engine API

Choose your search service

Search1API

Search1API is a versatile search aggregation service that enables you to perform searches across Google, Bing, and DuckDuckGo, and also retrieve clear content from URLs. search1api website

Bing Search

To use the Bing Web Search API, please visit this link to obtain your Bing subscription key.

Google Search

You have three options for Google Search: you can use the SearchApi Google Search API from SearchApi, Serper Google Search API from Serper, or opt for the Programmable Search Engine provided by Google.

Deployment

Zeabur

Just click on it

Deploy on Zeabur

Docker

Change the environment variables and run the docker

docker run -d --name search4all -e OPENAI_API_KEY=sk-XXX -e OPENAI_BASE_URL=https://api.openai.com/v1 -e LLM_MODEL=gpt-3.5-turbo-0125 -e RELATED_QUESTIONS=1 -e SEARCH1API_KEY=XXX -e BACKEND=SEARCH1API -p 8800:8800 docker.io/fatwang2/search4all

Docker-Compose

  1. Download the docker-compose file on your mechine
wget https://raw.githubusercontent.com/fatwang2/search4all/main/docker-compose.yml
  1. Change the environment variables in the file

  2. Run the docker

docker compose up -d

Manual

  1. install the requirements.txt
pip3 install -r requirements.txt
  1. Set you LLM
export OPENAI_API_KEY=sk-XXX
OPENAI_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-3.5-turbo-0125
RELATED_QUESTIONS=1
NODE_ENV=production
  1. Set your key of search
export SEARCH1API_KEY=YOUR_SEARCH1API_KEY
  1. Build web
cd web && npm install && npm run build
  1. Run server
BACKEND=SEARCH1API python3 search4all.py

Environment Variable

This project provides some additional configuration items set with environment variables:

Environment Variable Required Description Example
OPENAI_API_KEY Yes This is the API key you apply on the OpenAI account page sk-xxxxxx...xxxxxx
OPENAI_BASE_URL No If you manually configure the OpenAI interface proxy, you can use this configuration item to override the default OpenAI API request base URL OpenAI: https://api.openai.com/v1
Groq: https://api.groq.com/openai/v1
GROQ_API_KEY No This is the API key you apply on the Groq account page gsk_xxxxxx...xxxxxx
ANTHROPIC_API_KEY No This is the API key you apply on the Claude account page sk-ant-xxxxxx...xxxxxx
LLM_MODEL Yes The model you want to use,support all chat models of openai, groq and claude. gpt-3.5-turbo-0125,mixtral-8x7b-32768,claude-3-haiku-20240307...
RELATED_QUESTIONS No Show the related questions. 1
NODE_ENV No The environment required for deployment is necessary only during manual deployment. production
BACKEND Yes The search service you want. SEARCH1API,BING,GOOGLE,SERPER,SEARCHAPI
CHAT_HISTORY No Continue to ask about the results 1
SEARCH1API_KEY Yes If you choose SEARCH1API. xxx
BING_SEARCH_V7_SUBSCRIPTION_KEY No If you choose BING. xxx
GOOGLE_SEARCH_CX No If you choose GOOGLE. xxxx
GOOGLE_SEARCH_API_KEY No If you choose GOOGLE. xxx
SEARCHAPI_API_KEY No If you choose SEARCHAPI. xxx
SERPER_SEARCH_API_KEY No If you choose SERPER. xxx
NEXT_PUBLIC_GOOGLE_ANALYTICS No You can use Google Analytics to know how many users you have on your website. MEASUREMENT ID,you can find on your google analytics account,like G-XXXXXX

TODO

  • Support Lepton
  • Support continuous search
  • Support More LLMs
  • Support Claude
  • Support Groq
  • Support back to home when searching
  • Support continuous talk about the results
  • Support Google Analytics
  • Support the related questions by function calling
  • Support the Docker
  • Support the Docker-Compose
  • Support the Zeabur

search4all's People

Contributors

fatwang2 avatar 6drf21e avatar yangqing avatar vthinkxie avatar ixxmu avatar sebastjanprachovskij avatar rogerserper avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.