Skip to content

Building a quick conversation-based search demo with Lepton AI.

License

Notifications You must be signed in to change notification settings

hanhpp/search_with_lepton

 
 

Repository files navigation

Search with Lepton

Build your own conversational search engine using less than 500 lines of code.
Live Demo

Features

  • Built-in support for LLM
  • Built-in support for search engine
  • Customizable pretty UI interface
  • Shareable, cached search results

Setup Search Engine API

There are two default supported search engines: Bing and Google.

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.

Setup LLM and KV

Note

We recommend using the built-in llm and kv functions with Lepton. Running the following commands to set up them automatically.

pip install -U leptonai openai && lep login

Obtain Your Lepton AI Workspace Token

You can copy your workspace toke from the Lepton AI Dashboard → Settings → Tokens.

Build

  1. Set Bing subscription key
export BING_SEARCH_V7_SUBSCRIPTION_KEY=YOUR_BING_SUBSCRIPTION_KEY
  1. Set Lepton AI workspace token
export LEPTON_WORKSPACE_TOKEN=YOUR_LEPTON_WORKSPACE_TOKEN
  1. Build web
cd web && npm install && npm run build
  1. Run server
BACKEND=BING python search_with_lepton.py

For Google Search using SearchApi:

export SEARCHAPI_API_KEY=YOUR_SEARCHAPI_API_KEY
BACKEND=SEARCHAPI python search_with_lepton.py

For Google Search using Serper:

export SERPER_SEARCH_API_KEY=YOUR_SERPER_API_KEY
BACKEND=SERPER python search_with_lepton.py

For Google Search using Programmable Search Engine:

export GOOGLE_SEARCH_API_KEY=YOUR_GOOGLE_SEARCH_API_KEY
export GOOGLE_SEARCH_CX=YOUR_GOOGLE_SEARCH_ENGINE_ID
BACKEND=GOOGLE python search_with_lepton.py

Deploy

You can deploy this to Lepton AI with one click:

Deploy with Lepton AI

You can also deploy your own version via

lep photon run -n search-with-lepton-modified -m search_with_lepton.py --env BACKEND=BING --env BING_SEARCH_V7_SUBSCRIPTION_KEY=YOUR_BING_SUBSCRIPTION_KEY

Learn more about lep photon here.

Makefile Commands

The following commands are available in the Makefile to help you set up and run the project:

  • make env: Creates a new Python virtual environment in the .venv directory. This helps to isolate the project dependencies from other Python projects on your system.

  • make activate: Activates the Python virtual environment created by the make env command. This command should be run before executing any Python scripts to ensure that the correct dependencies are used.

  • make install: Installs the required Python packages listed in requirements.txt. This command is essential for setting up the environment with all necessary dependencies.

  • make build: Installs the necessary Node.js packages and builds the frontend application. This command should be run after making changes to the frontend code or when setting up the project for the first time.

  • make ai: Runs the main application script search_with_lepton.py. This command starts the server for the conversational search engine.

  • make clean: Uninstalls all Python packages listed in requirements.txt. This command can be used to clean up the environment if needed.

About

Building a quick conversation-based search demo with Lepton AI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 49.9%
  • Python 47.9%
  • Other 2.2%