File size: 4,062 Bytes
354da81
 
f4a99aa
 
 
69b34c4
727303f
65efb79
727303f
354da81
69b34c4
4af8fc5
3f2a988
 
354da81
 
3f2a988
f4a99aa
3f2a988
3f2ed3d
3f2a988
 
65efb79
fe1089d
65efb79
3f2a988
 
3615ad5
 
3f2a988
65efb79
fe1089d
65efb79
fe1089d
65efb79
3615ad5
65efb79
3f2a988
65efb79
3f2a988
65efb79
 
3f2ed3d
3615ad5
 
 
c5c1df2
3615ad5
 
 
 
c5c1df2
3615ad5
 
 
c5c1df2
3615ad5
 
 
c5c1df2
 
3615ad5
 
c5c1df2
3615ad5
 
 
c5c1df2
3615ad5
 
 
 
 
 
 
 
 
 
 
3f2a988
2492536
3f2a988
 
 
 
65efb79
3f2a988
 
 
2492536
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
---
title: Thesis
emoji: ๐ŸŽ“
colorFrom: red
colorTo: yellow
sdk: gradio
sdk_version: 4.7.1
app_file: main.py
pinned: true
license: mit
app_port: 8080
models: ["microsoft/GODEL-v1_1-large-seq2seq"]
tags: ["CHAT", "XAI", "SHAP", "GODEL", "Gradio"]
disable_embedding: true
---

# Bachelor Thesis Webapp

## ๐Ÿ“œ Info:
This is the UI showcase for my thesis about the interpretability of LLM based chatbot application and applications of XAI.

### ๐Ÿ”— Links:

**[Github Repository](https://github.com/LennardZuendorf/thesis-webapp)**

**[Huggingface Spaces Showcase](https://huggingface.co/spaces/lennardzuendorf/thesis-webapp-docker)**

**[Non-Public Showcase]()**

### ๐Ÿ—๏ธ Tech Stack:

**Language and Framework:** Python

**Noteable Packages:** ๐Ÿค— Transformers, FastAPI, Gradio, SHAP, BERTViz

## ๐Ÿ‘จโ€๐Ÿ’ป Author:

**Author: [@LennardZuendorf](https://github.com/LennardZuendorf)**

**Thesis Supervisor: [Prof. Dr. Simbeck](https://www.htw-berlin.de/hochschule/personen/person/?eid=9862)**
<br> Second Corrector: [Prof. Dr. Hochstein](https://www.htw-berlin.de/hochschule/personen/person/?eid=10628)

This Project was part of my studies of Business Computing at the University of Applied Science for Technology and Business Berlin (HTW Berlin).

##  Running the Project:

### ๐Ÿ Python with [FastAPI](https://fastapi.tiangolo.com/) :
(This assumes you have set up a python environment, I recommend using a virtual environment.)

1. Clone the repository using git or GitHub cli.
2. Start the (virtual) environment.
3. Set the environment variable "HOSTING", i.e. like this `export HOSTING="local"`, see [fastAPI Docu](https://fastapi.tiangolo.com/advanced/settings/)
3. Install the requirements using `pip install -r requirements.txt`
4. Run the app using `uvicorn main:app`. You can add `--reload` to enable hot reloading. The app will be available at `localhost:8000`.

### ๐Ÿณ Dockerfile :
(This assumes you have set up docker desktop or are using a hosting service able to handle Dockerfiles.)

1. Clone the repository using git or GitHub cli.
2. Build the docker image using `docker build -t thesis-webapp -f Dockerfile . .`, the command commented in the docker file or the command referenced by your hosting service.
3. Run the docker image using `docker run --name thesis-webapp -e HOSTING=local -p 8080:8080 thesis-webapp`, the command commented in the docker file or the command referenced by your hosting service.
4. The app will be available at `localhost:8080`. If you are using a hosting service, the port may be different.

### ๐Ÿณ Docker Image :
(This assumes you have set up docker desktop or are using a hosting service able to handle Docker images.)

1. Pull the docker image from ghcr using `docker pull ghcr.io/LennardZuendorf/thesis-webapp:latest`.
2. Run the docker image in terminal using `docker run --name thesis-webapp -e HOSTING=local -p 8080:8080 lennardzuendorf/thesis-webapp:latest`, the command commented in the docker file or the command referenced by your hosting service.
3. The app will be available at `localhost:8080`. If you are using a hosting service, the port may be different.

## ๐Ÿ“ License and Credits:

This project is licensed under the MIT License, see [LICENSE](LICENSE.md) for more information. Please cite this project, it's author and my university if you use it in your work.

- Title: Building an Interpretable Natural Language AI Tool based on Transformer Models and approaches of Explainable AI.
- Date: 2024-01-27
- Author: Lennard Zรผndorf
- University: HTW Berlin

See code for in detailed credits, work is strongly based on:

#### GODEL
- [HGF Model Page](https://huggingface.co/microsoft/GODEL-v1_1-large-seq2seq?text=Hey+my+name+is+Mariama%21+How+are+you%3F)
- [Paper on HGF](https://huggingface.co/papers/2206.11309)
- [Paper Print](https://arxiv.org/abs/2206.11309)

#### SHAP
- [Github](https://github.com/shap/shap)
- [Inital Paper](https://arxiv.org/abs/1705.07874)

#### Custom Component (/components/iframe/)

Is based on Gradio component, see indivdual README for full changelog.