Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
11 KiB
<EFBFBD>唳旿摨𤘪沲<EFBFBD><EFBFBD>秩<EFBFBD>?
*<EFBFBD>𥕦遣<EFBFBD>交<EFBFBD>嚗? 2025-11-06
*<EFBFBD><EFBFBD>﹝<EFBFBD>桃<EFBFBD>嚗? 瞉<><E79E89><EFBFBD>唳旿摨㯄<E691A8>蝵脫䲮撘誩<E69298><E8AAA9>嗆<EFBFBD>
<EFBFBD><EFBFBD> <20>詨<EFBFBD>瞉<EFBFBD><E79E89>
<EFBFBD>?<3F>冽<EFBFBD><E586BD>芸楛<E88AB8>祉<EFBFBD><E7A589><EFBFBD>ostgreSQL<51>唳旿摨橒<E691A8>
*<EFBFBD>喲睸鈭见<EFBFBD>嚗?
- <EFBFBD>?PostgreSQL<51>舫<EFBFBD>朞<EFBFBD>Docker<65>函蔡<E587BD><E894A1><EFBFBD>
docker-compose.yml嚗? - <EFBFBD>?餈蹱糓<E8B9B1>券★<E588B8>桃<EFBFBD><E6A183>祉<EFBFBD><E7A589>唳旿摨橒<E691A8>銝齿糓Dify<66>?
- <EFBFBD>?Dify<66>㕑䌊撌勗<E6928C><E58B97>函𡠺蝡讠<E89DA1><E8AEA0>唳旿摨橒<E691A8><E6A992>灼dify/docker/`<60>桀<EFBFBD>銝页<E98A9D>
- <EFBFBD>?<3F>其<EFBFBD><E585B6><EFBFBD>閬<EFBFBD><E996AC><EFBFBD>典<EFBFBD>鋆<EFBFBD>ostgreSQL嚗㷉ocker隡朞䌊<E69C9E>典<EFBFBD>撱?
<EFBFBD>閦 Docker<65>函蔡霂行<E99C82>
docker-compose.yml<6D>滨蔭
# 雿滨蔭嚗鋫Iclinicalresearch/docker-compose.yml
services:
# PostgreSQL <20>唳旿摨?
postgres:
image: postgres:15-alpine # 雿輻鍂摰䀹䲮PostgreSQL<51>𨅯<EFBFBD>
container_name: ai-clinical-postgres
environment:
POSTGRES_DB: ai_clinical_research # <20>唳旿摨枏<E691A8>
POSTGRES_USER: postgres # <20>冽<EFBFBD><E586BD>?
POSTGRES_PASSWORD: postgres123 # 撖<><E69296>
ports:
- "5432:5432" # 蝡臬藁<E887AC>惩<EFBFBD>
volumes:
- postgres_data:/var/lib/postgresql/data # <20>唳旿<E594B3><E697BF><EFBFBD><EFBFBD>?
networks:
- ai-clinical-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
# Redis 蝻枏<E89DBB>
redis:
image: redis:7-alpine
container_name: ai-clinical-redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- ai-clinical-network
volumes:
postgres_data: # PostgreSQL<51>唳旿<E594B3>瘀<EFBFBD><E79880>唳旿<E594B3><E697BF><EFBFBD><EFBFBD>硋<EFBFBD><E7A18B>剁<EFBFBD>
redis_data: # Redis<69>唳旿<E594B3>?
<EFBFBD><EFBFBD> <20>臬𢆡瘚<F0A286A1><E7989A>
銝<EFBFBD><EFBFBD>桀鍳<EFBFBD>刻<EFBFBD><EFBFBD>穿<EFBFBD>銝<EFBFBD><EFBFBD>桀鍳<EFBFBD>?bat嚗?
[甇仿炊2/7] <20>臬𢆡PostgreSQL<51>朙edis摰孵膥
docker-compose up -d
餈嗘葵<E59798>賭誘隡𡄯<E99AA1>
1. <20>芸𢆡銝贝蝸PostgreSQL 15<31>𨅯<EFBFBD>嚗<EFBFBD><E59A97><EFBFBD>𨀣𧋦<F0A880A3>唳瓷<E594B3>㚁<EFBFBD>
2. <20>𥕦遣PostgreSQL摰孵膥
3. <20>𥕦遣Redis摰孵膥
4. <20>𥕦遣<F0A595A6>唳旿<E594B3>瘀<EFBFBD>postgres_data嚗厩鍂鈭擧<E988AD>銋<EFBFBD><E98A8B>摮睃<E691AE>
5. <20>臬𢆡摰孵膥撟嗅銁<E59785>𤾸蝱餈鞱<E9A488>
*<EFBFBD>其<EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD><EFBFBD>典<EFBFBD>鋆<EFBFBD>ostgreSQL嚗?
- <EFBFBD>?Docker隡朞䌊<E69C9E>典<EFBFBD>撱箏<E692B1>蝞∠<E89D9E>
- <EFBFBD>?<3F>唳旿摮睃<E691AE><E79D83>求ocker<65>唳旿<E594B3>瑚葉嚗䔶<E59A97>隡帋腺憭?
- <EFBFBD>?<3F>臭誑<E887AD>朞<EFBFBD>
localhost:5432餈墧𦻖
<EFBFBD><EFBFBD>儭?<3F>唳旿摨栞<E691A8><E6A09E>乩縑<E4B9A9>?
餈墧𦻖<EFBFBD>滨蔭
<EFBFBD>唳旿摨栞<EFBFBD><EFBFBD>亙<EFBFBD>蝚虫葡嚗㇄ATABASE_URL嚗㚁<EFBFBD>
postgresql://postgres:postgres123@localhost:5432/ai_clinical_research
*<EFBFBD><EFBFBD>圾嚗?
- *<EFBFBD>讛悅嚗? postgresql://
- <EFBFBD>冽<EFBFBD><EFBFBD>㵪<EFBFBD> postgres
- *撖<EFBFBD><EFBFBD>嚗? postgres123
- *銝餅㦤嚗? localhost嚗㇄ocker<65>惩<EFBFBD><E683A9>唳𧋦<E594B3>堆<EFBFBD>
- *蝡臬藁嚗? 5432
- *<EFBFBD>唳旿摨枏<EFBFBD>嚗? ai_clinical_research
<EFBFBD>𡒊垢<EFBFBD>滨蔭嚗Ê̄ackend/.env嚗?
# <20>唳旿摨栞<E691A8><E6A09E>?
DATABASE_URL=postgresql://postgres:postgres123@localhost:5432/ai_clinical_research
# 餈嗘葵餈墧𦻖<E5A2A7><F0A6BB96>糓<EFBFBD>刻䌊撌梁<E6928C>PostgreSQL嚗䔶<E59A97><E494B6>浴ify<66><79><EFBFBD>
<EFBFBD><EFBFBD> 銝支葵<E694AF>祉<EFBFBD><E7A589><EFBFBD>㺭<EFBFBD>桀<EFBFBD>蝟餌<E89D9F>
蝟餌<EFBFBD>撖寞<EFBFBD>
| 憿寧𤌍 | <EFBFBD>函<EFBFBD><EFBFBD>唳旿摨? | Dify<EFBFBD><EFBFBD>㺭<EFBFBD>桀<EFBFBD> |
|---|---|---|
| 雿滨蔭 | AIclinicalresearch/docker-compose.yml |
dify/docker/docker-compose.yml |
| *摰孵膥<EFBFBD>? | ai-clinical-postgres |
dify-db嚗<EFBFBD><EFBFBD>瘚页<EFBFBD> |
| 蝡臬藁 | 5432 |
<EFBFBD>航<EFBFBD><EFBFBD>畔5433`<60>碶<EFBFBD><E7A2B6>湧蠧 |
| <EFBFBD>唳旿摨枏<EFBFBD> | ai_clinical_research |
dify |
| *<EFBFBD>券<EFBFBD>? | 摮睃<EFBFBD><EFBFBD>券★<EFBFBD>桃<EFBFBD>銝𡁜𦛚<EFBFBD>唳旿 | 摮睃<EFBFBD>Dify<EFBFBD><EFBFBD>㺭<EFBFBD>? |
| 霈輸䔮<EFBFBD>孵<EFBFBD> | <EFBFBD>湔𦻖Prisma霈輸䔮 | <EFBFBD>朞<EFBFBD>Dify API霈輸䔮 |
<EFBFBD>嗆<EFBFBD><EFBFBD>?
<EFBFBD>𢞖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<0A>? AIclinicalresearch憿寧𤌍 <20>?
<0A>? <20>?
<0A>? <20>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>?
<0A>? <20>? Backend <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? PostgreSQL <20>? <20>?
<0A>? <20>? (Node.js) <20>?SQL <20>? (Docker) <20>? <20>?
<0A>? <20>? <20>? <20>? <20>? <20>?
<0A>? <20>? Prisma <20>? <20>?Port: 5432 <20>? <20>?
<0A>? <20>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>?
<0A>? <20>? <20>?
<0A>? <20>?HTTP API <20>?
<0A>? <20>? <20>?
<0A>? <20>𢞖<EFBFBD><F0A29E96><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>?
<0A>? <20>? Dify <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>> Dify<66>芸楛<E88AB8><E6A59B>ostgreSQL <20>?
<0A>? <20>? (Docker) <20>? (摰<><E691B0><EFBFBD>祉<EFBFBD>) <20>?
<0A>? <20>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>?
<0A>? <20>?
<0A>婙<EFBFBD><E5A999><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD> 敶枏<E695B6><E69E8F>唳旿摨栞”蝏𤘪<E89D8F>
<EFBFBD>函<EFBFBD>PostgreSQL銝剔<EFBFBD>銵?
-- <20>交<EFBFBD>嚗颹ackend/prisma/schema.prisma
-- <20>冽<EFBFBD>璅∪<E79285>
users -- <20>冽<EFBFBD>銵?
-- 憿寧𤌍璅∪<E79285>
projects -- 憿寧𤌍銵?
-- AI<41>桃<EFBFBD>璅∪<E79285>
conversations -- 撖寡<E69296>銵?
messages -- 瘨<><E798A8>銵?
general_conversations -- <20>𡁶鍂撖寡<E69296>銵?
general_messages -- <20>𡁶鍂瘨<E98D82><E798A8>銵?
-- <20>亥<EFBFBD>摨𤘪芋<F0A498AA>?
knowledge_bases -- <20>亥<EFBFBD>摨栞”
documents -- <20><>﹝銵?
-- <20>孵<EFBFBD><E5ADB5><EFBFBD>芋<EFBFBD>梹<EFBFBD>Phase 3嚗?
batch_tasks -- <20>孵<EFBFBD><E5ADB5><EFBFBD>遙<EFBFBD>∟”
batch_results -- <20>孵<EFBFBD><E5ADB5><EFBFBD><EFBFBD><EFBFBD>𡏭”
task_templates -- 隞餃𦛚璅⊥踎銵?
-- 蝔蹂辣摰⊥䰻璅∪<E79285>
review_tasks -- 蝔蹂辣摰⊥䰻隞餃𦛚銵?
-- 餈鞱𨯫蝞∠<E89D9E>璅∪<E79285>
admin_logs -- 蝞∠<E89D9E><E288A0>䀹𠯫敹𡑒”
*<EFBFBD>餉恣嚗?6撘㰘”嚗<E2809D><E59A97><EFBFBD>典銁<E585B8>刻䌊撌梁<E6928C>PostgreSQL銝准<E98A9D>?
<EFBFBD>圲 撣貊鍂<E8B28A>滢<EFBFBD>
<EFBFBD>亦<EFBFBD>Docker摰孵膥<EFBFBD>嗆<EFBFBD>?
# <20>亦<EFBFBD><E4BAA6><EFBFBD><EFBFBD>匧捆<E58CA7>?
docker ps
# 摨磰砲<E7A3B0>賜<EFBFBD><E8B39C>堆<EFBFBD>
# ai-clinical-postgres (PostgreSQL)
# ai-clinical-redis (Redis)
餈墧𦻖<EFBFBD>訐ostgreSQL
<EFBFBD>寞<EFBFBD>1嚗帋蝙<EFBFBD>求ocker<EFBFBD>賭誘
# 餈𥕦<E9A488>PostgreSQL摰孵膥
docker exec -it ai-clinical-postgres psql -U postgres -d ai_clinical_research
# <20>嗅<EFBFBD><E59785>臭誑<E887AD>扯<EFBFBD>SQL嚗?
\dt # <20>亦<EFBFBD><E4BAA6><EFBFBD><EFBFBD>㕑”
\d users # <20>亦<EFBFBD>users銵函<E98AB5><E587BD>?
SELECT * FROM users LIMIT 10;
*<EFBFBD>寞<EFBFBD>2嚗帋蝙<EFBFBD>冽㺭<EFBFBD>桀<EFBFBD>摰X<EFBFBD>蝡?
- DBeaver / pgAdmin / DataGrip / Navicat
- 餈墧𦻖靽⊥<EFBFBD>嚗?
- Host:
localhost - Port:
5432 - Database:
ai_clinical_research - User:
postgres - Password:
postgres123
- Host:
<EFBFBD>𨀣迫<EFBFBD><EFBFBD>鍳<EFBFBD>冽㺭<EFBFBD>桀<EFBFBD>
# <20>𨀣迫嚗<E8BFAB><E59A97>銝滚<E98A9D><E6BB9A>斗㺭<E69697>殷<EFBFBD>
docker-compose down
# <20>臬𢆡
docker-compose up -d
# <20>滚鍳
docker-compose restart postgres
<EFBFBD>亦<EFBFBD><EFBFBD>唳旿摨𤘪𠯫敹?
# <20>亦<EFBFBD>PostgreSQL<51>亙<EFBFBD>
docker logs ai-clinical-postgres
# 摰墧𧒄<E5A2A7>亦<EFBFBD><E4BAA6>亙<EFBFBD>
docker logs -f ai-clinical-postgres
<EFBFBD>𠒣 <20>唳旿<E594B3><E697BF><EFBFBD><EFBFBD>?
<EFBFBD>唳旿摮睃<EFBFBD>雿滨蔭
<EFBFBD>唳旿<EFBFBD>瘀<EFBFBD>Volume嚗㚁<EFBFBD>
postgres_data:/var/lib/postgresql/data
*摰鮋<EFBFBD>摮睃<EFBFBD>雿滨蔭嚗?
- Windows:
C:\ProgramData\Docker\volumes\aiclinicalresearch_postgres_data\_data - Mac/Linux:
/var/lib/docker/volumes/aiclinicalresearch_postgres_data/_data
*<EFBFBD>滩<EFBFBD>嚗?
- <EFBFBD>?<3F>喃蝙<E59683>𣳇膄摰孵膥嚗Ǒdocker-compose down`嚗㚁<E59A97><E39A81>唳旿銝滢<E98A9D>銝W仃
- <EFBFBD>?<3F>唳旿摮睃<E691AE><E79D83>求ocker<65>唳旿<E594B3>瑚葉嚗峕<E59A97>銋<EFBFBD><E98A8B>靽嘥<E99DBD>
- <EFBFBD>𩤃<EFBFBD> <20>芣<EFBFBD><E88AA3>扯<EFBFBD>
docker-compose down -v嚗<EFBFBD><EFBFBD><EFBFBD>斗㺭<EFBFBD>桀㭘嚗㗇<EFBFBD>隡𡁏<EFBFBD>蝛箸㺭<EFBFBD>?
憭<EFBFBD>遢<EFBFBD>唳旿摨?
# 憭<>遢嚗<E981A2>紡<EFBFBD>搴QL嚗?
docker exec ai-clinical-postgres pg_dump -U postgres ai_clinical_research > backup.sql
# <20>W<EFBFBD>嚗<EFBFBD>紡<EFBFBD>兄QL嚗?
docker exec -i ai-clinical-postgres psql -U postgres ai_clinical_research < backup.sql
<EFBFBD>㴓 <20>芣䔉嚗锭chema<6D>𠉛氖霈∪<E99C88>
敶枏<EFBFBD><EFBFBD>嗆<EFBFBD>?
-- <20><><EFBFBD>㕑”<E39591>賢銁public schema
public.users
public.projects
public.conversations
public.knowledge_bases
public.documents
public.review_tasks
...
<EFBFBD>格<EFBFBD><EFBFBD>嗆<EFBFBD>嚗𠄎chema<EFBFBD>𠉛氖嚗?
-- 撟喳蝱撅<E89DB1>chema
CREATE SCHEMA platform_schema;
platform_schema.users
platform_schema.roles
platform_schema.permissions
-- 銝𡁜𦛚璅∪<E79285>Schema
CREATE SCHEMA aia_schema; -- AI<41>箄<EFBFBD><E7AE84>桃<EFBFBD>
aia_schema.projects
aia_schema.conversations
aia_schema.messages
CREATE SCHEMA pkb_schema; -- 銝芯犖<E88AAF>亥<EFBFBD>摨?
pkb_schema.knowledge_bases
pkb_schema.documents
CREATE SCHEMA asl_schema; -- AI<41>箄<EFBFBD><E7AE84><EFBFBD>讃
asl_schema.projects
asl_schema.literature_items
asl_schema.screening_results
CREATE SCHEMA review_schema; -- 蝔蹂辣摰⊥䰻
review_schema.review_tasks
review_schema.review_journals
*摰墧鴌霈∪<EFBFBD>嚗?
- *<EFBFBD>嗆挾銝<EFBFBD>嚗<EFBFBD><EFBFBD><EFBFBD>喉<EFBFBD>嚗? <20>餉<EFBFBD><E9A489>𠉛氖嚗䔶蝙<E494B6>刻”<E588BB>滚<EFBFBD>蝻<EFBFBD>嚗Ǒaia_projects
,asl_projects`嚗? - <EFBFBD>嗆挾鈭䕘<EFBFBD>敺格<EFBFBD><EFBFBD>⊥<EFBFBD><EFBFBD><EFBFBD>𧒄嚗㚁<EFBFBD> <20>拍<EFBFBD><E68B8D>𠉛氖嚗<E6B096><E59A97>撱箇<E692B1>甇<EFBFBD><E79487>Schema
<EFBFBD><EFBFBD> Dify<66>唳旿摨橒<E691A8><E6A992>祉<EFBFBD>蝟餌<E89D9F>嚗?
Dify<EFBFBD><EFBFBD><EFBFBD>蝵?
dify/docker/docker-compose.yml
<20>鎿<EFBFBD><E98EBF><EFBFBD> dify-db (PostgreSQL)
<20>鎿<EFBFBD><E98EBF><EFBFBD> dify-redis
<20>鎿<EFBFBD><E98EBF><EFBFBD> dify-web
<20>鎿<EFBFBD><E98EBF><EFBFBD> dify-api
<20>婙<EFBFBD><E5A999><EFBFBD> ...
<EFBFBD>喲睸<EFBFBD>對<EFBFBD>
- <EFBFBD>?Dify<66>㕑䌊撌勗<E6928C><E58B97>函𡠺蝡讠<E89DA1>docker-compose.yml
- <EFBFBD>?Dify<66><79>ostgreSQL<51>舐𡠺蝡讠<E89DA1>摰孵膥
- <EFBFBD>?<3F>函<EFBFBD>憿寧𤌍銝滨凒<E6BBA8>亥挪<E4BAA5>唏ify<66><79>㺭<EFBFBD>桀<EFBFBD>
- <EFBFBD>?<3F>朞<EFBFBD>Dify API嚗𠃍TTP REST嚗㕑<E59A97><E39591>求ify<66>蠘<EFBFBD>
<EFBFBD>函<EFBFBD>憿寧𤌍憒<EFBFBD><EFBFBD>雿輻鍂Dify
// 銝齿糓<E9BDBF>湔𦻖霈輸䔮Dify<66>唳旿摨橒<E691A8><E6A992>峕糓<E5B395>朞<EFBFBD>API
// <20>𥕦遣<F0A595A6>亥<EFBFBD>摨?
const response = await fetch('http://localhost/v1/datasets', {
method: 'POST',
headers: {
'Authorization': `Bearer ${DIFY_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<27>𤑳<EFBFBD><F0A491B3>亥<EFBFBD>摨?
})
});
// 銝𠹺<E98A9D><F0A0B9BA><EFBFBD>﹝
const formData = new FormData();
formData.append('file', file);
await fetch(`http://localhost/v1/datasets/${datasetId}/document/create-by-file`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${DIFY_API_KEY}`
},
body: formData
});
*<EFBFBD>函<EFBFBD><EFBFBD>唳旿摨㮖葉摮睃<EFBFBD>嚗?
-- knowledge_bases銵?
{
id: 'uuid',
name: '<27>𤑳<EFBFBD><F0A491B3>亥<EFBFBD>摨?,
dify_dataset_id: 'xxx' -- <20>唾<EFBFBD>Dify<66><79>ataset_id
}
<EFBFBD>㴓 <20>餌<EFBFBD>
<EFBFBD>詨<EFBFBD>閬<EFBFBD><EFBFBD>
-
<EFBFBD>?**<2A>冽<EFBFBD><E586BD>芸楛<E88AB8><E6A59B>ostgreSQL<51>唳旿摨?*
- <EFBFBD>朞<EFBFBD>Docker<EFBFBD>函蔡嚗Ǒdocker-compose.yml`嚗?
- 摰孵膥<EFBFBD>㵪<EFBFBD>
ai-clinical-postgres - <EFBFBD>唳旿摨枏<EFBFBD>嚗䫤ai_clinical_research`
-
<EFBFBD>?<EFBFBD>其<EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD><EFBFBD>典<EFBFBD>鋆<EFBFBD>ostgreSQL
docker-compose up -d隡朞䌊<EFBFBD>典<EFBFBD>撱?- <EFBFBD>唳旿<EFBFBD><EFBFBD><EFBFBD><EFBFBD>硋<EFBFBD><EFBFBD>典銁Docker<EFBFBD>唳旿<EFBFBD>瑚葉
-
<EFBFBD>?Dify<EFBFBD>臬<EFBFBD><EFBFBD>函𡠺蝡讠<EFBFBD>蝟餌<EFBFBD>
- <EFBFBD>㕑䌊撌梁<EFBFBD>PostgreSQL<EFBFBD>唳旿摨?
- <EFBFBD>券<EFBFBD>朞<EFBFBD>Dify API霈輸䔮嚗䔶<E59A97><E494B6>湔𦻖霈輸䔮<E8BCB8>唳旿摨?
-
<EFBFBD>?*敶枏<EFBFBD>16撘㰘”<EFBFBD>券<EFBFBD><EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD>ostgreSQL銝?
- <EFBFBD>冽<EFBFBD><EFBFBD><EFBFBD>★<EFBFBD>柴<EFBFBD><EFBFBD>笆霂腈<EFBFBD><EFBFBD>䰻霂<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>獢<EFBFBD><EFBFBD><EFBFBD>鸌憭<EFBFBD><EFBFBD><EFBFBD><EFBFBD>阮隞嗅恣<EFBFBD>亦<EFBFBD>
- <EFBFBD>券<EFBFBD><EFBFBD>灼public` schema嚗<61>𧊋<EFBFBD>仿<EFBFBD>閬<EFBFBD><E996AC>蝳鳴<E89DB3>
銝箔<EFBFBD>銋<EFBFBD><EFBFBD>銝滩扇敺堒<EFBFBD>鋆<EFBFBD>ostgreSQL嚗?
<EFBFBD>牐蛹<EFBFBD>冽覔<EFBFBD>祆瓷<EFBFBD>㗇<EFBFBD><EFBFBD>典<EFBFBD>鋆<EFBFBD><EFBFBD> <20><>
- <EFBFBD>?Docker<65>芸𢆡銝贝蝸<E8B49D>𨅯<EFBFBD>
- <EFBFBD>?Docker<65>芸𢆡<E88AB8>𥕦遣摰孵膥
- <EFBFBD>?銝<><E98A9D>桀鍳<E6A180>刻<EFBFBD><E588BB>祈䌊<E7A588>典鍳<E585B8>?
- <EFBFBD>?<3F>典蘨<E585B8><E898A8>閬<EFBFBD><E996AC>銵䈣銝<E488A3><E98A9D>桀鍳<E6A180>?bat`
餈坔停<EFBFBD>浴ocker<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨥈<EFBFBD>
*<EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD>銝<EFBFBD>甇乩<EFBFBD>閫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>捆嚗?
- 憒<EFBFBD><EFBFBD>憭<EFBFBD>遢<EFBFBD>峕<EFBFBD>憭齿㺭<EFBFBD>桀<EFBFBD>嚗?
- 憒<EFBFBD><EFBFBD>餈<EFBFBD>宏<EFBFBD>訕chema<EFBFBD>𠉛氖<EFBFBD>嗆<EFBFBD>嚗?
- 憒<EFBFBD><EFBFBD>餈墧𦻖<EFBFBD>唳旿摨栞<EFBFBD>銵峕<EFBFBD><EFBFBD>冽䰻霂g<EFBFBD>
- Prisma憒<EFBFBD><EFBFBD>蝞∠<EFBFBD><EFBFBD>唳旿摨栞<EFBFBD>蝘鳴<EFBFBD>