Name - Student Number
Max Herget - 0580332
Nicolas Marantos - 0579813
Leon Schüßler - 0579906
Welcome to the Flesh and Blood Simulated Universe - a place where epic tales and legendary heroes come to life!
Before you begin, ensure you have the following installed:
- Docker/Docker Desktop
- Docker Compose
-
Clone the repository to your local machine.
-
Navigate to the project root directory.
-
Create a
.env
file with the necessary environment variables:OPENAI_API_KEY=<Your OpenAI API Key> APP_SECRET_KEY=<Your Application Secret Key>
Run the following command to build and start the Docker containers:
docker-compose up --build -d
This will set up all necessary services, including the backend, ChromaDB, and any other required components.
After the containers are up and running, initialize the database:
- Access the
localhost:8082/heroes/importCollection/heroes
endpoint in your browser. This loads the data into the "heroes" collection in your ChromaDB (that's the one with Chromas default Embeddings). - If you wish to load the data with OpenAIs Embeddings as well, access the
localhost:8082/openai/importCollection/heroes
endpoint. - If you want to import a different name_collection.json, or load it into a different created Collection, just use this syntax:
localhost:8082/<chroma_collection_name>/importCollection/<filename_before_collection.json>
If you want to use different Embeddings, please refer to this Notebook by Chroma.
- Personality Generation: Create unique hero profiles with rich backstories and attributes based on existing stories.
- Story Generation: Generate captivating stories involving the heroes and existing World Data.
- Question Asking: Ask Questions about the current State of the Universe.
- Information Adding Feature
- Hero Chatbot for Consultation sessions: Where they talk and think about what is currently happening, what to do next, which then gets saved as special object to ChromaDB.
- Allow User Editing of Ratings
- Use SelfQueryRetriever from LangChain to query over the Ratings Metadatas Fields
We welcome contributions! If you have ideas or suggestions, please open an issue or submit a pull request.