Skip to content

Latest commit

Β 

History

History
116 lines (76 loc) Β· 3.68 KB

File metadata and controls

116 lines (76 loc) Β· 3.68 KB

πŸš€ ChatBot Toolkit

The ChatBot Toolkit is designed for rapid development of LLM-powered chatbot applications β€” from simple chat interfaces to advanced RAG systems and agentic workflows using tools.

This toolkit provides plug-and-play modules that streamline chatbot and LLM application development, making the process faster, more efficient, and scalable. By using pre-built, reusable components, we:

βœ… Reduce development time ⏳
βœ… Improve code quality πŸ”₯
βœ… Minimize errors from rushed coding πŸ’‘


🧰 What's Inside?

This repository is a modular toolkit with multiple standalone modules to help you build LLM-based systems, including:

  • /chatbot_toolkit/chatbot – Basic to advanced chatbot frameworks πŸ€–
  • /chatbot_toolkit/rag – Retrieval-Augmented Generation pipelines πŸ“š
  • /chatbot_toolkit/tools – Agentic workflows with tool integration πŸ› οΈ

Each module is self-contained, extensible, and designed to be used individually or combined together.


🌍 Environment Variables Setup

To ensure smooth operation, the project requires certain environment variables. These should be stored in a .env file at the root of the project.

πŸ“Œ .env File Structure

Create a .env file in the project root and add the following:

# πŸ”Ή OpenRouter API Configuration  
OPENAI_API_KEY="your_openrouter_api_key_here"  
OPENAI_API_BASE="https://openrouter.ai/api/v1"  

# πŸ”Ή LangSmith Tracing (for debugging & monitoring model behavior)  
LANGSMITH_API_KEY="your_langsmith_api_key_here"  
LANGSMITH_TRACING="true"  
LANGSMITH_ENDPOINT="https://api.smith.langchain.com"  
LANGSMITH_PROJECT="your_project_name_here"

πŸ” Explanation of Variables

πŸ”Ή OpenRouter API Variables

  1. OPENAI_API_KEY β†’ API key for authentication with OpenRouter.
  2. OPENAI_API_BASE β†’ Specifies OpenRouter as the API endpoint (LangChain doesn’t support it natively).

πŸ”Ή LangSmith Tracing Variables

  1. LANGSMITH_API_KEY β†’ API key for LangSmith to enable tracing.
  2. LANGSMITH_TRACING β†’ Enables/disables LangSmith tracing. (true = enabled)
  3. LANGSMITH_ENDPOINT β†’ Endpoint for sending trace data.
  4. LANGSMITH_PROJECT β†’ Your project name in LangSmith.

🐳 Docker Setup (Dev Environment)

The toolkit includes a Dockerized development environment to simplify setup.
After launching the container, you can manually run any module you'd like to work on.

βš™οΈ Quick Start

  1. Build the Docker image
docker build -t chatbot .
  1. Start the container using Docker Compose
docker-compose up

βœ… Make sure your .env file is in the root directory before starting.


πŸ§ͺ Running a Module

Once the container is up and running:

# Access the container
docker exec -it <container_name_or_id> /bin/bash

# Run a specific module using its test script
python3 /chatbot_toolkit/chatbot/test.py   # πŸ”Ή ChatBot module  
python3 /chatbot_toolkit/rag/test.py       # πŸ”Ή RAG module  
python3 /chatbot_toolkit/tools/test.py     # πŸ”Ή Agentic tools module

Each module is designed to be:

  • Plug-and-play
  • Easy to extend
  • Useful for real-world LLM apps

πŸ“¦ Benefits of the Toolkit

✨ Rapid prototyping of LLM-powered apps
🧩 Modular architecture for flexibility
🐳 Dev-containerized for easy onboarding
πŸ“ˆ Production-ready with LangSmith tracing support
πŸ” Secure & clean separation of environment variables


πŸ“¬ Contributions

Want to add a new module or improve an existing one? PRs are welcome! Please follow the modular design style and keep test.py as the entry point for new components.