/ZAS-EAK-CopilotGPT

The official repository of the EAK-Copilot project as part of the Innovation Fellowship 2024.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Open in GitHub Codespaces

EAK-Copilot

Welcome to the official repository of the EAK-Copilot challenge, developed as part of the Innovation Fellowship 2024. This project is designed to enhance workplace efficiency and foster innovation by providing AI-supported tools that assist employees in their daily tasks.

This repository serves as a proof of concept (PoC), which is slated to conclude in February 2025. However, we are optimistic that the momentum generated by this innovative challenge will attract continued support and development beyond this timeframe.

Documentation

Check the website for more information.

Demo Video

45-sec demo video that shows features autocomplete and RAG from the first prototype.

Updates

Version 0.3.0 - TBD

  • Confluence Adapter
  • Indexing Pipeline
  • Anonymization/De-Anonymization Module
  • Optimized RAG
  • OnPrem LLM
  • Survey Pipeline

Version 0.2.0 (MVP1) - 31.05.2024

  • GUI Styleguide Bundle

Version 0.1.0 - 01.05.2024

  • GUI
  • Autocomplete
  • Basic RAG

Challenge Vision

COMING SOON: a detailed overview of our project's vision and strategic alignment.

Features

  • Automation of Routine Tasks: Reduces monotonous research tasks and the finding of information, allowing employees to focus on more important tasks.
  • Decision Support: Provides real-time assistance in decision-making through advanced algorithms.

How To Contribute

Please check the CONTRIBUTORS.md file to contribute to the EAK-Copilot project.

How it works

The EAK-Copilot currently features:

  • Question autosuggest: High quality curated questions (from FAQ) are suggested in the chatbar based on the user input. Validated answers with sources are then returned in the chat. Autocomplete currently supports exact match, fuzzy match and semantic similarity match.
  • RAG: When no known question/answer pairs are found through autosuggest, RAG is initiated. A semantic similarity search will match the most relevant indexed documents in a vector database and an LLM will generate an answer based on these documents, providing the source of the answer.

Getting Started

Here you will find instructions for installing and setting up EAK-Copilot:

Prerequisites

Before starting, ensure you have the following software installed on your computer:

  • Git: Needed for source code management. Install from here.
  • Docker: Required for running containers. Install from here.
  • Docker Compose: Necessary for managing multi-container Docker applications. Install from here.

Linux users may need to prepend sudo to Docker commands depending on their Docker configuration.

Installation

  1. Clone the Repository

    Begin by cloning the EAK-Copilot repository to your local machine.

    git clone https://github.com/CdC-SI/ZAS-EAK-CopilotGPT.git
    cd ZAS-EAK-CopilotGPT
  2. Setting Up Environment Variables

    To use the ZAS/EAK-Copilot, you need to set up some environment variables. The OPENAI_API_KEY is a required field that must be filled in, all other fields are preconfigured with default settings (but can be configured as well). Copy the .env.example file to a new file named .env and fill in the appropriate values:

    cp .env.example .env
  3. Build Docker Images

    Build the Docker images using the Docker Compose configuration. This step compiles and launches your Docker environment.

    docker-compose up --build -d
  4. Verifying the Installation

    Check the status of the containers to confirm everything is running as expected:

    docker-compose ps

    After the containers are successfully started, verify that the application is running correctly by accessing it through your web browser at http://localhost:4200.

  5. Notes