{"id":27009663,"url":"https://github.com/ethicalabs-ai/kurtis","last_synced_at":"2025-04-04T10:19:27.334Z","repository":{"id":269993613,"uuid":"862294101","full_name":"ethicalabs-ai/kurtis","owner":"ethicalabs-ai","description":"Kurtis is a fine-tuning, inference and evaluation tool built for SLMs (Small Language Models), such as Huggingface's SmolLM2.","archived":false,"fork":false,"pushed_at":"2025-03-26T17:56:02.000Z","size":12177,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T18:42:07.802Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ethicalabs-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-24T11:11:08.000Z","updated_at":"2025-03-26T17:56:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"e4d8530e-5c9e-4d33-9f3c-01cc7ee39b1e","html_url":"https://github.com/ethicalabs-ai/kurtis","commit_stats":null,"previous_names":["mrs83/kurtis","ethicalabs-ai/kurtis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethicalabs-ai%2Fkurtis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethicalabs-ai%2Fkurtis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethicalabs-ai%2Fkurtis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethicalabs-ai%2Fkurtis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethicalabs-ai","download_url":"https://codeload.github.com/ethicalabs-ai/kurtis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157271,"owners_count":20893221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2025-04-04T10:19:26.776Z","updated_at":"2025-04-04T10:19:27.326Z","avatar_url":"https://github.com/ethicalabs-ai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kurtis\n\n**Kurtis** is an experimental fine-tuning, evaluation and inference tool for [Kurtis E1](https://huggingface.co/collections/ethicalabs/kurtis-e1-67a9148e0836885c44c7902c).\n\n![Kurtis E1 in action](images/screenshots/kurtis.png)\n\nKurtis is a mental-health AI assistant designed with empathy at its core.\n\nUnlike other AI models that aim for peak efficiency, Kurtis prioritizes understanding, emotional nuance, and meaningful conversations.\n\nIt won’t solve complex math problems or write code, nor will it generate images or videos.\n\nInstead, Kurtis focuses on being a thoughtful companion, offering support, perspective, and human-like dialogue.\n\nIt doesn’t strive to break records or chase artificial intelligence supremacy—its goal is to create a space for genuine interaction.\n\nWhether 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.\n\n---\n\nKurtis final model allows users to ask questions related to mental health topics. However, **please note the following disclaimer**:\n\n### Disclaimer\n\n- **Kurtis E1 is not a substitute for professional mental health therapy or advice**.\n- The responses generated by this model may be **biased** or **inaccurate**.\n- For any serious or urgent mental health concerns, please consult with a **licensed professional**.\n- **Kurtis E1** is intended as a supportive tool for **casual conversations**, not for diagnosing or treating any mental health conditions.\n\n## Getting Started\n\n### Prerequisites\n\n- [uv](https://github.com/astral-sh/uv) A tool for Python dependency management.\n- **Python 3.10 or higher**.\n- Docker (optional, if you plan to use Docker).\n\n### Usage\n\nYou can interact with Kurtis by either training the model or starting a chat session.\n\n#### Train the Model\n\nTo train the model using the provided configuration:\n\n```bash\nuv run -m kurtis --train --config-module kurtis.config.default\n```\n\n#### Start a Chat Session\n\nTo start a conversation with the Kurtis model:\n\n```bash\nuv run -m kurtis --chat --config-module kurtis.config.default\n```\n\n### Command-Line Options\n\nYou can view all available command-line options using the `--help` flag:\n\n```bash\nuv run -m kurtis --help\n```\n\nThe output will display:\n\n```bash\n(kurtis) ➜  kurtis git:(main) ✗ uv run -m kurtis --help\n\nUsage: python -m kurtis [OPTIONS]\n\n  Main command for managing the Kurtis model: - Preprocess data - Train - Chat\n  interactively - Evaluate - Generate DPO data - Push datasets or model to\n  Hugging Face\n\nOptions:\n  --preprocessing           Pre-process the QA datasets.\n  --train                   Train the model using QA datasets.\n  --train-dpo               Train the model using DPO.\n  --chat                    Interact with the trained model.\n  --eval-model              Evaluate the model.\n  --generate-dpo            Generate and clean DPO dataset.\n  --push-model              Push model to Hugging Face.\n  -o, --output-dir TEXT     Directory to save or load the model and\n                            checkpoints.\n  -c, --config-module TEXT  Kurtis python config module.\n  --debug                   Enable debug mode for verbose output.\n  --help                    Show this message and exit.\n```\n\n### Makefile\n\nA **Makefile** is included to help automate common development and testing tasks.\n\n```\nmake preprocessing  - Preprocess the data using a pre-trained LLM.\nmake train          - Train the model.\nmake chat           - Start a prompt session with the model.\nmake install        - Install project dependencies using uv.\nmake eval_model     - Evaluate model.\nmake docker_build   - Build the Docker image for the project.\nmake docker_push    - Push the Docker image to the registry.\nmake docker_run     - Run the Docker container with output mounted.\nmake docker_train   - Run the training script inside the Docker container.\nmake docker_chat    - Start a prompt session inside the Docker container.\n```\n\n### Evaluation Results\n\nWork in progress.\n\n### License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethicalabs-ai%2Fkurtis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethicalabs-ai%2Fkurtis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethicalabs-ai%2Fkurtis/lists"}