This project is currently under development! For the German overview, please see here
ParzivAI is an interactive chatbot designed to answer questions related to medieval history and the Middle High German language and literature. In addition to the chat functionality, ParzivAI offers linguistic analysis tools, an image search feature, and an interactive quiz on historical topics.
- Chatbot: Interact with ParzivAI to receive detailed answers to historical and linguistic questions.
- Linguistic Analysis: Automatically perform part-of-speech tagging for both modern German and Middle High German texts.
- Image Search: Search for historically themed images.
- Quiz: Test your knowledge of the Middle Ages with an interactive quiz.
- Feedback: Provide feedback on the quality of the responses directly in the app.
Ensure that Python 3.8 or higher is installed. It is recommended to use conda environments. In your conda (or other Python) environment, install parzivAI from the GitHub repository:
pip install pip install git+https://github.com/ssciwr/parzivAI
parzivAI makes use from spaCy under the hood. Download the required spaCy models using
python -m spacy download de_core_news_sm
(TODO: Download models on the fly if not found through the spacy cli)
For Middle High German, a specially trained model must be loaded, and its path needs to be integrated into the code. (TODO: Make sure this is platform-agnostic and can also be done on-the-fly)
(TODO: Do we still want to include playwright?)
If you use the Playwright library for image search, execute the following command:
playwright install
Start the application with the following command:
streamlit run app.py
Then open your browser and navigate to http://localhost:8501
.
(TODO: Check port number and exceptions)
Ensure that your Tavily API key is set as an environment variable:
export TAVILY_API_KEY='your_api_key_here'
ParzivAI/
│
├── parzivai/main.py # Main Streamlit application
├── pyproject.toml # Installation file and dependencies
├── requirements-dev.txt # Developer dependencies
├── README.md # Overview
├── example_notebooks/ # Usage examples
├── docs/ # Documentation
This project is licensed under the MIT License. See the LICENSE
file for further details.
(TODO: Further components of the documentation)