private-llm-qa-bot  by aws-samples

Production-ready Q&A chatbot using AWS and LangChain

created 2 years ago
279 stars

Top 94.1% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a production-ready, AWS-native, LangChain-based chatbot for knowledge Q&A, designed for easy integration with IM tools like Lark. It offers flexible configuration for vector and large language models, supporting various data formats and optimized for efficient knowledge retrieval.

How It Works

The system employs a decoupled front-end and back-end architecture, leveraging AWS serverless services. Key components include Lambda functions for intention detection, query rewriting, and core agent logic. It supports offline knowledge ingestion and processing, with a workflow that typically involves three LLM calls for comprehensive Q&A. The design emphasizes modularity, allowing for plug-and-play replacement of vector and LLM models.

Quick Start & Requirements

  • Installation: Deployment is managed via AWS CDK. Refer to the Deployment Documentation and Lark Workshop for step-by-step guidance.
  • Prerequisites: AWS account, AWS CDK, Python. Specific AWS services like Bedrock, SageMaker (optional), and OpenSearch are utilized.
  • Data Formats: Supports PDF, Word, TXT, MD, Wiki, and specific FAQ formats (.faq, .csv, .xlsx).

Highlighted Details

  • Production-grade implementation with optimized AWS service utilization.
  • Flexible LLM and vector model configuration and hot-swapping.
  • Decoupled front-end and back-end for easy integration into IM platforms.
  • Supports offline knowledge base construction and RAG best practices.

Maintenance & Community

The project is part of the aws-samples repository. Community interaction and help can be found via WeChat groups and Bilibili demo videos.

Licensing & Compatibility

The repository is licensed under the Apache-2.0 license, permitting commercial use and integration with closed-source applications.

Limitations & Caveats

SageMaker for rerank models is optional and incurs significant cost; its exclusion is possible if not needed. OpenSearch costs are dependent on instance type and data volume. The workshop deployment branch may not be the latest.

Health Check
Last commit

6 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
9 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.