Skip to content

gjjkbssg/knowforge-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

54 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

KnowForge Agent

AI-Native RAG Agent Platform | Knowledge Base + Agents + GraphRAG

CI License: MIT Python Django Vue Tests PRs Welcome Stars Forks Issues Python LOC Modules Features

ไธญๆ–‡ | English

ๅŸบไบŽ Django + Vue ็š„ๅคš็งŸๆˆท RAG ็Ÿฅ่ฏ†ๅบ“๏ผŒ่žๅˆไบ†ๆ–‡ๆกฃๅค„็†ๆตๆฐด็บฟใ€ReAct Agent ๆŽจ็†ใ€ไธ‰ๅฑ‚่ฎฐๅฟ†็ณป็ปŸใ€็Ÿฅ่ฏ†ๅ›พ่ฐฑๅ’Œๆตๅผ่พ“ๅ‡บใ€‚

ๅŠŸ่ƒฝๅฏนๆฏ”

็‰นๆ€ง KnowForge Agent Dify RAGFlow LangChain-Chatchat
้›ถไพ่ต–้ƒจ็ฝฒ๏ผˆSQLite ๅ†…็ฝฎ๏ผ‰ โœ… โŒ โŒ โŒ
ๆททๅˆๆฃ€็ดข๏ผˆFTS5 + ๅ‘้‡๏ผ‰ โœ… โœ… โœ… โœ…
ReAct Agent ๆŽจ็†ๅผ•ๆ“Ž โœ… โœ… โŒ โŒ
ไธ‰ๅฑ‚่ฎฐๅฟ†็ณป็ปŸ โœ… โŒ โŒ โŒ
DAG ๆตๆฐด็บฟๅฏ่ง†ๅŒ–็ผ–ๆŽ’ โœ… โœ… โŒ โŒ
็Ÿฅ่ฏ†ๅบ“ๅฅๅบท่ฏŠๆ–ญ โœ… โŒ โŒ โŒ
ๆ–‡ๆกฃๆดžๅฏŸ๏ผˆAIๆ‘˜่ฆ/ๅคๆ‚ๅบฆ๏ผ‰ โœ… โŒ โŒ โŒ
่ฏญไน‰ๅŽป้‡ๆฃ€ๆต‹ โœ… โŒ โŒ โŒ
ๆ™บ่ƒฝ้—ฎ้ข˜ๆŽจ่ โœ… โŒ โŒ โŒ
ๆฃ€็ดข่ฐƒ่ฏ•้ขๆฟ โœ… โŒ โŒ โŒ
่”็ฝ‘ๆœ็ดขๅขžๅผบ โœ… โœ… โŒ โŒ
Wiki ่‡ชๅŠจ็”Ÿๆˆ โœ… โŒ โŒ โŒ
่ฏญไน‰็ผ“ๅญ˜ โœ… โŒ โŒ โŒ
RAG ่ฏ„ไผฐ๏ผˆRAGAs๏ผ‰ โœ… โœ… โŒ โŒ
ๅคš็งŸๆˆท้š”็ฆป โœ… โœ… โŒ โŒ
ๆ™บ่ƒฝ่‡ชๅŠจๆ ‡็ญพ โœ… โŒ โŒ โŒ
Q&A ๆ•ฐๆฎ้›†ๅฏผๅ‡บ๏ผˆJSONL ๅพฎ่ฐƒๆ ผๅผ๏ผ‰ โœ… โŒ โŒ โŒ
ๆ–‡ๆกฃ็›ธไผผๅบฆ่š็ฑป โœ… โŒ โŒ โŒ
ไผš่ฏๆ‘˜่ฆ็”Ÿๆˆ โœ… โŒ โŒ โŒ
่Šๅคฉๅ†…่”ๅผ•็”จๅพฝ็ซ  โœ… โŒ โŒ โŒ
ๅ…จๅฑ€ๅ‘ฝไปค้ขๆฟ๏ผˆCtrl+K๏ผ‰ โœ… โŒ โŒ โŒ
็ญ”ๆกˆ่ดจ้‡ๅ้ฆˆ๏ผˆ็‚น่ตž/็‚น่ธฉ๏ผ‰ โœ… โŒ โŒ โŒ
็Ÿฅ่ฏ†ๅบ“่ฆ†็›–ๅบฆๅˆ†ๆž๏ผˆๅนฟๅบฆ/ๆทฑๅบฆ/ๅ‡่กกๅบฆ๏ผ‰ โœ… โŒ โŒ โŒ
ๅคš่ฝฎ่ฟฝ้—ฎๅปบ่ฎฎ โœ… โœ… โŒ โŒ
ๆทฑ่‰ฒๆจกๅผ โœ… โœ… โŒ โŒ
Token ่ดน็”จไผฐ็ฎ— โœ… โŒ โŒ โŒ
็Ÿฅ่ฏ†ๅบ“ๅฏผๅ‡บ๏ผˆJSON ๅค‡ไปฝ๏ผ‰ โœ… โŒ โŒ โŒ
้‡ๆ–ฐ็”Ÿๆˆๅ›ž็ญ” โœ… โœ… โŒ โŒ
ๅฎžๆ—ถ้€š็Ÿฅ็ณป็ปŸ โœ… โŒ โŒ โŒ
API ่‡ชๆ–‡ๆกฃ โœ… โŒ โŒ โŒ
ๅ…จๅฑ€ๅ‘ฝไปค้ขๆฟ๏ผˆCtrl/โŒ˜+K๏ผ‰ โœ… โŒ โŒ โŒ

ๆ ธๅฟƒ่ƒฝๅŠ›

  • ๆททๅˆๆฃ€็ดข - FTS5 ๅ…จๆ–‡ๆฃ€็ดข + ๅ‘้‡ๆฃ€็ดขๅนถ่กŒๆ‰ง่กŒ๏ผŒRerank ้‡ๆŽ’ๅบ๏ผŒMMR ๅคšๆ ทๆ€ง่ฟ‡ๆปค๏ผŒGraphRAG ็Ÿฅ่ฏ†ๅ›พ่ฐฑ่กฅๅ……
  • Agent ๆŽจ็† - ๅŸบไบŽ ReAct ่Œƒๅผ็š„ๅคšๅทฅๅ…ท่ฐƒๅบฆๅผ•ๆ“Ž๏ผŒๆ”ฏๆŒ็Ÿฅ่ฏ†ๅบ“ๆœ็ดขใ€ๆ–‡ๆกฃ grepใ€Wiki ๆŸฅ่ฏข็ญ‰ 14 ไธชๅทฅๅ…ท
  • ไธ‰ๅฑ‚่ฎฐๅฟ† - ็ŸญๆœŸ๏ผˆๅฏน่ฏๅކๅฒ๏ผ‰+ ๅทฅไฝœ๏ผˆไธŠไธ‹ๆ–‡ๅŽ‹็ผฉ๏ผ‰+ ้•ฟๆœŸ๏ผˆNeo4j ๅ›พ่ฐฑ๏ผ‰๏ผŒ่ทจไผš่ฏ่ฎฐๅฟ†ๆŒไน…ๅŒ–
  • Wiki ่‡ชๅŠจ็”Ÿๆˆ - LLM ้ฉฑๅŠจ็š„ๅฎžไฝ“ๆŠฝๅ–ไธŽ็Ÿฅ่ฏ†็ฝ‘็ปœๆž„ๅปบ๏ผŒๆ”ฏๆŒๆ‰‹ๅŠจ้กต้ข็ผ–่พ‘ไธŽ้“พๆŽฅ็ฎก็†
  • ๆตๅผ่พ“ๅ‡บ - ็”ŸๆˆไธŽๆŽจ้€่งฃ่€ฆ็š„ StreamManager๏ผŒๆ”ฏๆŒๆ–ญ็บฟ้‡่ฟžไธŽ offset ็ปญไผ 
  • ๅคš็งŸๆˆท้š”็ฆป - Tenant ็ปดๅบฆ็š„ๅฎŒๆ•ดๆ•ฐๆฎ้š”็ฆป๏ผŒ็”จๆˆทใ€็Ÿฅ่ฏ†ๅบ“ใ€ไผš่ฏๅ…จ้ƒจๅฝ’ๅฑž็งŸๆˆท
  • ๅคš Provider ๆจกๅž‹็ฎก็† - ๆ”ฏๆŒ OpenAI ๅ…ผๅฎนๆŽฅๅฃ๏ผˆDeepSeekใ€้€šไน‰ๅƒ้—ฎใ€Ollamaใ€vLLM ็ญ‰๏ผ‰๏ผŒๆฏไธช่ง’่‰ฒๅฏ็‹ฌ็ซ‹้…็ฝฎ
  • ๆ–‡ๆกฃๅค„็† - PDF / Markdown / DOCX / TXT / Excel / PowerPoint / ๅ›พ็‰‡ / ้Ÿณ่ง†้ข‘๏ผŒๅผ‚ๆญฅ็ดขๅผ• + ่ฟ›ๅบฆ่ฟฝ่ธช

