Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/astrabert/searchphi
Open source and AI-powered web search engine: local, private, dockerized and supported by a fluffy llama🦙
https://github.com/astrabert/searchphi
ai docker gguf llamacpp llm local-search-engine open-source phi-3-mini streamlit web-search-engine
Last synced: about 1 month ago
JSON representation
Open source and AI-powered web search engine: local, private, dockerized and supported by a fluffy llama🦙
- Host: GitHub
- URL: https://github.com/astrabert/searchphi
- Owner: AstraBert
- License: mit
- Created: 2024-07-27T18:55:36.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-29T07:18:34.000Z (4 months ago)
- Last Synced: 2024-09-23T19:02:05.649Z (about 2 months ago)
- Topics: ai, docker, gguf, llamacpp, llm, local-search-engine, open-source, phi-3-mini, streamlit, web-search-engine
- Language: Python
- Homepage: https://astrabert.github.io/SearchPhi/
- Size: 1.4 MB
- Stars: 49
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
SearchPhi
Open source and AI-powered web search engine🌐
## About SearchPhi
SearchPhi is a Streamlit application that aims to implement similar features to SearchGPT, but in an open-source, local and private way.
## Installation and usage
### Source code
1. Clone the repository:
```bash
git clone https://github.com/AstraBert/SearchPhi.git
cd SearchPhi
```2. Create a `model` folder, download [this GGUF file](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf/blob/main/Phi-3-mini-4k-instruct-q4.gguf) and move the GGUF file in the `model` folder:
```bash
mkdir model
mv /path/to/Downloads/Phi-3-mini-4k-instruct-q4.gguf model/
```3. Install necessary dependencies:
- Linux:
```bash
python3 -m venv /path/to/SearchPhi
source /path/to/SearchPhi/bin/activate
python3 -m pip install -r requirements.txt
```
- Windows:
```bash
python3 -m venv c:\path\to\SearchPhi
c:\path\to\SearchPhi\Scripts\activate # For Command Prompt
# or
c:\path\to\SearchPhi\Scripts\Activate.ps1 # For PowerShell
# or
source c:\path\to\SearchPhi\Scripts\activate # For Gitpython3 -m pip install -r requirements.txt
```4. Run the application:
```bash
python3 -m streamlit run app.py
```You'll see the application on `http://localhost:8501`.
**PROs**: You can customize the application code (change the GGUF model, change CPU/GPU settings, change generation kwargs, modify the app interface...)
**CONs**: Longer and more complex installation process
### Docker
1. Pull the image
```bash
docker pull astrabert/searchphi:latest
```2. Run the container:
```bash
docker run -p 8501:8501 astrabert/searchphi:latest
```Shortly after you submit the `docker run` command, the container logs will tell you that the application is up and running on `http://localhost:8501`.
**PROs**: Shorter and simpler installation process
**CONs**: You cannot customize the application code
### Run in cloud
- **GitPod workspaces**: Click [here](https://gitpod.io/#https://github.com/AstraBert/SearchPhi) to open the GitPod workspace
**PROs**: No local installation and you can exploit better hardwares
**CONs**: Limited resources
### Usage note
> ⚠️ _The Streamlit application was successfully developed and tested on a Windows 10.0.22631 machine, with 32GB RAM, 16 core CPU and Nvidia GEFORCE RTX4050 GPU (6GB, cuda version 12.3), python version 3.11.9_
> ⚠️ _The Docker container was successfully tested on a Windows 10.0.22631 machine and on a Ubuntu 22.04.3 machine_
Although being at a good stage of development, the application is a `beta` and might still contain bugs and have OS/hardware/python version incompatibilities.
## Demo
You can try out SearchPhi on [this HuggingFace Space](https://huggingface.co/spaces/as-cle-bert/SearchPhi).
Here's a video demo of what it can do:
![Video demo for SearechPhi](./imgs/demo.gif)
## Contributions
Contributions are more than welcome! See [contribution guidelines](./CONTRIBUTING.md) for more information :)
## Funding
If you found this project useful, please consider to [fund it](https://github.com/sponsors/AstraBert) and make it grow: let's support open-source together!😊
## License and rights of usage
This project is provided under [MIT license](./LICENSE): it will always be open-source and free to use.
If you use this project, please cite the author: [Astra Clelia Bertelli](https://astrabert.vercel.app)