Bedrock Claude Chat 项目使用教程
1. 项目目录结构及介绍
Bedrock Claude Chat 是一个基于 Amazon Bedrock 的多语言聊天机器人项目。以下是项目的目录结构及其介绍:
aws-samples/bedrock-claude-chat/
├── .github/ # GitHub 工作流和代码规范文件
├── backend/ # 后端代码目录
├── cdk/ # AWS CDK (Cloud Development Kit) 配置目录
├── docs/ # 文档目录
├── examples/ # 示例代码目录
├── frontend/ # 前端代码目录
├── scripts/ # 脚本目录
├── .gitignore # Git 忽略文件
├── CODE_OF_CONDUCT.md # 行为准则文件
├── CONTRIBUTING.md # 贡献指南文件
├── LICENSE # 许可证文件
├── README.md # 项目说明文件
├── bin.sh # 部署脚本
├── deploy.yml # 部署配置文件
├── lefthook.yml # Lefthook 配置文件
├── pyrightconfig.json # Pyright 配置文件
.github/
: 包含项目的 GitHub 工作流文件,例如自动化测试、构建和发布流程。backend/
: 包含后端代码,使用 AWS Lambda 和其他 AWS 服务。cdk/
: 包含 AWS Cloud Development Kit 配置文件,用于定义和管理 AWS 资源。docs/
: 存放项目文档的目录。examples/
: 包含示例代码,展示如何使用项目。frontend/
: 包含前端代码,使用 React 和 Tailwind CSS。scripts/
: 包含项目的辅助脚本。.gitignore
: 指定 Git 忽略的文件和目录。CODE_OF_CONDUCT.md
: 项目的行为准则。CONTRIBUTING.md
: 指导如何为项目做贡献。LICENSE
: 项目的开源许可证。README.md
: 项目的基本介绍和使用说明。bin.sh
: 用于部署项目的脚本。deploy.yml
: 部署配置文件。lefthook.yml
: Lefthook 配置文件,用于在提交代码前执行钩子脚本。pyrightconfig.json
: Pyright 类型检查器的配置文件。
2. 项目的启动文件介绍
项目的启动主要依赖于 bin.sh
脚本。这个脚本负责初始化和部署项目到 AWS 环境。
chmod +x bin.sh
./bin.sh
运行 bin.sh
脚本时,会提示用户选择是新用户还是继续使用 v2 版本。如果是新用户,需要输入 y
。
此外,脚本还支持一些可选参数,例如:
--disable-self-register
: 禁用自我注册功能。--enable-lambda-snapstart
: 启用 Lambda SnapStart 功能,以改善冷启动时间。--ipv4-ranges
: 允许的 IPv4 地址范围。--ipv6-ranges
: 允许的 IPv6 地址范围。--disable-ipv6
: 禁用 IPv6 连接。--allowed-signup-email-domains
: 允许注册的电子邮件域名。--bedrock-region
: 定义 Bedrock 可用的区域。--repo-url
: 自定义的 Bedrock Claude Chat 仓库 URL。--version
: 要部署的 Bedrock Claude Chat 版本。
3. 项目的配置文件介绍
项目的配置主要通过 deploy.yml
和 cdk-json-override
来管理。
-
deploy.yml
: 这个文件包含了部署项目时的一些基础配置,如是否启用自我注册、Lambda SnapStart、IPv4 和 IPv6 地址范围等。 -
cdk-json-override
: 这是一个 JSON 格式的配置文件,用于在部署时覆盖cdk.json
中的设置。这允许在不直接编辑cdk.json
文件的情况下修改配置。例如:
{
"context": {
"selfSignUpEnabled": false,
"enableLambdaSnapStart": true,
"allowedIpV4AddressRanges": ["192.168.1.0/24"],
"allowedSignUpEmailDomains": ["example.com"]
}
}
在部署时,可以使用 --cdk-json-override
参数来指定这个文件的路径,以便应用这些覆盖配置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考