# Maeser
## Overview
This package is designed to facilitate the creation of Retrieval-Augmented Generation (RAG) chatbot applications, specifically tailored for educational purposes. It leverages the capabilities of [LangGraph](https://langchain-ai.github.io/langgraph/), a powerful tool for serving RAG pipelines, to provide a robust backend for chatbot interactions.
Detailed documentation can be found [here](https://byu-cpe.github.io/Maeser/).
## Features
- **RAG Pipeline Integration**: Utilizes LangGraph to seamlessly integrate RAG pipelines into the chatbot, enhancing its ability to generate informative and contextually relevant responses.
- **Session Management**: Comes equipped with a session manager to handle interactions efficiently, ensuring a smooth and coherent conversation flow.
- **Web Interface**: Includes optional prebuilt Flask applications, making it easy to deploy the chatbot on a web browser for accessible and interactive user experiences.
- **Terminal Interface**: Offers a simple terminal interface for users who prefer a more straightforward method of interaction, making it versatile for different use cases.
## Potential Use Cases
* Help students study for an exam
* Generate example problems
* Provide guided help for students completing homework
* Not giving them the answers but providing hints and guided help to step them through the problems
* Pointing the students back to the textbook or slides when guiding them
* Assist them in completing the labs
* Review their code and provide feedback
* Help them resolve common issues such as issues with the Vivado tools
## Getting Started
### Development Setup
To begin using the Maeser Chatbot, follow the [development setup instructions](https://byu-cpe.github.io/Maeser/development/development_setup.html).
This page includes instructions for cloning the repository and running the app.
> **NOTE:** This application is intended to run on Unix-based systems. For help running Maeser on Windows, follow the [development setup using Windows Subsystem Linux instructions](https://byu-cpe.github.io/Maeser/development/wsl_development.html).
### Example
For a fully working example application, follow the documentation for the [example application](https://byu-cpe.github.io/Maeser/development/flask_example.html).
### Embedding Context
Follow the documentation for embedding custom content [here](https://byu-cpe.github.io/Maeser/development/embedding.html).
### Graphs
An understanding of langchain and langgraph is necessary for customizing the application for any use case. Follow documentation and tutorials [here](https://langchain-ai.github.io/langgraph/).
## Repository Organization
### Directories:
- `maeser` contains the source code for the application.
- `dist` contains configuration and code for distributing the module.
- `requirements` contains python requirements files.
- `sphinx_docs` contains sphinx related code and various documentation files.
- `tests` contains unit test files for the application's source code.
Maeser is licensed on the LGPL version 3 or later: you can redistribute it and/or modify it under the terms of
the GNU Lesser General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version. Maeser is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
See [COPYING.LESSER.md](https://github.com/byu-cpe/Maeser/blob/master/COPYING.LESSER.md) and [COPYING.md](https://github.com/byu-cpe/Maeser/blob/master/COPYING.md) for more details on the GNU Lesser General Public License. Other resources may be licensed under different compatible licenses, such as the [MIT License](https://opensource.org/license/mit) (Bootstrap Icons), [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/legalcode) (normalize.css), or [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.en) (images and vector stores).
Raw data
{
"_id": null,
"home_page": "https://github.com/byu-cpe/Maeser",
"name": "maeser",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "maeser, chatbot, llm, AI, Retrieval Augmented Generation, RAG, education",
"author": "Ayden Bales",
"author_email": "aydenmb@byu.edu",
"download_url": "https://files.pythonhosted.org/packages/07/17/eb21ab8f855a31f7655cbe9f4afbb3044b7f14783a8d75639f1d6a271af6/maeser-1.0.0.tar.gz",
"platform": null,
"description": "# Maeser\n## Overview\nThis package is designed to facilitate the creation of Retrieval-Augmented Generation (RAG) chatbot applications, specifically tailored for educational purposes. It leverages the capabilities of [LangGraph](https://langchain-ai.github.io/langgraph/), a powerful tool for serving RAG pipelines, to provide a robust backend for chatbot interactions.\n\nDetailed documentation can be found [here](https://byu-cpe.github.io/Maeser/).\n## Features\n- **RAG Pipeline Integration**: Utilizes LangGraph to seamlessly integrate RAG pipelines into the chatbot, enhancing its ability to generate informative and contextually relevant responses.\n- **Session Management**: Comes equipped with a session manager to handle interactions efficiently, ensuring a smooth and coherent conversation flow.\n- **Web Interface**: Includes optional prebuilt Flask applications, making it easy to deploy the chatbot on a web browser for accessible and interactive user experiences.\n- **Terminal Interface**: Offers a simple terminal interface for users who prefer a more straightforward method of interaction, making it versatile for different use cases.\n## Potential Use Cases\n* Help students study for an exam\n * Generate example problems\n* Provide guided help for students completing homework\n * Not giving them the answers but providing hints and guided help to step them through the problems\n * Pointing the students back to the textbook or slides when guiding them\n* Assist them in completing the labs\n * Review their code and provide feedback\n * Help them resolve common issues such as issues with the Vivado tools\n\n## Getting Started\n### Development Setup\nTo begin using the Maeser Chatbot, follow the [development setup instructions](https://byu-cpe.github.io/Maeser/development/development_setup.html).\nThis page includes instructions for cloning the repository and running the app.\n\n> **NOTE:** This application is intended to run on Unix-based systems. For help running Maeser on Windows, follow the [development setup using Windows Subsystem Linux instructions](https://byu-cpe.github.io/Maeser/development/wsl_development.html).\n### Example\nFor a fully working example application, follow the documentation for the [example application](https://byu-cpe.github.io/Maeser/development/flask_example.html).\n### Embedding Context\nFollow the documentation for embedding custom content [here](https://byu-cpe.github.io/Maeser/development/embedding.html).\n### Graphs\nAn understanding of langchain and langgraph is necessary for customizing the application for any use case. Follow documentation and tutorials [here](https://langchain-ai.github.io/langgraph/).\n\n## Repository Organization\n### Directories:\n- `maeser` contains the source code for the application.\n- `dist` contains configuration and code for distributing the module.\n- `requirements` contains python requirements files.\n- `sphinx_docs` contains sphinx related code and various documentation files.\n- `tests` contains unit test files for the application's source code. \n\nMaeser is licensed on the LGPL version 3 or later: you can redistribute it and/or modify it under the terms of\nthe GNU Lesser General Public License as published by the Free Software Foundation,\neither version 3 of the License, or (at your option) any later version. Maeser is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\nwithout even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\nPURPOSE.\n\nSee [COPYING.LESSER.md](https://github.com/byu-cpe/Maeser/blob/master/COPYING.LESSER.md) and [COPYING.md](https://github.com/byu-cpe/Maeser/blob/master/COPYING.md) for more details on the GNU Lesser General Public License. Other resources may be licensed under different compatible licenses, such as the [MIT License](https://opensource.org/license/mit) (Bootstrap Icons), [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/legalcode) (normalize.css), or [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.en) (images and vector stores).\n",
"bugtrack_url": null,
"license": "LGPL-3.0-or-later",
"summary": "A package for building RAG chatbot applications for educational contexts.",
"version": "1.0.0",
"project_urls": {
"Documentation": "https://byu-cpe.github.io/Maeser/",
"Homepage": "https://github.com/byu-cpe/Maeser",
"Repository": "https://github.com/byu-cpe/Maeser"
},
"split_keywords": [
"maeser",
" chatbot",
" llm",
" ai",
" retrieval augmented generation",
" rag",
" education"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "13c17736beb51b57e48829f01e570db4d18bd3134f4ebc76fb2a9b3bc9f96ec6",
"md5": "18854eefd1368d9dfe8abfd73ca5debe",
"sha256": "25af3eba81f548c66c16f3932de6fcfacf7cb6135ba4da4950cd24f43fa954f2"
},
"downloads": -1,
"filename": "maeser-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "18854eefd1368d9dfe8abfd73ca5debe",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 4284500,
"upload_time": "2025-09-12T22:32:23",
"upload_time_iso_8601": "2025-09-12T22:32:23.461819Z",
"url": "https://files.pythonhosted.org/packages/13/c1/7736beb51b57e48829f01e570db4d18bd3134f4ebc76fb2a9b3bc9f96ec6/maeser-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0717eb21ab8f855a31f7655cbe9f4afbb3044b7f14783a8d75639f1d6a271af6",
"md5": "1fa3a0a503f70bdfd84ae082f67d5001",
"sha256": "a35d261f6298e73e810718b554ad142218c88c39833d73c1eb2116e978115428"
},
"downloads": -1,
"filename": "maeser-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "1fa3a0a503f70bdfd84ae082f67d5001",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3371589,
"upload_time": "2025-09-12T22:32:26",
"upload_time_iso_8601": "2025-09-12T22:32:26.163593Z",
"url": "https://files.pythonhosted.org/packages/07/17/eb21ab8f855a31f7655cbe9f4afbb3044b7f14783a8d75639f1d6a271af6/maeser-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-12 22:32:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "byu-cpe",
"github_project": "Maeser",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "maeser"
}