Inspiration
There are many tools for creating chatbots but none of them satisfied all of our needs:
- being easy to use by a non technical expertise
- being easy to deploy
- have ready to use APIs and integrations
- allow for creating custom tools easy
- have detailed analysis for conversations
- are completely open source
- were written completely using python (we didn't want to learn JS, sorry) So we decided to build our own platform :) Additionally while working with llms we ran into tasks where we needed close to 100% precision for tasks such as classification and extraction but there were no frameworks that allowed us to get confidence scores from llms easily and calibrate them using existing tools such as sklearn. This inspired us to use this hackathon as a push to introduce this functionality to Chattum
What it does
Chattum is a comprehensive chatbot platform designed to meet all the unmet needs we identified. It provides:
- An intuitive, user-friendly interface that allows non-technical users to create and manage chatbots. Easy deployment options to various environments and platforms.
- A rich set of APIs and integrations that make it seamless to connect Chattum with other tools and services.
- Custom tool creation capabilities to extend the chatbot’s functionality without hassle. analytics and reporting for conversation analysis to understand user interactions and improve the chatbot’s performance.
- Open-source availability, allowing users to customize and extend the platform as needed.
- Easy workflow creating form common tasks such as classification and information extraction
- Confidence scoring and calibration features for LLM outputs, enabling high precision in tasks like classification and extraction, leveraging tools like sklearn.
How we built it
We built Chattum using a combination of modern completely open-source python frameworks and machine learning libraries. Frontend: Built with Streamlit for a dynamic and interactive user interface. Backend: Powered by FastAPI, ensuring a scalable and efficient server-side solution. LLM Integration: Utilized TogetherAI for advanced open-source language model integrations. Vector Storage: Integrated Chroma for efficient vector storage and retrieval. Data Storage: Employed MongoDB for comprehensive data management. Object Storage: Used MinIO for scalable and secure object storage. Machine Learning: Leveraged sklearn for model calibration and confidence scoring.
Challenges we ran into
UI and UX: Ensuring ease of use for non-technical users required rigorous user testing and iterative design improvements. We also really wanted to use Streamlit so there are a lot of custom components and 3rd party libraries to make use of the advanced UI Integration Complexity: Seamlessly integrating a wide array of APIs demanded innovative technical solutions. Precision and Calibration: Achieving accurate confidence scoring and calibration for LLM outputs involved extensive research and testing.
Accomplishments that we're proud of
- Having a fully functioning, advanced web app written completely in streamlit
- Keeping the code modular and easily extendible
- Sticking with open source technologies
What we learned
User-Centered Design: The importance of designing with the user in mind and the value of continuous feedback. Technical Integration: The complexities and rewards of integrating diverse APIs and tools. *Authentication is hard :) *: We have yet to implement real user authentication module
What's next for Chattum
The app is currently in POC phase. In the next steps we want to focus on making the app ready for production - advanced testing, authentication, databases refactor, improving vector search
Log in or sign up for Devpost to join the conversation.