bedrock-claude-chat 项目介绍
bedrock-claude-chat 是 AWS 提供的一个示例项目,用于构建基于 Amazon Bedrock 和 Anthropic 公司的 Claude 大语言模型的聊天机器人。该项目展示了如何利用 AWS 的托管服务来部署可扩展、可靠和安全的生成式 AI 应用程序。
主要特性
-
基本对话功能:支持文本和图像输入,可使用 Claude 3 的 Haiku、Sonnet 和 Opus 等模型。
-
机器人个性化:可以添加自定义指令和外部知识(URL或文件),实现 RAG(检索增强生成)。
-
管理员仪表板:分析每个用户/机器人的使用情况。
-
LLM 驱动的 Agent:可以自动处理复杂任务,从外部工具检索信息或将任务分解为多个步骤。
-
多语言支持:支持英语、日语、韩语、中文、法语、德语、西班牙语和意大利语。
快速部署
-
在 us-east-1 区域开启 Bedrock 模型访问权限。
-
使用 AWS CloudShell 执行部署命令。
-
部署完成后,通过生成的前端 URL 访问应用。
架构概述
该项目使用了多个 AWS 托管服务,包括:
- Amazon DynamoDB:存储对话历史
- Amazon API Gateway + AWS Lambda:后端 API 端点
- Amazon CloudFront + S3:前端应用交付
- AWS WAF:IP 地址限制
- Amazon Cognito:用户认证
- Amazon Bedrock:提供 Claude 模型访问
- Amazon EventBridge Pipes:处理 DynamoDB 流事件
- Amazon ECS:运行爬取、解析和嵌入任务
- Amazon Aurora PostgreSQL:可扩展的向量存储
- Amazon Athena:分析 S3 存储桶数据
学习资源
-
GitHub 仓库:包含完整的源代码和文档。
-
YouTube 视频教程:概述和安装指南。
-
RAG 实现指南:了解如何实现检索增强生成。
-
本地开发指南:学习如何在本地环境中开发和测试。
-
管理员功能文档:了解管理员仪表板的功能。
-
API 发布指南:学习如何将自定义机器人发布为独立 API。
-
Agent 功能文档:深入了解 LLM 驱动的 Agent 功能。
贡献指南
项目欢迎 bug 修复、语言翻译、功能增强和 Agent 工具开发等贡献。在提交 Pull Request 之前,建议先创建 Feature Request Issue 讨论实现方案。
总结
bedrock-claude-chat 项目为开发者提供了一个全面的 AWS 原生聊天机器人解决方案。通过学习和实践这个项目,开发者可以深入了解如何利用 Amazon Bedrock 和其他 AWS 服务构建强大的生成式 AI 应用。无论是想要快速部署一个聊天机器人,还是深入研究 RAG 和 Agent 等高级功能,这个项目都提供了丰富的学习资源和实践机会。