ๅทฅ็จ‹ๆ”น่ฟ›

ๆœฌ้กน็›ฎ่žๅˆไบ† Django-Agent๏ผˆRAG / Agent / Memory ๅŽ็ซฏ๏ผ‰ๅ’Œ docmind-cn๏ผˆไธญๆ–‡ๆ–‡ๆกฃๅค„็† UX๏ผ‰็š„ไผ˜็‚น๏ผŒๅนถๅขžๅŠ ไบ†ไปฅไธ‹ๅŽŸๅˆ›ๆ”น่ฟ›๏ผš

  1. Markdown ่กจๆ ผๆ„Ÿ็Ÿฅๅˆ†ๅ— - ๅˆ†ๅ—ๆ—ถๆฃ€ๆต‹ GFM ่กจๆ ผ็ป“ๆž„๏ผŒๅฐ†่กจๆ ผไฝœไธบไธๅฏๅˆ†ๅ‰ฒ็š„ๅŽŸๅญๅ—๏ผŒ้ฟๅ…่กŒ่ขซๆˆชๆ–ญๅฏผ่‡ด่ฏญไน‰ไธขๅคฑ
  2. ๆ–‡ๆกฃๅค„็†่ฟ›ๅบฆๆจกๅž‹ - ไธบๆฏไธชๆ–‡ๆกฃๅขžๅŠ  progress๏ผˆ็™พๅˆ†ๆฏ”๏ผ‰ๅ’Œ current_step๏ผˆๅฝ“ๅ‰้˜ถๆฎต๏ผ‰ๅญ—ๆฎต๏ผŒๅ‰็ซฏๅฏๅฎžๆ—ถๅฑ•็คบ็ดขๅผ•่ฟ›ๅบฆๆก
  3. ๅผ•็”จๆฅๆบ่ฟฝ่ธช - ๆฃ€็ดข็ป“ๆžœๆบๅธฆ้กต็ ใ€ๆ–‡ๆกฃๆ ‡้ข˜ใ€็›ธๅ…ณๅบฆๅˆ†ๆ•ฐๅ’Œ็‰‡ๆฎตๆ‘˜่ฆ๏ผŒๅ›ž็ญ”ๅฏ่ฟฝๆบฏๅˆฐๅ…ทไฝ“ๆฅๆบ
  4. ๆŸฅ่ฏขๆ”นๅ†™ + ๆ„ๅ›พ่ฏ†ๅˆซ - ๅฃ่ฏญๅŒ–้—ฎ้ข˜่‡ชๅŠจๆ”นๅ†™ไธบๆฃ€็ดขๅ‹ๅฅฝๆŸฅ่ฏข๏ผŒ้—ฒ่Š็ฑป้—ฎ้ข˜่ทณ่ฟ‡ๆฃ€็ดข้ฟๅ…ๅ™ชๅฃฐ

้ซ˜็บง็‰นๆ€ง

ไปฅไธ‹ไธบๆœฌ้กน็›ฎๅŽŸๅˆ›็š„่ฟ›้˜ถ่ƒฝๅŠ›๏ผŒๅœจๅŒ็ฑป RAG ้กน็›ฎไธญ่พƒไธบๅฐ‘่ง๏ผš

DAG ๆตๆฐด็บฟ็ผ–ๆŽ’

ๅฏ่ง†ๅŒ–ๆ‹–ๆ‹ฝๅผ RAG ๆตๆฐด็บฟ็ผ–่พ‘ๅ™จ๏ผŒๆ”ฏๆŒ 8 ็ง่Š‚็‚น็ฑปๅž‹๏ผˆ่พ“ๅ…ฅใ€ๆ”นๅ†™ใ€่ฎฐๅฟ†ใ€ๆฃ€็ดขใ€้‡ๆŽ’ใ€LLMใ€่พ“ๅ‡บใ€ๅˆ†ๆ”ฏ๏ผ‰๏ผŒๆ‹“ๆ‰‘ๆŽ’ๅบๆ‰ง่กŒ + ๅนถ่กŒ่Š‚็‚นๅŠ ้€Ÿใ€‚ๅ†…็ฝฎใ€Œๆ ‡ๅ‡†ๆฃ€็ดขใ€ๅ’Œใ€Œ้ซ˜็บงๅคš่ทฏๅฌๅ›žใ€ไธคๅฅ—ๆจกๆฟ๏ผŒไนŸๅฏ่‡ช็”ฑ็ป„ๅˆ่‡ชๅฎšไน‰ๆตๆฐด็บฟใ€‚

[่พ“ๅ…ฅ] โ†’ [ๆ„ๅ›พๆ”นๅ†™] โ†’ [ๅ‘้‡ๆฃ€็ดข] โ”
                                 โ”œโ†’ [Rerank] โ†’ [LLM] โ†’ [่พ“ๅ‡บ]
              โ†’ [ๅ›พ่ฐฑๆฃ€็ดข] โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

็Ÿฅ่ฏ†ๅบ“ๅฅๅบท่ฏŠๆ–ญ

ไธ€้”ฎๆ‰ซๆ็Ÿฅ่ฏ†ๅบ“่ดจ้‡๏ผšๅˆ†ๅ—ๅคงๅฐๅˆ†ๅธƒใ€ๅ‘้‡่ฆ†็›–็އใ€ๅ†…ๅฎนๅ†—ไฝ™็އใ€ๆ–‡ๆกฃๅฎŒๆˆ็އ๏ผŒ่พ“ๅ‡บ 0-100 ๅˆ†็š„็ปผๅˆๅฅๅบทๅบฆๅ’Œ้’ˆๅฏนๆ€งไผ˜ๅŒ–ๅปบ่ฎฎใ€‚ๅธฎๅŠฉไฝ ๅ‘็Žฐใ€Œๅˆ†ๅ—่ฟ‡ๅคงๅฏผ่‡ดๅฌๅ›ž็އไธ‹้™ใ€ใ€Œๅ‘้‡ๆœช็ดขๅผ•ใ€ใ€Œ้‡ๅคไธŠไผ ๆตช่ดนไธŠไธ‹ๆ–‡ใ€็ญ‰้š่”ฝ้—ฎ้ข˜ใ€‚

ๅคšๆ–‡ๆกฃๅฏนๆฏ”ๅˆ†ๆž

้€‰ๆ‹ฉ 2 ไธชไปฅไธŠๆ–‡ๆกฃ๏ผŒ่‡ชๅŠจๆๅ–ๅ„ๆ–‡ๆกฃ็š„็‹ฌ็‰นๅ†…ๅฎนใ€่ฎก็ฎ—ๅ†…ๅฎน้‡ๅ ็Ÿฉ้˜ต๏ผŒๅนถ็”ฑ LLM ็”Ÿๆˆ็ป“ๆž„ๅŒ–ๅฏนๆฏ”ๆŠฅๅ‘Š๏ผˆๅ…ฑๅŒ็‚นใ€ๅทฎๅผ‚ใ€ๆŽจ่็”จ้€”๏ผ‰ใ€‚้€‚็”จไบŽๅˆๅŒๆกๆฌพๅฏนๆฏ”ใ€่ฎบๆ–‡็ปผ่ฟฐใ€็‰ˆๆœฌๅทฎๅผ‚ๅˆ†ๆž็ญ‰ๅœบๆ™ฏใ€‚

ๆ™บ่ƒฝ้—ฎ็ญ”ๆ‰น้‡็”Ÿๆˆ

ไปŽ็Ÿฅ่ฏ†ๅบ“ไธญ้‡‡ๆ ทไปฃ่กจๆ€งๅˆ†ๅ—๏ผŒๆŒ‰ๅ››็ง้—ฎ้ข˜็ฑปๅž‹๏ผˆไบ‹ๅฎžๅž‹ / ๆŽจ็†ๅž‹ / ๅฏนๆฏ”ๅž‹ / ๅบ”็”จๅž‹๏ผ‰่‡ชๅŠจ็”Ÿๆˆ้—ฎ็ญ”ๅฏน๏ผŒๆ”ฏๆŒๅฏผๅ‡บไธบ่ฎญ็ปƒๆ•ฐๆฎๆˆ– RAG ่ฏ„ไผฐ้›†ใ€‚

่ฏญไน‰็ผ“ๅญ˜

ๅฏน้ซ˜้ข‘็›ธไผผ้—ฎ้ข˜ๅฏ็”จๅ‘้‡็บง็ผ“ๅญ˜๏ผšๆ–ฐๆŸฅ่ฏขๅ…ˆไธŽ็ผ“ๅญ˜ๅš่ฏญไน‰็›ธไผผๅบฆๅŒน้…๏ผŒๅ‘ฝไธญๅˆ™็›ดๆŽฅ่ฟ”ๅ›žๅކๅฒ็ญ”ๆกˆ๏ผŒ่ทณ่ฟ‡ๆฃ€็ดขๅ’Œ LLM ่ฐƒ็”จ๏ผŒ้™ไฝŽๅปถ่ฟŸๅ’Œๆˆๆœฌใ€‚

็Ÿฅ่ฏ†ๅบ“่ฆ†็›–ๅบฆๅˆ†ๆž

ไปŽ่ฏญไน‰็ปดๅบฆ่ฏ„ไผฐ็Ÿฅ่ฏ†ๅบ“็š„ๅ†…ๅฎน่ดจ้‡๏ผšๆๅ–ๆ–‡ๆกฃไธญ็š„ๆ ธๅฟƒๆœฏ่ฏญ๏ผŒ้€š่ฟ‡ๅ…ฑ็Žฐๅ…ณ็ณป่š็ฑปไธบไธป้ข˜ๅŒบๅŸŸ๏ผŒ่ฎก็ฎ—ๅนฟๅบฆ๏ผˆไธป้ข˜ๆ•ฐ้‡๏ผ‰ใ€ๆทฑๅบฆ๏ผˆไธป้ข˜ๅนณๅ‡ๅˆ†ๅ—ๆ•ฐ๏ผ‰ใ€ๅ‡่กกๅบฆ๏ผˆไฟกๆฏ็†ต๏ผ‰๏ผŒๅนถ่ฏ†ๅˆซ่ฆ†็›–่–„ๅผฑ็š„็Ÿฅ่ฏ†็ผบๅฃใ€‚ๅธฎๅŠฉไฝ ๆœ‰้’ˆๅฏนๆ€งๅœฐ่กฅๅ……ๆ–‡ๆกฃใ€‚

ๅคš่ฝฎ่ฟฝ้—ฎๅปบ่ฎฎ

ๆฏๆฌก AI ๅ›žๅคๅŽ๏ผŒๅŸบไบŽๅฏน่ฏๅކๅฒ่‡ชๅŠจ็”Ÿๆˆ 3 ไธชไธŠไธ‹ๆ–‡็›ธๅ…ณ็š„่ฟฝ้—ฎๅปบ่ฎฎ๏ผŒ็‚นๅ‡ปๅณๅฏๅกซๅ…ฅ่พ“ๅ…ฅๆก†ใ€‚ไฝฟ็”จ LLM ๅˆ†ๆžๆœ€่ฟ‘็š„้—ฎ็ญ”ไธŠไธ‹ๆ–‡๏ผŒ็”Ÿๆˆ่‡ช็„ถใ€ๅ…ทไฝ“็š„ๅปถ็ปญ้—ฎ้ข˜๏ผŒ่ฎฉๅฏน่ฏๆทฑๅ…ฅ่€Œไธ่ท‘้ข˜ใ€‚

ๆทฑ่‰ฒๆจกๅผ

ไธ€้”ฎๅˆ‡ๆขๆต…่‰ฒ/ๆทฑ่‰ฒไธป้ข˜๏ผŒ้€š่ฟ‡ CSS ๅ˜้‡ๅฎž็ŽฐๅฎŒๆ•ด่ฆ†็›–๏ผŒๅŒ…ๆ‹ฌ TDesign ็ป„ไปถๅบ“็š„ๆš—่‰ฒ้€‚้…ใ€‚็”จๆˆทๅๅฅฝๆŒไน…ๅŒ–ๅˆฐ localStorage๏ผŒไธ‹ๆฌก่ฎฟ้—ฎ่‡ชๅŠจๆขๅคใ€‚

URL ๅœจ็บฟ้‡‡้›†

ๆ”ฏๆŒ็›ดๆŽฅ่พ“ๅ…ฅ็ฝ‘้กต URL๏ผŒ็ณป็ปŸๆŠ“ๅ–ๆญฃๆ–‡ๅ†…ๅฎนๅนถ่‡ชๅŠจๅ…ฅๅบ“็ดขๅผ•๏ผŒๆ— ้œ€ๆ‰‹ๅŠจไธ‹่ฝฝไธŠไผ ใ€‚

ๆฃ€็ดข่ฐƒ่ฏ•้ขๆฟ

