Skip to content

A modular and comprehensive solution to deploy a Multi-LLM and Multi-RAG powered chatbot (Amazon Bedrock, Anthropic, HuggingFace, OpenAI, AI21, Cohere) using AWS CDK on AWS

License

Notifications You must be signed in to change notification settings

cal-poly-dxhub/aws-genai-llm-chatbot

 
 

Repository files navigation

E-Ciso Refactor

Original proof of concept refactored into broader framework.

Follows same deployment steps as Original Framework

(eciso) $ npm run config

> [email protected] config
> node ./cli/magic.js config

✔ Prefix to differentiate this deployment · eciso
✔ Do you want to deploy a private website? I.e only accessible in VPC (y/N) · false
✔ Do you have access to Bedrock and want to enable it (Y/n) · true
✔ Region where Bedrock is available · us-east-1
✔ Cross account role arn to invoke Bedrock - leave empty if Bedrock is in same account · 
✔ Do you want to enable additional custom plugins?  (Y/n) · true
✔ Do you want to enable the eCISO plugin? (Y/n) · true
✔ Do you want to enable the focus mode for eCISO plugin? (Y/n) · true
✔ Do you want to use any Sagemaker Models (y/N) · false
✔ Do you want to enable RAG (y/N) · false

Config has been updated to support eCISO "Plugin". eCISO plugin true adds the module under a menu drop down of Custom Plugins; focus mode rolls away everything else from the core framework and makes eCISO related items only piece showing to user.

High level changes to note/areas of interest

File Comment
magic-config.ts Updated prompt options
lib/chatbot-api/chatbot-s3-buckets/index.ts additional s3 bucket to support PDF
lib/chatbot-api/functions/api-handler/routes/sessions.py appsync additional routes
lib/model-interfaces/langchain/functions/request-handler/adapters/* Custom adapter enhancements for eCISO
lib/user-interface/* UI related tweaks

General thoughts:

  • POC level implementation, so will need further development for production systems
  • Needs increased error handling
  • PDF Generation should be ASYNC not SYNC
  • Likely would want to limit available adapters (not just via ui)
  • Retro testing of baseline functionality outside of the following options was not performed
✔ Prefix to differentiate this deployment · eciso
✔ Do you want to deploy a private website? I.e only accessible in VPC (y/N) · false
✔ Do you have access to Bedrock and want to enable it (Y/n) · true
✔ Region where Bedrock is available · us-east-1
✔ Cross account role arn to invoke Bedrock - leave empty if Bedrock is in same account · 
✔ Do you want to use any Sagemaker Models (y/N) · false
✔ Do you want to enable RAG (y/N) · false

(IE private website etc.)

Deploying a Multi-Model and Multi-RAG Powered Chatbot Using AWS CDK on AWS

Release Notes GitHub star chart License: MIT

Deploy with GitHub Codespaces

Full Documentation

sample

This solution provides ready-to-use code so you can start experimenting with a variety of Large Language Models and Multimodal Language Models, settings and prompts in your own AWS account.

Supported model providers:

Additional Resources

Resource Description
AWS Generative AI CDK Constructs Open-source library extension of the AWS Cloud Development Kit (AWS CDK) aimed to help developers build generative AI solutions using pattern-based definitions for their architecture.
Project Lakechain A powerful cloud-native, AI-powered, document (docs, images, audios, videos) processing framework built on top of the AWS CDK.

Roadmap

Roadmap is available through the GitHub Project

Authors

Contributors

contributors

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Legal Disclaimer

You should consider doing your own independent assessment before using the content in this sample for production purposes. This may include (amongst other things) testing, securing, and optimizing the content provided in this sample, based on your specific quality control practices and standards.

About

A modular and comprehensive solution to deploy a Multi-LLM and Multi-RAG powered chatbot (Amazon Bedrock, Anthropic, HuggingFace, OpenAI, AI21, Cohere) using AWS CDK on AWS

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 71.6%
  • Python 25.8%
  • JavaScript 1.7%
  • SCSS 0.5%
  • Shell 0.3%
  • HTML 0.1%