feat(iit): Phase 1.5 AI对话集成REDCap真实数据完成
- feat: ChatService集成DeepSeek-V3实现AI对话(390行) - feat: SessionMemory实现上下文记忆(最近3轮对话,170行) - feat: 意图识别支持REDCap数据查询(关键词匹配) - feat: REDCap数据注入LLM(queryRedcapRecord, countRedcapRecords, getProjectInfo) - feat: 解决LLM幻觉问题(基于真实数据回答,明确system prompt) - feat: 即时反馈(正在查询...提示) - test: REDCap查询测试通过(test0102项目,10条记录,ID 7患者详情) - docs: 创建Phase1.5开发完成记录(313行) - docs: 更新Phase1.5开发计划(标记完成) - docs: 更新MVP开发任务清单(Phase 1.5完成) - docs: 更新模块当前状态(60%完成度) - docs: 更新系统总体设计文档(v2.6) - chore: 删除测试脚本(test-redcap-query-for-ai.ts, check-env-config.ts) - chore: 移除REDCap测试环境变量(REDCAP_TEST_*) 技术亮点: - AI基于REDCap真实数据对话,不编造信息 - 从数据库读取项目配置,不使用环境变量 - 企业微信端测试通过,用户体验良好 测试通过: - 查询项目记录总数(10条) - 查询特定患者详情(ID 7) - 项目信息查询 - 上下文记忆(3轮对话) - 即时反馈提示 影响范围:IIT Manager Agent模块
This commit is contained in:
73
backend/src/modules/iit-manager/check-test-project-in-db.ts
Normal file
73
backend/src/modules/iit-manager/check-test-project-in-db.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
/**
|
||||
* 检查test0102项目是否在数据库中
|
||||
*
|
||||
* 运行方式:
|
||||
* ```bash
|
||||
* cd backend
|
||||
* npm run tsx src/modules/iit-manager/check-test-project-in-db.ts
|
||||
* ```
|
||||
*/
|
||||
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import dotenv from 'dotenv';
|
||||
|
||||
dotenv.config();
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
async function main() {
|
||||
console.log('='.repeat(70));
|
||||
console.log('🔍 检查test0102项目在数据库中的配置');
|
||||
console.log('='.repeat(70));
|
||||
console.log();
|
||||
|
||||
try {
|
||||
// 查询项目
|
||||
const project = await prisma.iitProject.findFirst({
|
||||
where: {
|
||||
redcapProjectId: '16'
|
||||
}
|
||||
});
|
||||
|
||||
if (project) {
|
||||
console.log('✅ test0102项目已在数据库中');
|
||||
console.log();
|
||||
console.log('📋 项目信息:');
|
||||
console.log(` 数据库ID: ${project.id}`);
|
||||
console.log(` 项目名称: ${project.name}`);
|
||||
console.log(` REDCap项目ID: ${project.redcapProjectId}`);
|
||||
console.log(` REDCap URL: ${project.redcapUrl}`);
|
||||
console.log(` API Token: ${project.redcapApiToken.substring(0, 8)}***`);
|
||||
console.log(` 状态: ${project.status}`);
|
||||
console.log(` 上次同步: ${project.lastSyncAt || '从未同步'}`);
|
||||
console.log(` 创建时间: ${project.createdAt}`);
|
||||
console.log();
|
||||
|
||||
console.log('✅ 项目配置完整,可以直接使用!');
|
||||
console.log();
|
||||
console.log('🚀 下一步:');
|
||||
console.log(' 直接运行测试脚本(无需环境变量):');
|
||||
console.log(' npm run tsx src/modules/iit-manager/test-redcap-query-from-db.ts');
|
||||
} else {
|
||||
console.log('❌ test0102项目不在数据库中');
|
||||
console.log();
|
||||
console.log('📝 需要先将项目添加到数据库');
|
||||
console.log();
|
||||
console.log('💡 解决方案:');
|
||||
console.log(' 运行插入脚本:');
|
||||
console.log(' npm run tsx src/modules/iit-manager/insert-test-project.ts');
|
||||
}
|
||||
|
||||
console.log();
|
||||
console.log('='.repeat(70));
|
||||
|
||||
} catch (error: any) {
|
||||
console.error('❌ 查询失败:', error.message);
|
||||
console.error(' 请检查数据库连接和表结构');
|
||||
} finally {
|
||||
await prisma.$disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
|
||||
Reference in New Issue
Block a user