https://github.com/ethicalabs-ai/kurtis
Kurtis is a fine-tuning, inference and evaluation tool built for SLMs (Small Language Models), such as Huggingface's SmolLM2.
https://github.com/ethicalabs-ai/kurtis
ai huggingface-peft huggingface-smollm2 huggingface-transformers llm llm-inference llm-training machine-learning mental-health mental-health-awareness ml question-answering question-answering-model slms small-language-models smollm smollm2 transformers
Last synced: 2 months ago
JSON representation
Kurtis is a fine-tuning, inference and evaluation tool built for SLMs (Small Language Models), such as Huggingface's SmolLM2.
- Host: GitHub
- URL: https://github.com/ethicalabs-ai/kurtis
- Owner: ethicalabs-ai
- License: mit
- Created: 2024-09-24T11:11:08.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-26T17:56:02.000Z (2 months ago)
- Last Synced: 2025-03-26T18:42:07.802Z (2 months ago)
- Topics: ai, huggingface-peft, huggingface-smollm2, huggingface-transformers, llm, llm-inference, llm-training, machine-learning, mental-health, mental-health-awareness, ml, question-answering, question-answering-model, slms, small-language-models, smollm, smollm2, transformers
- Language: Python
- Homepage:
- Size: 11.6 MB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Kurtis
**Kurtis** is an experimental fine-tuning, evaluation and inference tool for [Kurtis E1](https://huggingface.co/collections/ethicalabs/kurtis-e1-67a9148e0836885c44c7902c).

Kurtis is a mental-health AI assistant designed with empathy at its core.
Unlike other AI models that aim for peak efficiency, Kurtis prioritizes understanding, emotional nuance, and meaningful conversations.
It won’t solve complex math problems or write code, nor will it generate images or videos.
Instead, Kurtis focuses on being a thoughtful companion, offering support, perspective, and human-like dialogue.
It doesn’t strive to break records or chase artificial intelligence supremacy—its goal is to create a space for genuine interaction.
Whether you need someone to talk to, reflect on ideas with, or engage in insightful discussion, Kurtis is there to listen and respond in an understanding way.
---
Kurtis final model allows users to ask questions related to mental health topics. However, **please note the following disclaimer**:
### Disclaimer
- **Kurtis E1 is not a substitute for professional mental health therapy or advice**.
- The responses generated by this model may be **biased** or **inaccurate**.
- For any serious or urgent mental health concerns, please consult with a **licensed professional**.
- **Kurtis E1** is intended as a supportive tool for **casual conversations**, not for diagnosing or treating any mental health conditions.## Getting Started
### Prerequisites
- [uv](https://github.com/astral-sh/uv) A tool for Python dependency management.
- **Python 3.10 or higher**.
- Docker (optional, if you plan to use Docker).### Usage
You can interact with Kurtis by either training the model or starting a chat session.
#### Train the Model
To train the model using the provided configuration:
```bash
uv run -m kurtis --train --config-module kurtis.config.default
```#### Start a Chat Session
To start a conversation with the Kurtis model:
```bash
uv run -m kurtis --chat --config-module kurtis.config.default
```### Command-Line Options
You can view all available command-line options using the `--help` flag:
```bash
uv run -m kurtis --help
```The output will display:
```bash
(kurtis) ➜ kurtis git:(main) ✗ uv run -m kurtis --helpUsage: python -m kurtis [OPTIONS]
Main command for managing the Kurtis model: - Preprocess data - Train - Chat
interactively - Evaluate - Generate DPO data - Push datasets or model to
Hugging FaceOptions:
--preprocessing Pre-process the QA datasets.
--train Train the model using QA datasets.
--train-dpo Train the model using DPO.
--chat Interact with the trained model.
--eval-model Evaluate the model.
--generate-dpo Generate and clean DPO dataset.
--push-model Push model to Hugging Face.
-o, --output-dir TEXT Directory to save or load the model and
checkpoints.
-c, --config-module TEXT Kurtis python config module.
--debug Enable debug mode for verbose output.
--help Show this message and exit.
```### Makefile
A **Makefile** is included to help automate common development and testing tasks.
```
make preprocessing - Preprocess the data using a pre-trained LLM.
make train - Train the model.
make chat - Start a prompt session with the model.
make install - Install project dependencies using uv.
make eval_model - Evaluate model.
make docker_build - Build the Docker image for the project.
make docker_push - Push the Docker image to the registry.
make docker_run - Run the Docker container with output mounted.
make docker_train - Run the training script inside the Docker container.
make docker_chat - Start a prompt session inside the Docker container.
```### Evaluation Results
Work in progress.
### License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.