TheGuyDangerous / Freelexity

An Open Source Answer Engine
Other
3 stars 0 forks source link
ai answer-engine flutter flutter-app groq hacktoberfest hacktoberfest-accepted hacktoberfest2024 llm open-source search-engine

Freelexity

Freelexity is an open-source answer engine built with Flutter. It leverages the power of Brave Search API and Groq API to provide users with comprehensive answers to their queries. Freelexity-Ghub

Don't forget to :star: the repo

GitHub stars GitHub forks GitHub followers Static Badge Android CI Release Made with Flutter

Download

Download the app Badges
Google Play Google Play
Preview Preview
Beta Beta
Stable Stable
GitHub Static Badge
F-Droid F-Droid

Features

Prerequisites

Before you begin, ensure you have met the following requirements:

Installation

  1. Clone the repository:

    git clone https://github.com/TheGuyDangerous/Freelexity.git
  2. Navigate to the project directory:

    cd Freelexity
  3. Install dependencies:

    flutter pub get
  4. Run the app:

    flutter run

API Keys

To use Freelexity, you need to obtain API keys for both Brave Search and Groq. Here's how:

Brave Search API Key

  1. Visit https://api.search.brave.com/app/keys
  2. Sign up or log in to your Brave account
  3. Create a new API key for the Brave Search API
  4. Copy the API key

Groq API Key

  1. Go to https://console.groq.com/keys
  2. Sign up or log in to your Groq account
  3. Generate a new API key
  4. Copy the API key

Once you have both API keys, enter them in the app's Settings screen.

How It Works

Freelexity combines web search, content scraping, and AI-powered summarization to provide comprehensive answers to user queries. Here's a brief overview of the process:

  1. User inputs a query through text or voice
  2. The app sends the query to the Brave Search API
  3. Top search results are retrieved
  4. The app scrapes content from the top results
  5. Scraped content is sent to the Groq API for summarization
  6. The summary and search results are displayed to the user
  7. Related questions are generated based on the query and summary
  8. The search query and results are saved in the user's local history

File Structure

Click to expand/collapse file structure ``` lib/ ├── main.dart ├── custom_page_route.dart ├── theme_provider.dart ├── screens/ │ ├── home/ │ │ ├── home_screen.dart │ ├── search/ │ │ ├── search_screen.dart │ │ └── search_screen_state.dart │ ├── thread/ │ │ ├── thread_screen.dart │ │ ├── thread_screen_state.dart │ │ └── thread_loading_screen.dart │ ├── library/ │ │ ├── library_screen.dart │ │ └── library_screen_state.dart │ ├── settings/ │ │ ├── settings_screen.dart │ │ └── settings_screen_state.dart │ ├── license/ │ │ └── license_screen.dart │ └── splash_screen.dart ├── widgets/ │ ├── search/ │ │ ├── search_app_bar.dart │ │ ├── search_initial_view.dart │ │ └── search_bar.dart │ ├── thread/ │ │ ├── sources_section.dart │ │ ├── summary_card.dart │ │ ├── image_section.dart │ │ ├── related_questions.dart │ │ ├── follow_up_input.dart │ │ ├── full_screen_image.dart │ │ └── loading_shimmer.dart │ ├── library/ │ │ ├── history_list.dart │ │ ├── empty_state.dart │ │ └── incognito_message.dart │ └── settings/ │ ├── api_key_input.dart │ └── settings_switch.dart ├── services/ │ ├── search_service.dart │ ├── web_scraper_service.dart │ ├── groq_api_service.dart │ └── whisper_service.dart ├── utils/ │ ├── audio_helpers.dart │ ├── clipboard_helper.dart │ └── constants.dart └── theme/ └── app_theme.dart ```

Workflow

  1. Search Screen: The main interface where users input their queries.
  2. Thread Loading Screen: Displays a loading animation while processing the search.
  3. Thread Screen: Shows the search results, summary, and related questions.
  4. Library Screen: Displays the user's search history.
  5. Settings Screen: Allows users to input API keys and view app information.

License

This project is licensed under a custom license. See the LICENSE file for details.

Contributing

Contributions to Freelexity are welcome! Please read our Contributing Guidelines for details on how to submit pull requests, report issues, and suggest improvements.

Contact

For commercial licensing options or any queries, please contact: sannidhyadubey@gmail.com


Created with ❣️ by Sannidhya Dubey