่พ“ๅ…ฅไปปๆ„ๆŸฅ่ฏข๏ผŒๅฏ่ง†ๅŒ–ๅฑ•็คบ RAG ๆตๆฐด็บฟๆฏไธช้˜ถๆฎต็š„ๆ‰ง่กŒ็ป†่Š‚๏ผšๆ„ๅ›พ่ฏ†ๅˆซใ€ๆŸฅ่ฏขๆ”นๅ†™ใ€FTS vs ๅ‘้‡ๅŒ่ทฏๅฌๅ›žๅˆ†ๆ•ฐๅฏนๆฏ”ใ€Rerank ้‡ๆŽ’็ป“ๆžœใ€MMR ๅคšๆ ทๆ€ง่ฟ‡ๆปคใ€GraphRAG ่กฅๅ……ใ€‚ๅผ€ๅ‘่€…ๅฏไปฅ็ฒพ็กฎๅฎšไฝๆฃ€็ดข่ดจ้‡้—ฎ้ข˜ใ€‚

่”็ฝ‘ๆœ็ดขๅขžๅผบ

ๅฝ“็Ÿฅ่ฏ†ๅบ“ๆฃ€็ดข็ป“ๆžœไธ่ถณๆ—ถ๏ผŒ่‡ชๅŠจ่งฆๅ‘ DuckDuckGo ่”็ฝ‘ๆœ็ดข๏ผˆๆ— ้œ€ API Key๏ผ‰๏ผŒๆŠ“ๅ–็ฝ‘้กตๅ†…ๅฎน่กฅๅ……ไธŠไธ‹ๆ–‡๏ผŒ็กฎไฟ็”จๆˆทๅง‹็ปˆ่ƒฝ่Žทๅพ—็ญ”ๆกˆใ€‚ๆ”ฏๆŒ้…็ฝฎ่งฆๅ‘้˜ˆๅ€ผใ€‚

ๅฏ่ง‚ๆต‹ไปช่กจ็›˜

ๆจกๅž‹็”จ้‡็ปŸ่ฎก๏ผˆToken ๆถˆ่€—ใ€่ฐƒ็”จๆฌกๆ•ฐใ€ๆˆๅŠŸ็އ๏ผ‰+ RAG ่ฏ„ไผฐๅฏ่ง†ๅŒ–๏ผŒๅธฎๅŠฉ้‡ๅŒ–็ณป็ปŸๆ•ˆๆžœใ€‚

ๆ™บ่ƒฝๆ–‡ๆกฃๆดžๅฏŸ

ไธ€้”ฎๅˆ†ๆžๆ–‡ๆกฃ๏ผšAI ่‡ชๅŠจ็”Ÿๆˆๆ‘˜่ฆ๏ผˆTL;DR๏ผ‰ใ€ๆๅ–ๅ…ณ้”ฎ่ฏใ€ไผฐ็ฎ—้˜…่ฏปๆ—ถ้•ฟใ€่ฏ„ไผฐๅ†…ๅฎนๅคๆ‚ๅบฆ๏ผˆๅ…ฅ้—จ/ไธญ็ญ‰/่ฟ›้˜ถ/ไธ“ๅฎถ๏ผ‰๏ผŒๅนถ้€š่ฟ‡ๅ…ฑ็Žฐๅˆ†ๆžๆž„ๅปบไธป้ข˜่š็ฑปใ€‚ๆ”ฏๆŒ KB ็บงๆฆ‚่งˆ๏ผˆๆ€ป่ฏๆ•ฐใ€่ฏญ่จ€ๅˆ†ๅธƒใ€ๆœ€ๅคงๆ–‡ๆกฃๆŽ’่กŒใ€ๅ…ณ้”ฎ่ฏไบ‘๏ผ‰ๅ’Œๅ•ๆ–‡ๆกฃๆทฑๅบฆๅˆ†ๆžไธค็งๆจกๅผใ€‚LLM ไธๅฏ็”จๆ—ถ่‡ชๅŠจ้™็บงไธบๆŠฝๅ–ๅผๆ–นๆณ•ใ€‚

่ฏญไน‰ๅŽป้‡ๆฃ€ๆต‹

ๅŒ้˜ถๆฎตๅผ•ๆ“Žๅ‘็Žฐ่ฟ‘ไผผ้‡ๅคๆ–‡ๆกฃ๏ผš้ฆ–ๅ…ˆ้€š่ฟ‡็ฒพ็กฎ file_hash ๅŒน้…ๅฎŒๅ…จ้‡ๅค๏ผŒ็„ถๅŽ้€š่ฟ‡ๅˆ†ๅ—็บงๅ†…ๅฎน้‡ๅ ็އๆฃ€ๆต‹่ฏญไน‰็›ธไผผ๏ผˆ้ซ˜้‡ๅ /้ƒจๅˆ†้‡ๅ ๏ผ‰ใ€‚่พ“ๅ‡บ้‡ๅคๅฏนๅˆ—่กจใ€้‡ๅ ๆฏ”ไพ‹ใ€ๅ…ฑไบซ็‰‡ๆฎต๏ผŒๅนถ่ฎก็ฎ—ๅ†—ไฝ™ๅˆ†ๅ—ๆ•ฐๅ’Œๆฝœๅœจ่Š‚็œ้‡ใ€‚ๅธฎๅŠฉๆธ…็†็Ÿฅ่ฏ†ๅบ“ใ€ๅ‡ๅฐ‘ๆ— ๆ•ˆไธŠไธ‹ๆ–‡ใ€‚

ๆ™บ่ƒฝ้—ฎ้ข˜ๆŽจ่

ๆ นๆฎ็Ÿฅ่ฏ†ๅบ“ๅ†…ๅฎน่‡ชๅŠจ็”Ÿๆˆ็”จๆˆทๅฏ่ƒฝๆƒณ้—ฎ็š„้—ฎ้ข˜ใ€‚ๆ”ฏๆŒ KB ็บง๏ผˆ่ทจๆ–‡ๆกฃ้‡‡ๆ ท๏ผ‰ๅ’Œๅ•ๆ–‡ๆกฃไธค็งๆจกๅผใ€‚LLM ๅฏ็”จๆ—ถ็”Ÿๆˆ่‡ช็„ถ่ฏญ่จ€้—ฎ้ข˜๏ผŒไธๅฏ็”จๆ—ถๅŸบไบŽๅ…ณ้”ฎ่ฏๆจกๆฟ + ๅˆ†ๅ—ๅฅๅญ็”Ÿๆˆใ€‚ๅฏ็›ดๆŽฅ็”จไบŽ่Šๅคฉ็•Œ้ข็š„้—ฎ้ข˜ๅผ•ๅฏผๅก็‰‡ใ€‚

็•Œ้ข้ข„่งˆ

็Ÿฅ่ฏ†ๅบ“็ฎก็† ๅฏน่ฏ้—ฎ็ญ”
Knowledge Bases Chat
ไปช่กจ็›˜ + ่ดน็”จไผฐ็ฎ— ๆทฑ่‰ฒๆจกๅผ
Dashboard Dark Mode
ๅˆ†ๆžไธญๅฟƒ ็Ÿฅ่ฏ†ๅ›พ่ฐฑ
Analysis Hub Knowledge Graph

ๆˆชๅ›พๆ›ดๆ–ฐไธญ๏ผŒไปฅไธŠไธบ้กน็›ฎๅฎž้™…่ฟ่กŒๆˆชๅ›พใ€‚

ๅฟซ้€Ÿๅผ€ๅง‹

่ฟ›้˜ถ AI ่ƒฝๅŠ›๏ผˆv2 ๆ–ฐๅขž๏ผ‰

