研究助理
Next.js应用程序,充当人工智能驱动的生物医学研究助理。它使用 Vercel AI SDK 和 模型上下文协议(MCP) 查询PubMed、ClinicalTrials.gov和MyVariant.info。
环境变量
您需要在 .env.local 文件:
BIOMCP_URL-BioMCP服务器(SSE端点)的URL。GOOGLE_GENERATIVE_AI_API_KEY-您的Google Gemini API密钥。
入门指南
运行开发服务器: yarn dev
打开http://localhost:3000在您的浏览器中。
架构与流程
此应用程序通过AI Agent将聊天UI连接到生物医学数据源。
它是如何工作的(示例)
1-用户提示:“查找有关TNF-α抑制剂的论文。”
2-分析:人工智能模型(Gemini)分析请求。
3-工具:如果人工智能能够将提示与工具相匹配,则会调用特定的工具(例如searchArticles)。如果没有,他只返回(2)的输出
4-MCP:连接到BioMCP服务器以搜索结果
5-响应:原始数据被汇总到markdown中并流式传输回来
项目结构
代码的组织是为了将用户界面与业务逻辑分开。
src/app:处理路由和API端点(如/API/聊天)。
src/features:包含应用程序核心逻辑(聊天页面组件)
src/domain:定义数据类型和核心验证规则(Zod模式)。
src/lib:管理与LLM和BioMCP服务器等外部库的交互
src/components/ui:可重复使用的设计元素(按钮、卡片、输入)。
技术栈:
- 服务器:NextJS
- 用户界面:ShadCN/顺风
- 验证:zod
- 法学硕士:Vercel ai sdk
- 测试:Vitest+剧作家
- 基础设施:Vercel
进一步改善
虽然该应用程序目前很简单,但它包含构建可扩展系统所需的逻辑和设计模式:
- Zod对类型安全进行了强有力的验证
- 可重用UI组件
- 测试
为了使其生产就绪,接下来的步骤可能是:
- 左侧面板包含聊天历史记录,由专用数据库支持。
- 将BioMCP输出从静态文本升级为交互式组件。这将允许用户直接在聊天中对研究论文或临床试验进行排序、过滤和分页。
- 实施监控工具以跟踪绩效。
- 利用LLM流媒体功能来可视化“思维过程”。
