Sokrates

Python Version OpenAI Streamlit App Latex

Identifying valuable use cases for AI implementation in the industry is a complex and time-consuming process that often requires extensive domain expertise and resources. Many companies, especially in the German Mittelstand, are lacking the resources for AI consultancies and do not have access to relevant domain experts. Sokrates is a prototype of a conversational AI assistant that has been developed in order to democratize AI access for SMEs.

This prototype was made during the TUM AI Makeathon held at the Technical University of Munich from April 28 - May 1 2023.

Design

Sokrates Design

The design contains the following modules:

  • Dialog LLM : This is a open ai gpt-3.5-turbo powered LLM which is responsible for holding a conversation with the user in order to gather further information about the issue at hand. We instruct it to elicit knowledge from the user in a step-by-step manner.

  • Conversation Cache : This cache holds the full conversation history with the user in the current instance. The summary of that dialogue acts as key against our domain-specific database

  • Knowledge Base: This can be a .csv file or a database which contains summaries of existing AI use case implementations in the industry of choice. In this project we have included 15 summaries of AI implementation in the automotive industry in a csv file.

  • Knowledge Matching: We have embeddings stored for every article. Given some query, we embed it too and return the top-k most similar articles based on cosine similarity

  • Ideation LLM: This combines the top matches in the knowledge database and the gpt-3.5-turbo model to come up with a solution summary.

  • Flowchart Visualization LLM: This module takes in the summary generated by the Ideation LLM and then converts it to solution steps which further is converted to a flowchart in a latex format. This generated image is then rendered into a PDF file.

Setup

NOTE: A OPENAI API Key is needed to run the project

  • Step 1: Navigate to your project folder and clone this github repository using

    git clone https://github.com/andreasbinder/AI-Ideation-Assistant
  • Step 2: Navigate to the src/ai_ideation_assistant and make a new .env file and enter the your open api key in a variable called OPEN_API_KEY

  • Step 3: Change paths in the config.yml

Dependencies

  • Method 1: Docker (recommended) To install dependencies using docker and build a docker image use the following command :

    sudo docker build -t sokrates
  • Method 2: Conda To install dependencies into a conda environment, follow the following steps:

  • Create a new environment and install dependencies using

    conda create --name sokrates && conda activate sokrates && pip install -r requirements.txt

Running the Project

  • Method 1: Docker (recommended)

    If you have docker installed on your system build and run the docker image using the following command:

    sudo docker build -t sokrates . && sudo docker run sokrates
  • Method 2: Conda environment

    If you are running the project in a conda environment, navigate to the src/ai_ideation_assistant and run the following command

    streamlit run app.py

Contributors

  • Andreas Binder - TU Munich
  • Ayushman Choudhuri - RWTH Aachen
  • Michał Cherczyński - TU Munich
  • Ivana Dobrijevic - TU Munich