ๆ™บ่ƒฝ่‡ชๅŠจๆ ‡็ญพ

ไธŠไผ ๆ–‡ๆกฃๅŽไธ€้”ฎ่‡ชๅŠจๆ‰“ๆ ‡็ญพใ€‚ๅŒๅผ•ๆ“Ž่ฎพ่ฎก๏ผšLLM ๅฏ็”จๆ—ถ็”Ÿๆˆ้ซ˜่ดจ้‡่ฏญไน‰ๆ ‡็ญพ๏ผŒไธๅฏ็”จๆ—ถ้™็บงไธบ TF-IDF ๅ…ณ้”ฎ่ฏ + ้ข†ๅŸŸ่ฏๅ…ธๅŒน้…ใ€‚ๆ”ฏๆŒ 8 ไธชๆŠ€ๆœฏ้ข†ๅŸŸ่‡ชๅŠจ่ฏ†ๅˆซ๏ผˆPythonใ€ๅ‰็ซฏใ€ๆ•ฐๆฎๅบ“ใ€AI/MLใ€DevOpsใ€ๅฎ‰ๅ…จใ€APIใ€ๆต‹่ฏ•๏ผ‰๏ผŒๆ ‡็ญพ่‡ชๅŠจๅˆ›ๅปบไธบ KnowledgeTag ่ฎฐๅฝ•ๅนถๅ…ณ่”ๅˆฐๆ–‡ๆกฃใ€‚

Q&A ๆ•ฐๆฎ้›†ๅฏผๅ‡บ

ไปŽ็Ÿฅ่ฏ†ๅบ“ๆ–‡ๆกฃ่‡ชๅŠจๆŒ–ๆŽ˜้ซ˜่ดจ้‡้—ฎ็ญ”ๅฏน๏ผŒ็›ดๆŽฅๅฏผๅ‡บไธบ OpenAI ๅพฎ่ฐƒๆ ผๅผ็š„ JSONL ๆ–‡ไปถใ€‚LLM ๅฏ็”จๆ—ถไปŽๆฏไธชๆ–‡ๆกฃ็‰‡ๆฎต็”Ÿๆˆ 2-4 ไธช่‡ช็„ถ่ฏญ่จ€ Q&A ๅฏน๏ผŒไธๅฏๅฏ็”จๆ—ถๅฐ†้™ˆ่ฟฐๅฅ่ฝฌๆขไธบ้—ฎ็ญ”ๅฏนใ€‚ๆ”ฏๆŒๆŒ‰ๆ–‡ๆกฃๆŽงๅˆถ็”ŸๆˆไธŠ้™๏ผŒไธ€้”ฎไธ‹่ฝฝ .jsonl ๆ–‡ไปถ็”จไบŽๆจกๅž‹ๅพฎ่ฐƒๆˆ– RAG ่ฏ„ไผฐใ€‚

ๆ–‡ๆกฃ็›ธไผผๅบฆไธŽ่š็ฑป

่ทจๆ–‡ๆกฃ่ฎก็ฎ—ไฝ™ๅผฆ็›ธไผผๅบฆ็Ÿฉ้˜ต๏ผŒๅนถ็”จ่ฝป้‡ K-means ่ฟ›่กŒไธป้ข˜่š็ฑปใ€‚่‡ชๅŠจๅ‘็Žฐๅ†…ๅฎน้ซ˜ๅบฆ็›ธไผผ็š„ๆ–‡ๆกฃๅฏนใ€็”Ÿๆˆไธป้ข˜ๆ ‡็ญพ๏ผŒๅธฎๅŠฉ็”จๆˆท็†่งฃ็Ÿฅ่ฏ†ๅบ“็š„ๆ•ดไฝ“็ป“ๆž„ใ€‚ๆ— ้œ€ๅค–้ƒจ API๏ผŒไฝฟ็”จไธŽๆฃ€็ดขๅผ•ๆ“Ž็›ธๅŒ็š„็จณๅฎšๅตŒๅ…ฅใ€‚

ไผš่ฏๆ‘˜่ฆ็”Ÿๆˆ

ไธบๆฏไธชๅฏน่ฏไผš่ฏ่‡ชๅŠจ็”Ÿๆˆ 50-100 ๅญ—็š„ไธญๆ–‡ๆ‘˜่ฆใ€‚LLM ๅฏ็”จๆ—ถ็”Ÿๆˆ่ฏญไน‰ๆ‘˜่ฆ๏ผŒไธๅฏ็”จๆ—ถๆๅ–ๅ‰ 3 ไธช็”จๆˆท้—ฎ้ข˜ไฝœไธบๆฆ‚่ฆใ€‚ๆ‘˜่ฆ็ผ“ๅญ˜ๅˆฐ Session ่ฎฐๅฝ•ไธญ้ฟๅ…้‡ๅค่ฎก็ฎ—๏ผŒๆ”ฏๆŒๅผบๅˆถ้‡ๆ–ฐ็”Ÿๆˆใ€‚

่Šๅคฉๅ†…่”ๅผ•็”จๅพฝ็ซ 

ๅ›ž็ญ”ไธญ็š„ [1] [2] ๆ ‡่ฎฐ่‡ชๅŠจๆธฒๆŸ“ไธบๅฏ็‚นๅ‡ป็š„ไธŠๆ ‡ๅผ•็”จๅพฝ็ซ ๏ผŒ็‚นๅ‡ปๅŽ้ซ˜ไบฎๅนถๆปšๅŠจๅˆฐๅฏนๅบ”็š„ๆฅๆบๆ–‡ๆกฃๅก็‰‡ใ€‚LLM ่ขซ Prompt ๆŒ‡็คบไฝฟ็”จๅผ•็”จๆ ‡่ฎฐ๏ผŒๅฎž็Žฐ็ฑปไผผ Perplexity / Bing Chat ็š„ๆบฏๆบไฝ“้ชŒใ€‚

ๅ…จๅฑ€ๅ‘ฝไปค้ขๆฟ

Ctrl/โŒ˜ + K ๅ”ค่ตทๅ…จๅฑ€ๆœ็ดข้ขๆฟ๏ผŒๅฏๆจก็ณŠๆœ็ดขๆ‰€ๆœ‰้กต้ขๅฏผ่ˆชใ€็Ÿฅ่ฏ†ๅบ“ๅ’Œๆœ€่ฟ‘ๅฏน่ฏใ€‚ๆ”ฏๆŒ้”ฎ็›˜ไธŠไธ‹ๅฏผ่ˆช + Enter ้€‰ๆ‹ฉ๏ผŒๆไพ›ๅชฒ็พŽ Linear / Raycast ็š„ๅฟซ้€Ÿ่ทณ่ฝฌไฝ“้ชŒใ€‚

็ญ”ๆกˆ่ดจ้‡ๅ้ฆˆ็ณป็ปŸ

็”จๆˆทๅฏๅฏน AI ๅ›ž็ญ”็‚น่ตž/็‚น่ธฉ๏ผŒ็ณป็ปŸ่‡ชๅŠจ่ฎฐๅฝ•ๅ้ฆˆๅนถ็”Ÿๆˆๆปกๆ„ๅบฆๆŠฅๅ‘Šใ€‚ๅทฎ่ฏ„ๅ›ž็ญ”ไผš่‡ชๅŠจ้ฉฑ้€่ฏญไน‰็ผ“ๅญ˜ไธญ็š„ๅฏนๅบ”ๆก็›ฎ๏ผŒ้˜ฒๆญขไฝŽ่ดจ้‡็ญ”ๆกˆ่ขซ้‡ๅค่ฟ”ๅ›žใ€‚Dashboard ๅฏๆŸฅ็œ‹ๆปกๆ„ๅบฆ็އใ€ๆœ€ๅทฎไผš่ฏๆŽ’่กŒๅ’Œๆœ€่ฟ‘ๅ้ฆˆๅˆ—่กจใ€‚

POST /api/v1/messages/<id>/feedback  {"vote": "up|down", "comment": "..."}
GET  /api/v1/feedback/report?days=30

ๅฟซ้€Ÿๅผ€ๅง‹

ๆ–นๅผไธ€๏ผšDocker ไธ€้”ฎๅฏๅŠจ๏ผˆๆŽจ่๏ผ‰

git clone https://github.com/gjjkbssg/knowforge-agent.git
cd knowforge-agent
cp .env.example .env  # ็ผ–่พ‘ .env ๅกซๅ…ฅไฝ ็š„ LLM API Key
docker compose up -d  # ๅฏๅŠจ

่ฎฟ้—ฎ http://localhost:8000 ๅณๅฏไฝฟ็”จใ€‚

ๅฆ‚้œ€็Ÿฅ่ฏ†ๅ›พ่ฐฑๅŠŸ่ƒฝ๏ผŒๅฏๅŠจๅธฆ Neo4j ็š„ๅฎŒๆ•ด็‰ˆ๏ผš

docker compose --profile graph up -d

ๆ–นๅผไบŒ๏ผšๆœฌๅœฐๅผ€ๅ‘

ๅ‰็ฝฎๆกไปถ

  • Python 3.10+
  • Node.js 18+
  • Neo4j 5.x๏ผˆๅฏ้€‰๏ผŒ็”จไบŽ็Ÿฅ่ฏ†ๅ›พ่ฐฑๅ’Œ่ฎฐๅฟ†็ณป็ปŸ๏ผ‰

ๅฎ‰่ฃ…

# ๅ…‹้š†ไป“ๅบ“
git clone https://github.com/gjjkbssg/knowforge-agent.git
cd knowforge-agent

# ๅฎ‰่ฃ…ๅŽ็ซฏไพ่ต–
pip install -r requirements.txt

# ๅฎ‰่ฃ…ๅ‰็ซฏไพ่ต–
cd frontend && npm install && cd ..

้…็ฝฎ

# ๅคๅˆถ็Žฏๅขƒๅ˜้‡ๆจกๆฟ
cp .env.example .env

# ็ผ–่พ‘ .env๏ผŒ้…็ฝฎ LLM ๆŽฅๅฃ
# LLM_CHAT_API_KEY=your_api_key
# LLM_CHAT_BASE_URL=https://api.deepseek.com/v1
# LLM_CHAT_MODEL=deepseek-chat

ๅฏๅŠจ

# ๅฏๅŠจ Neo4j๏ผˆๅฏ้€‰๏ผ‰
docker run -d --name neo4j -p 7474:7474 -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/password neo4j:5-community

# ๆ•ฐๆฎๅบ“่ฟ็งป
python manage.py migrate

# ไธ€้”ฎๅกซๅ……็คบไพ‹ๆ•ฐๆฎ๏ผˆๆŽจ่้ฆ–ๆฌกไฝฟ็”จ๏ผ‰
python manage.py seed_demo

# ๅฏๅŠจๅŽ็ซฏ
python manage.py runserver

# ๅฏๅŠจๅ‰็ซฏ๏ผˆๅฆๅผ€็ปˆ็ซฏ๏ผ‰
cd frontend && npm run dev

่ฎฟ้—ฎ http://localhost:8000๏ผŒ้ฆ–ๆฌก่ฎฟ้—ฎ่‡ชๅŠจๅˆ›ๅปบ้ป˜่ฎค่ดฆๅทใ€‚

่ฟ่กŒ seed_demo ๅŽไผš่‡ชๅŠจๅˆ›ๅปบไธ€ไธชๅŒ…ๅซ RAGใ€Djangoใ€ๅ‘้‡ๆ•ฐๆฎๅบ“ใ€Prompt Engineering ไธป้ข˜็š„ๆผ”็คบ็Ÿฅ่ฏ†ๅบ“๏ผŒๅฏไปฅ็ซ‹ๅณไฝ“้ชŒๅฏน่ฏๅŠŸ่ƒฝใ€‚

CLI ๅทฅๅ…ทๅ‘ฝไปค

# ๆ‰น้‡่‡ชๅŠจๆ ‡็ญพ๏ผšไธบ็Ÿฅ่ฏ†ๅบ“ไธญๆ‰€ๆœ‰ๆ–‡ๆกฃ่‡ชๅŠจ็”Ÿๆˆ่ฏญไน‰ๆ ‡็ญพ
python manage.py auto_tag_all <kb_id> [--force]

# ๅฏผๅ‡บ Q&A ๆ•ฐๆฎ้›†๏ผšไปŽ็Ÿฅ่ฏ†ๅบ“ๆๅ–้—ฎ็ญ”ๅฏน๏ผŒๅฏผๅ‡บไธบ JSONL ๅพฎ่ฐƒๆ ผๅผ
python manage.py export_qa_dataset <kb_id> [-o output.jsonl] [--max-per-doc 10] [--no-llm]

# ้‡ๅปบๅ‘้‡็ดขๅผ•
python manage.py rebuild_vector_index

# ๅฏผๅ‡บ็Ÿฅ่ฏ†ๅบ“ไธบ JSON๏ผˆๅŒ…ๅซๅˆ†ๅ—ใ€ๆ ‡็ญพใ€ๅ…ƒๆ•ฐๆฎ๏ผŒๅฏ้€‰ๅซๅ‘้‡๏ผ‰
python manage.py export_kb <kb_id> [-o output.json] [--include-embeddings]

# ๆŸฅ็œ‹้กน็›ฎ็ปŸ่ฎกๆฆ‚่งˆ
python manage.py project_stats

้…็ฝฎ่ฏดๆ˜Ž

LLM ๆจกๅž‹้…็ฝฎ

ๆŽจ่ๅœจๅ‰็ซฏ่ฟ›ๅ…ฅ ่ฎพ็ฝฎ โ†’ ่ฟ่กŒ้…็ฝฎ๏ผŒ็›ดๆŽฅๅกซๅ†™ OpenAI ๅ…ผๅฎน APIใ€ๆจกๅž‹ๅ็งฐๅ’Œ API Keyใ€‚ไฟๅญ˜ๅŽไผšๅ†™ๅ…ฅๆœฌๅœฐๆ•ฐๆฎๅบ“ๅนถ่‡ชๅŠจ่ฎพไธบ้ป˜่ฎคๆจกๅž‹๏ผŒๅฏ†้’ฅไธไผšๅœจๅ‰็ซฏๅ›žๆ˜พใ€‚

ๆ”ฏๆŒๆฏไธชๆจกๅž‹่ง’่‰ฒ็‹ฌ็ซ‹้…็ฝฎ API Key ๅ’Œ Base URL๏ผš

# ๅฏน่ฏๆจกๅž‹
LLM_CHAT_API_KEY=sk-xxx
LLM_CHAT_BASE_URL=https://api.deepseek.com/v1
LLM_CHAT_MODEL=deepseek-chat

# Embedding ๆจกๅž‹๏ผˆๅฏไฝฟ็”จไธๅŒๆไพ›ๅ•†๏ผ‰
LLM_EMBEDDING_API_KEY=sk-yyy
LLM_EMBEDDING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_EMBEDDING_MODEL=text-embedding-v4

# Rerank ๆจกๅž‹
LLM_RERANK_API_KEY=sk-zzz
LLM_RERANK_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_RERANK_MODEL=qwen3-rerank

Neo4j ้…็ฝฎ

ๆŽจ่ๅœจๅ‰็ซฏ่ฟ›ๅ…ฅ ่ฎพ็ฝฎ โ†’ ่ฟ่กŒ้…็ฝฎ โ†’ Neo4j ๅ›พ่ฐฑไธŽ่ฎฐๅฟ†๏ผŒๅผ€ๅฏ Neo4j ๅนถๅกซๅ†™ URIใ€็”จๆˆทๅใ€ๅฏ†็ ๏ผŒๅฏ็›ดๆŽฅ็‚นๅ‡ปใ€Œๆฃ€ๆต‹ Neo4j ่ฟžๆŽฅใ€ใ€‚่ฏฅ้…็ฝฎไผšไผ˜ๅ…ˆ็”Ÿๆ•ˆ๏ผŒๆ— ้œ€ไฟฎๆ”น .env ๆˆ–้‡ๅฏๆœๅŠกใ€‚

NEO4J_ENABLE=true
NEO4J_URI=bolt://localhost:7687
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=password

ๆžถๆž„่ฎพ่ฎก

RAG ๆฃ€็ดขๆตๆฐด็บฟ

็”จๆˆทๆ้—ฎ
    โ”‚
    โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๆŸฅ่ฏข็†่งฃ     โ”‚โ”€โ”€โ”€โ–ถโ”‚  ๆ„ๅ›พ่ฏ†ๅˆซ + ๆ”นๅ†™   โ”‚โ”€โ”€โ”€โ–ถโ”‚  ่ฎฐๅฟ†ๆฃ€็ดข     โ”‚
โ”‚  (Query      โ”‚    โ”‚  ้—ฒ่Šโ†’่ทณ่ฟ‡ๆฃ€็ดข     โ”‚    โ”‚  (ไธ‰ๅฑ‚่ฎฐๅฟ†)   โ”‚
โ”‚   Understand)โ”‚    โ”‚  ๆœ็ดขโ†’ๆ”นๅ†™ไผ˜ๅŒ–     โ”‚    โ”‚              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                   โ”‚
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                    โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚  ๅ…จๆ–‡ๆฃ€็ดข (BM25) โ”‚     โ”‚  ๅ‘้‡ๆฃ€็ดข (sqlite โ”‚
          โ”‚  FTS5 ๅนถ่กŒ       โ”‚     โ”‚  -vec) ๅนถ่กŒ       โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ–ผ
                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                   โ”‚  ๅˆ†ๆ•ฐ่žๅˆ      โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚  Rerank ้‡ๆŽ’   โ”‚
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                โ–ผ
                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                   โ”‚  GraphRAG ่กฅๅ…… โ”‚โ—€โ”€โ”€โ”€โ”€โ”‚  MMR ๅŽป้‡     โ”‚
                   โ”‚  (Neo4j ๅ›พ่ฐฑ)  โ”‚     โ”‚  + ๅคšๆ ทๆ€ง่ฟ‡ๆปค  โ”‚
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ–ผ
                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                   โ”‚  ่ฏญไน‰็ผ“ๅญ˜ๅ‘ฝไธญ?  โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚  LLM ็”Ÿๆˆๅ›ž็ญ”  โ”‚
                   โ”‚  ๅ‘ฝไธญโ†’็›ดๆŽฅ่ฟ”ๅ›ž  โ”‚     โ”‚  (ๆตๅผ่พ“ๅ‡บ)    โ”‚
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚
                           โ–ผ  (ๆฃ€็ดขไธ่ถณๆ—ถ)
                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                   โ”‚  ่”็ฝ‘ๆœ็ดขๅ›ž้€€   โ”‚
                   โ”‚  (DuckDuckGo)  โ”‚
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

็ณป็ปŸๆžถๆž„

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๅ‰็ซฏ (Vue 3 + TDesign)               โ”‚
โ”‚  ็Ÿฅ่ฏ†ๅบ“ / ๅฏน่ฏ / Agent / DAG็ผ–ๆŽ’ / ๆ™บ่ƒฝๅˆ†ๆž / ๆฃ€็ดข่ฐƒ่ฏ• / ไปช่กจ็›˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ”‚
                            โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     Django REST API ๅฑ‚                       โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  accounts   โ”‚  knowledge  โ”‚    chat     โ”‚      agent        โ”‚
โ”‚  ่ฎค่ฏ/็”จๆˆท   โ”‚  ็Ÿฅ่ฏ†ๅบ“/ๆ–‡ๆกฃ  โ”‚  ๅฏน่ฏ/ไผš่ฏ   โ”‚    ๆŽจ็†ๅผ•ๆ“Ž       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ”‚
                            โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ๆ ธๅฟƒๆจกๅ—                                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   search    โ”‚   memory    โ”‚    wiki     โ”‚   model_providers โ”‚
โ”‚  RAG ๆฃ€็ดข   โ”‚  ่ฎฐๅฟ†็ณป็ปŸ    โ”‚  Wiki ็”Ÿๆˆ   โ”‚    LLM ่ฐƒ็”จ       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ”‚
                            โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ๅญ˜ๅ‚จๅฑ‚                                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   SQLite    โ”‚   Neo4j     โ”‚         ๆ–‡ไปถ็ณป็ปŸ                  โ”‚
โ”‚  ๅ‘้‡/ๅ…จๆ–‡   โ”‚  ็Ÿฅ่ฏ†ๅ›พ่ฐฑ    โ”‚         ๆ–‡ๆกฃๅญ˜ๅ‚จ                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

้กน็›ฎ็ป“ๆž„

knowforge-agent/
โ”œโ”€โ”€ accounts/              # ็”จๆˆทไธŽ่ฎค่ฏ
โ”œโ”€โ”€ knowledge/             # ็Ÿฅ่ฏ†ๅบ“ไธŽๆ–‡ๆกฃ็ฎก็†
โ”œโ”€โ”€ chat/                  # ๅฏน่ฏไธŽไผš่ฏ
โ”œโ”€โ”€ wiki/                  # Wiki ็ณป็ปŸ
โ”œโ”€โ”€ agent/                 # Agent ๅผ•ๆ“Ž
โ”œโ”€โ”€ models_config/         # ๆจกๅž‹็ฎก็†
โ”œโ”€โ”€ graph/                 # ็Ÿฅ่ฏ†ๅ›พ่ฐฑ
โ”œโ”€โ”€ core/                  # ๅ…ฑไบซๆจกๅ—
โ”œโ”€โ”€ personal_knowledge_base/  # ๆ ธๅฟƒๆจกๅ—๏ผˆๆฃ€็ดขใ€่ฎฐๅฟ†ใ€RAG ็ฎก้“็ญ‰๏ผ‰
โ”œโ”€โ”€ frontend/              # Vue ๅ‰็ซฏ
โ”œโ”€โ”€ config/                # Django ้…็ฝฎ
โ””โ”€โ”€ manage.py              # Django ็ฎก็†ๅ…ฅๅฃ

