详细介绍
Snippy 是一个基于 Azure Functions 的开源示例应用,展示如何将函数暴露为 MCP(模型上下文协议)工具,结合 Durable Agents 实现有状态的多智能体编排。项目集成了 Azure OpenAI、Cosmos DB 向量索引和 Durable Task Scheduler,可通过 azd up 一键在 Azure 或本地模拟器中部署全栈示例并复现实验场景。
主要特性
- MCP 工具接入:将 Azure Functions 作为可发现的工具供 AI 助手调用。
- 多智能体编排:使用 Durable Agents 与 Durable Task Scheduler 协调多步骤工作流(如 DeepWiki、CodeStyle)。
- 向量检索:基于 Cosmos DB 的向量索引实现语义代码片段检索与检索增强生成(RAG)。
- 一键部署:支持
azd up自动化部署 Azure 资源,兼容 Codespaces 与 Dev Containers。
使用场景
- 教学与实验:作为学习 MCP、Durable Functions 与向量检索的完整示例工程。
- 开发者助理:演示如何构建可供 GitHub Copilot 等助手发现并调用的工具链。
- 研发流水线:在 CI/Codespaces 环境中快速复现端到端部署与测试流程。
技术特点
- 平台与语言:以 Python + Azure Functions 实现,并利用 Bicep/azd 管理基础设施。
- 可观测性:内置监控与 DTS 仪表盘,便于跟踪编排执行与工具调用。
- 可扩展性:模块化工具矩阵与插件化工作流,易于替换模型后端与检索层。
- 许可:MIT 许可,便于学习、复现与二次开发。