AWS Bedrock Foundation模型的Streamlit聊天应用程序
AWS基岩基础模型的功能丰富的聊天界面,支持多模式输入、推理模式和可选的MCP(模型上下文协议)工具调用。
🚀 快速开始
先决条件
- 具有Bedrock访问权限的有效AWS凭据
- Python 3.8+
安装
# Clone the repository
git clone
cd
# Install dependencies
pip install -r requirements.txt
# Run the application
streamlit run bedrock_streamlit_converseAPI.py✨ 特性
- 多模型支持:亚马逊新星、拟人克劳德、DeepSeek、Qwen模特
- 多模式能力:文本、图像、文档和视频(取决于型号)
- 推理模式:Claude和Qwen模型的扩展思维
- 可配置参数:温度、top-p、top-k、最大标记
- AWS凭证管理:环境变量、共享凭据或手动输入
- 跨区域支持:美国地区推断概况
- MCP集成 (可选):使用外部服务调用工具
📝 配置
添加新模型
只需编辑 models_config.json -无需更改代码:
"Your Model Name": {
"model_id": "your.model.id",
"max_tokens": 4096,
"supports_multimodal": true,
"supports_video": false,
"supports_reasoning": false,
"supports_tools": true,
"top_k_max": 500,
"model_family": "your_family",
"supports_top_k": true,
"supports_top_p": true
}保存后,模型将自动出现在UI下拉列表中。
配置文件
models_config.json-模型定义和功能config_manager.py-配置管理实用程序mcp.json-MCP服务器配置(可选,见下文)
🔧 MCP集成(可选)
通过以下方式启用工具调用功能 模型上下文协议(MCP) 让AI与外部服务交互。
设置
- 复制示例配置:
cp mcp.json.example mcp.json- 编辑
mcp.json使用您的服务器配置(请参阅mcp.json.example详细示例)
- 安装uv (适用于本地服务器):
curl -LsSf https://astral.sh/uv/install.sh | sh- 重新启动应用程序 加载MCP服务器
连接类型
- 标准 (本地):命令行服务器-必需
command+args - 超文本传输协议 (远程):HTTP服务器-需要
url(建议远程使用) - SSE (远程):服务器发送事件-需要
url+"connection_type": "sse"(遗产)
用法
配置后,自然提问:
- “在GitHub上搜索Python存储库”
- “阅读AWS S3存储桶策略文档”
AI会自动选择并使用适当的工具。在侧边栏中查看服务器状态。
📋 重要提示
- AWS凭据:使用标准boto3证书链(环境变量 或 共享凭据文件).您还可以通过UI手动提供凭据。
- 跨区域推断:对于美国地区概况,确保首先在这些地区启用模型访问。
- 主控程序:可选功能-该应用程序在没有标准聊天功能的情况下可以完美运行。
- 文件支持:图像、文档和视频理解取决于模型功能。
📸 截图
📁 项目结构
├── bedrock_streamlit_converseAPI.py # Main application
├── config_manager.py # Configuration management
├── models_config.json # Model definitions
├── mcp_client.py # MCP client (optional)
├── mcp_config.py # MCP configuration (optional)
├── tool_handler.py # Tool execution (optional)
├── stream_tools_sync.py # Streaming with tools (optional)
├── asyncio_loop_manager.py # Async event loop (optional)
├── archived/ # Legacy implementations
└── utils/ # UI assets