Groqqle is an innovative, AI-powered search engine that combines the power of large language models with web search capabilities. It offers both a user-friendly web interface and a robust API for seamless integration into your projects.
- 🔍 Advanced search capabilities powered by AI
- 🖥️ Intuitive web interface for easy searching
- 🚀 Fast and efficient results using Groq's high-speed inference
- 🔌 RESTful API for programmatic access
- 🔒 Secure handling of API keys
- 📊 Option to view results in JSON format
- 🔄 Extensible architecture for multiple AI providers
-
Clone the repository:
git clone https://github.com/jgravelle/Groqqle.git cd Groqqle
-
Set up a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Set up your environment variables: Create a
.env
file in the project root and add your Groq API key:GROQ_API_KEY=your_api_key_here
-
Start the Groqqle application:
streamlit run Groqqle.py
-
Open your web browser and navigate to
http://localhost:8501
. -
Enter your search query in the search bar and click "Groqqle Search" or press Enter.
-
View your results! Toggle the "JSON Results" checkbox to see the raw JSON data.
The Groqqle API allows you to programmatically access search results. Here's how to use it:
-
Start the Groqqle application in API mode:
python Groqqle.py api
-
The API server will start running on
http://127.0.0.1:5000
. -
Send a POST request to
http://127.0.0.1:5000/search
with the following JSON body:{ "query": "your search query" }
Note: The API key is now managed through environment variables, so you don't need to include it in the request.
-
The API will return a JSON response with your search results.
Example using Python's requests
library:
import requests
url = "http://127.0.0.1:5000/search"
data = {
"query": "Groq"
}
response = requests.post(url, json=data)
results = response.json()
print(results)
Make sure you have set the `GROQ_API_KEY` in your environment variables or `.env` file before starting the API server.
While Groqqle is optimized for use with Groq's lightning-fast inference capabilities, we've also included stubbed-out provider code for Anthropic. This demonstrates how easily other AI providers can be integrated into the system.
Please note that while other providers can be added, they may not match the exceptional speed offered by Groq. Groq's high-speed inference is a key feature that sets Groqqle apart in terms of performance.
We welcome contributions to Groqqle! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please make sure to update tests as appropriate and adhere to the Code of Conduct.
Distributed under the MIT License. See LICENSE
file for more information. Mention J. Gravelle in your docs (README, etc.) and/or code. He's kind of full of himself.
J. Gravelle - [email protected] - https://j.gravelle.us
Project Link: https://github.com/jgravelle/Groqqle
- Groq for their powerful and incredibly fast language models
- Streamlit for the amazing web app framework
- FastAPI for the high-performance API framework
- Beautiful Soup for web scraping capabilities