ๆ ธๅฟƒๆจกๅ—่ฏดๆ˜Ž

ๆจกๅ— ๆ–‡ไปถ ่Œ่ดฃ
RAG ็ฎก้“ rag_pipeline.py ๆŸฅ่ฏข็†่งฃใ€่ฎฐๅฟ†ๆฃ€็ดขใ€็Ÿฅ่ฏ†ๅบ“ๆฃ€็ดขใ€ไธŠไธ‹ๆ–‡ๆž„ๅปบ
ๆททๅˆๆฃ€็ดข search.py FTS5 + ๅ‘้‡ๅนถ่กŒๆฃ€็ดขใ€Rerankใ€MMRใ€ๆŸฅ่ฏขๆ‰ฉๅฑ•
Agent ๅผ•ๆ“Ž agent_engine.py ReAct ๅพช็Žฏใ€ๅทฅๅ…ท่ฐƒๅบฆใ€ๅคฑ่ดฅๅ…œๅบ•
่ฎฐๅฟ†็ณป็ปŸ memory.py ็ŸญๆœŸ/ๅทฅไฝœ/้•ฟๆœŸ่ฎฐๅฟ†๏ผŒNeo4j ๅ›พ่ฐฑๅญ˜ๅ‚จ
ๆ–‡ๆกฃๅค„็† document_processing.py ๆ–‡ๆœฌๆๅ–ใ€่กจๆ ผๆ„Ÿ็Ÿฅๅˆ†ๅ—ใ€็ดขๅผ•ใ€ๆ‘˜่ฆ็”Ÿๆˆ
ๆจกๅž‹่ฐƒ็”จ model_providers.py ๅคš Provider ็ปŸไธ€ๆŽฅๅฃใ€ๆตๅผ่พ“ๅ‡บใ€็”จ้‡็ปŸ่ฎก
ๆตๅผ็ฎก็† stream_manager.py ไบ‹ไปถ้˜Ÿๅˆ—ใ€offset ็ปญไผ ใ€ๆ–ญ็บฟ้‡่ฟž
ๆ–‡ๆกฃๆดžๅฏŸ doc_insights.py AI ๆ‘˜่ฆใ€ๅ…ณ้”ฎ่ฏๆๅ–ใ€ๅคๆ‚ๅบฆ่ฏ„ๅˆ†ใ€ไธป้ข˜่š็ฑป
ๅŽป้‡ๆฃ€ๆต‹ duplicate_detect.py ็ฒพ็กฎๅ“ˆๅธŒ + ๅ†…ๅฎน้‡ๅ ๅŒๅผ•ๆ“Ž่ฟ‘ไผผ้‡ๅคๆฃ€ๆต‹
้—ฎ้ข˜ๆŽจ่ suggest_questions.py LLM/ๆŠฝๅ–ๅผๆ™บ่ƒฝ้—ฎ้ข˜็”Ÿๆˆ
ๅฅๅบท่ฏŠๆ–ญ kb_health.py ็Ÿฅ่ฏ†ๅบ“่ดจ้‡่ฏ„ๅˆ†ใ€่ฆ†็›–็އใ€ๅ†—ไฝ™็އๅˆ†ๆž
ๆ–‡ๆกฃๅฏนๆฏ” doc_compare.py ๅคšๆ–‡ๆกฃ้‡ๅ ็Ÿฉ้˜ตใ€็‹ฌ็‰นๅ†…ๅฎนๆๅ–ใ€AI ๅฏนๆฏ”ๆŠฅๅ‘Š
้—ฎ็ญ”็”Ÿๆˆ qa_generator.py ๅ››็ง้ข˜ๅž‹ๆ‰น้‡้—ฎ็ญ”ๅฏน็”Ÿๆˆ
ๆฃ€็ดข่ฐƒ่ฏ• retrieval_debug.py RAG ๅ…จ้“พ่ทฏ่ฟฝ่ธชไธŽๅฏ่ง†ๅŒ–
DAG ๅผ•ๆ“Ž dag_engine.py ๅฏ่ง†ๅŒ–ๆตๆฐด็บฟ็ผ–ๆŽ’ใ€8 ็ง่Š‚็‚นใ€ๆ‹“ๆ‰‘ๆ‰ง่กŒ
ๆ™บ่ƒฝๆ ‡็ญพ auto_tagger.py LLM + ๆŠฝๅ–ๅผๅŒๅผ•ๆ“Žๆ–‡ๆกฃ่‡ชๅŠจๆ‰“ๆ ‡็ญพ
ไผš่ฏๆ‘˜่ฆ session_summarizer.py LLM + ๆŠฝๅ–ๅผๅฏน่ฏๆ‘˜่ฆ็”Ÿๆˆ
Q&A ๆ•ฐๆฎ้›† qa_dataset.py ้—ฎ็ญ”ๅฏนๆๅ– + JSONL ๅพฎ่ฐƒๆ ผๅผๅฏผๅ‡บ
ๆ–‡ๆกฃ็›ธไผผๅบฆ doc_similarity.py ไฝ™ๅผฆ็›ธไผผๅบฆ็Ÿฉ้˜ต + K-means ไธป้ข˜่š็ฑป
ๅฏน่ฏๅˆ†ๆž chat_analytics.py ไผš่ฏ็ปŸ่ฎกใ€ๅ…œๅบ•็އใ€็Ÿฅ่ฏ†็ผบๅฃใ€ๅผ•็”จๆŽ’่กŒ

ๅ‚ไธŽ่ดก็Œฎ

  1. Fork ๆœฌไป“ๅบ“
  2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ (git checkout -b feature/xxx)
  3. ๆไบคๆ›ดๆ”น (git commit -m 'feat: add xxx')
  4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (git push origin feature/xxx)
  5. ๅˆ›ๅปบ Pull Request

Roadmap

ๅฎŒๆ•ด่ทฏ็บฟๅ›พ่ง ROADMAP.mdใ€‚

  • v0.7 ๅคšๆจกๅž‹ๅฏนๆฏ”ใ€ๅฏน่ฏๅˆ†ๆ”ฏใ€ๆ–‡ๆกฃ้ข„่งˆ
  • v0.8 ไผไธšๅŠŸ่ƒฝ๏ผšSSOใ€RBACใ€ๅฎก่ฎกๆ—ฅๅฟ—ใ€Webhook
  • v0.9 ๅˆ†ๆžๆดžๅฏŸ๏ผšๆฃ€็ดข่ดจ้‡ๅ›žๅฝ’ใ€Prompt A/B ๆต‹่ฏ•
  • v1.0 ็”ŸไบงๅผบๅŒ–๏ผšPostgreSQL + pgvectorใ€Redisใ€K8s

Star History

่ฎธๅฏ่ฏ

MIT License

ๆ›ดๆ–ฐๆ—ฅๅฟ—

่ฏฆ่ง CHANGELOG.mdใ€‚

่‡ด่ฐข

  • WeKnora - ๆททๅˆๆฃ€็ดขๆžถๆž„ๅ‚่€ƒ
  • Django - Web ๆก†ๆžถ
  • Vue.js - ๅ‰็ซฏๆก†ๆžถ
  • Neo4j - ็Ÿฅ่ฏ†ๅ›พ่ฐฑไธŽ่ฎฐๅฟ†ๅญ˜ๅ‚จ

About

AI-native RAG knowledge base and ReAct agent platform powered by Django and Vue

Topics

Resources

License

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors