Skip to content
ssinghtanwarPublic

About

ALAA (Arch Linux AI Assistant) is an innovative open-source chatbot designed to assist users with various aspects of Arch Linux, a popular and advanced Linux distribution known for its simplicity, customization, and user-centric approach.

Resources

Security policy

Stars

6 stars

Watchers

1 watching

Forks

Repository files navigation


Logo

ALAA (Arch Linux AI Assistant)"Using OpenAI"


Explore the docs »

· Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. How it Works
  3. Dependencies and Installation
  4. Usage
  5. Roadmap
  6. Contributing
  7. License
  8. Contact

FlowChart_Arch_VectorStore


About The Project

ALAA (Arch Linux AI Assistant) is an innovative open-source chatbot designed to assist users with various aspects of Arch Linux, a popular and advanced Linux distribution known for its simplicity, customization, and user-centric approach. Developed as a proof-of-concept, ALAA aims to bridge the gap between the powerful capabilities of open-source software and the demand for customer support typically associated with proprietary alternatives.

(back to top)

Primary Purpose

The primary purpose of ALAA is to offer Arch Linux users a reliable and responsive virtual assistant that can help them navigate through the intricacies of the operating system. Unlike traditional customer support, which may not be feasible for many open-source projects, ALAA leverages cutting-edge language models, such as OpenAI's GPT-3.5, integrated with the Hugging Face framework, to provide intelligent and context-aware responses to users' queries.

inspiration

The inspiration behind ALAA stems from the recognition that open-source projects often lack dedicated customer support channels due to their volunteer-driven nature. Consequently, some users may opt for proprietary software with customer support, even if it means sacrificing the benefits of open-source solutions. ALAA seeks to challenge this trade-off by offering a feature-rich and knowledgeable chatbot that can rival the support offered by proprietary alternatives.

(back to top)

How it Works

FlowChart_Arch_VectorStore


First I use "archPDf_VectorStore.py" to create "Arch_Index" vector database using "FAISS" and "Instructor" as embedding tool (How that Worked is shown in the image above)


images/FlawChart_app_Chatbot


Then in app.py I import the vectorDatabase and create whole chat UI using stremlit and use OpenAI (ChatOpenAI) to get response using the vector database and embedding. (How that Worked is shown in the image above)

Dependencies and Installation

To install the ALAA Chat App, please follow these steps:

  1. Clone the repository to your local machine.
  2. Install the required dependencies by running the following command:
    pip install -r requirements.txt
    
  3. Obtain an API key from OpenAI and add it to the .env file in the project directory.

(back to top)

Usage

To use the ALAA Chat App, follow these steps:

  1. Ensure that you have installed the required dependencies and added the OpenAI API key to the .env file.

  2. Run the app.py file using the Streamlit CLI. Execute the following command:

    streamlit run app.py
    
  3. The application will launch in your default web browser, displaying the user interface.

  4. Ask questions in natural language about Arch Linux using the chat interface.

(back to top)

Roadmap

  • Creating and using better Arch wiki PDF (We Used arch.pdf (which was automatically created) instead of Arch_Linux_Wiki_The_distribution.pdf(which was manully created))
  • Making it completely free (I didn't use LLMs that are free and opensource they need to be finetuned to give good enough results and to do that i will need a far better machine)
  • Making Other ChatBot that are available for other distros and opensource projects
    • Gentoo
    • Garuda Linux
    • Bedrock Linux
    • More

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the AGPLv3. See LICENSE.txt for more information. Copyright (C) 2023 Saurabh Singh Tanwar

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

(back to top)

Contact

Saurabh Singh Tanwar - @twitter_handle - saurabhstanwar@gmail.com

Project Link: https://github.com/ssinghtanwar/ALAA

(back to top)

About

ALAA (Arch Linux AI Assistant) is an innovative open-source chatbot designed to assist users with various aspects of Arch Linux, a popular and advanced Linux distribution known for its simplicity, customization, and user-centric approach.

Resources

Security policy

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages