GenaiBots is a comprehensive framework designed for automating and managing interactions across various digital platforms. It is primarily an enterprise tool for integrating generative AI into operational processes through mediums such as instant messaging, emails, ticketing tools, or internal tools. Utilizing advanced AI and a modular plugin system, it enables the creation of sophisticated operational flows and interaction models tailored for both businesses and developers.
More details in the wiki https://github.com/YounitedCredit/younited-genaibots/wiki You can use also chat with the dedicated GPT here for any question related to the installtion, configuration and development of GenaiBots: https://chatgpt.com/g/g-HGEDT9hA2-genaibots-assistant
this webclient sample works fine with the framework if you want to test it fast: https://github.com/Pilosite/genaibot-basicweb-client
requirements.txt
file.git clone https://github.com/YounitedCredit/younited-genaibots
cd genaibots
python -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`
pip install -r requirements.txt
Configure the application settings by editing the config.yaml
file in the config
directory. Ensure all necessary API keys and database configurations are set correctly.
The config.yaml
file centralizes the configuration settings for the GenaiBots application. Here are some key sections and their purposes:
BOT_CONFIG: Contains settings related to bot behavior and debugging levels.
LOG_DEBUG_LEVEL
: Defines the debug level for logging.PROMPTS_FOLDER
, CORE_PROMPT
, MAIN_PROMPT
, SUBPROMPTS_FOLDER
: Specify the directories and files for prompts.SHOW_COST_IN_THREAD
: Toggle to show cost information in threads.UTILS: Contains utility configurations, such as logging settings.
LOGGING
: Configures logging, including file system paths and Azure settings.PLUGINS: Defines available plugins and their configurations.
ACTION_INTERACTIONS
, BACKEND
, USER_INTERACTIONS
, GENAI_INTERACTIONS
, and USER_INTERACTIONS_BEHAVIORS
.The environment variables are loaded via python-dotenv
, typically from a .env
file. This allows the application to securely load sensitive data like API keys and database URLs. Here's a basic overview of how environment setup works in GenaiBots:
load_dotenv()
function is called to load environment variables from a .env
file into the application.config.yaml
can reference these environment variables using the $(ENV_VAR_NAME)
syntax.Execute the following command in the project root directory:
python app.py
This will start the server and begin handling requests based on configured actions and triggers.
To debug the application in Visual Studio Code, use the following command:
c:; cd 'c:reposYuc.GenaiBots'; & 'C:Users<your profile>miniconda3python.exe' 'c:Users<your profile>.vscodeextensionsms-python.debugpy-2024.6.0-win32-x64bundledlibsdebugpyadapter/../..debugpylauncher' '64580' '--' '-m' 'uvicorn' 'app:app' '--host' 'localhost' '--port' '7071' '--workers' '1'
GenaiBots employs a modular plugin architecture categorized into several families:
Action Interactions:
Backend:
User Interactions:
GenAI Interactions:
User Interactions Behaviors:
This project is licensed under the MIT License - see the LICENSE.md
file for more details.
For any support queries or to report issues, please visit our GitHub Issues page at: https://github.com/YounitedCredit/younited-genaibots/issues