← Back to Projects

Conversational AI Chatbot 🤖

Project Details

Sailly is a web-based chat interface built using Streamlit and powered by Retrieval-Augmented Generation (RAG). It enables the sales department to quickly retrieve and answer questions from internal knowledge bases, improving efficiency and decision-making. The RAG system is developed using LlamaIndex and supports multiple data sources, including Confluence Spaces, PDFs, Excel files, and PowerPoint slides. Additionally, images embedded in these sources are transcribed, allowing users to extract insights from images and graphs through text-based queries.

Sailly Data Flow

The application is hosted in AWS using Docker and AWS ECS, while the knowledge base is stored in a PostgreSQL database on AWS RDS. It leverages OpenAI's text-embedding-ada-002 for vector embeddings and Anthropic's claude-3.5-sonnet for both response generation and image transcription.

Sailly Screenshot

Key Features

My Contribution

I took full responsibility for leading the technical development of the product, from the initial kickoff meeting to the automated deployment of the application. This included selecting the appropriate frameworks, designing the system architecture, developing the first MVP, and evaluating system performance. Together with two colleagues, we built a scalable and extensible framework that allows seamless integration of new knowledge sources based on customer needs. Our design extensively utilizes Python functional composition and higher-order functions, ensuring modularity and reusability in our implementation.

Challenges and Solutions

Outcome

Technologies

Python Generative AI Retrieval-Augmented Generation (RAG) LlamaIndex LLMs Anthropic Claude Azure OpenAI MLOps Vector Database PostgresDB Embeddings Streamlit AWS Bedrock AWS ECS AWS ECR AWS RDS AWS Secrets Manager AWS Lambda Docker ETL Image Transcription