Back to Weknora

README KO

README_KO.md

0.6.018.6 KB
Original Source
<p align="center"> <picture> </picture> </p> <p align="center"> <picture> <a href="https://trendshift.io/repositories/15289" target="_blank">
</a>
</picture> </p> <p align="center"> <a href="https://weknora.weixin.qq.com" target="_blank">
</a>
<a href="https://chatbot.weixin.qq.com" target="_blank">
    
</a>
<a href="https://chromewebstore.google.com/detail/jpemjbopikggjlmikmclgbmkhhopjdgd" target="_blank">
    
</a>
<a href="https://clawhub.ai/lyingbug/weknora" target="_blank">
    
</a>
<a href="https://github.com/Tencent/WeKnora/blob/main/LICENSE">
    
</a>
<a href="./CHANGELOG.md">
    
</a>
</p> <p align="center"> | <a href="./README.md"><b>English</b></a> | <a href="./README_CN.md"><b>็ฎ€ไฝ“ไธญๆ–‡</b></a> | <a href="./README_JA.md"><b>ๆ—ฅๆœฌ่ชž</b></a> | <b>ํ•œ๊ตญ์–ด</b> | </p> <p align="center"> <h4 align="center">

๊ฐœ์š” โ€ข ์•„ํ‚คํ…์ฒ˜ โ€ข ํ•ต์‹ฌ ๊ธฐ๋Šฅ โ€ข ์‹œ์ž‘ํ•˜๊ธฐ โ€ข API ๋ ˆํผ๋Ÿฐ์Šค โ€ข ๊ฐœ๋ฐœ์ž ๊ฐ€์ด๋“œ

</h4> </p>

๐Ÿ’ก WeKnora โ€” ๋ฌธ์„œ๋ฅผ ์‚ด์•„์žˆ๋Š” ์ง€์‹์œผ๋กœ: RAG ยท Agent ์ถ”๋ก  ยท ์ž๋™ Wiki ํ†ตํ•ฉ LLM ์ง€์‹ ํ”„๋ ˆ์ž„์›Œํฌ

๐Ÿ“Œ ๊ฐœ์š”

WeKnora๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ๋ฌธ์„œ ์ดํ•ด, ์‹œ๋งจํ‹ฑ ๊ฒ€์ƒ‰, ์ž์œจ ์ถ”๋ก  ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ์˜คํ”ˆ์†Œ์Šค LLM ๊ธฐ๋ฐ˜ ์ง€์‹ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ ์—ญ๋Ÿ‰์„ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ผ์ƒ ๊ฒ€์ƒ‰์— ์ตœ์ ํ™”๋œ RAG ๊ธฐ๋ฐ˜ ๋น ๋ฅธ Q&A, ์ง€์‹ ๊ฒ€์ƒ‰ยทMCP ๋„๊ตฌยท์›น ๊ฒ€์ƒ‰์„ ์ž์œจ์ ์œผ๋กœ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ํ•˜์—ฌ ๋ณต์žกํ•œ ๋‹ค๋‹จ๊ณ„ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ReAct Agent ์ถ”๋ก , ๊ทธ๋ฆฌ๊ณ  Agent๊ฐ€ ์›๋ณธ ๋ฌธ์„œ์—์„œ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ ๋งˆํฌ๋‹ค์šด ์ง€์‹๋ฒ ์ด์Šค์™€ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์ง€์‹ ๊ทธ๋ž˜ํ”„๋ฅผ ์Šค์Šค๋กœ ์ƒ์„ฑยท์œ ์ง€ํ•˜๋Š” ์™„์ „ํžˆ ์ƒˆ๋กœ์šด Wiki ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค ์—ฐ๋™(Feishu / Notion / Yuque, ์ง€์† ํ™•์žฅ ์ค‘), 20๊ฐœ ์ด์ƒ์˜ LLM ํ”„๋กœ๋ฐ”์ด๋” ํ†ตํ•ฉ, Langfuse ๊ธฐ๋ฐ˜ ํ’€์Šคํƒ ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฉ€ํ‹ฐ ํ…Œ๋„ŒํŠธ RBAC(4๋‹จ๊ณ„ ์—ญํ•  ๋งคํŠธ๋ฆญ์Šค + ๋ฆฌ์†Œ์Šค ์†Œ์œ ๊ถŒ + ํ…Œ๋„ŒํŠธ ๊ฐ์‚ฌ ๋กœ๊ทธ), ์™„์ „ ์…€ํ”„ํ˜ธ์ŠคํŒ…์ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆํ˜• ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ, WeKnora๋Š” ํฉ์–ด์ง„ ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ยท์ถ”๋ก  ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ง€์†์ ์œผ๋กœ ์ง„ํ™”ํ•˜๋Š” ์ „์šฉ ์ง€์‹ ์ž์‚ฐ์œผ๋กœ ํƒˆ๋ฐ”๊ฟˆ์‹œํ‚ต๋‹ˆ๋‹ค.

Feishu, Notion, Yuque ๋“ฑ ์™ธ๋ถ€ ํ”Œ๋žซํผ์—์„œ ์ง€์‹ ์ž๋™ ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•˜๋ฉฐ(์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค ๊ฐœ๋ฐœ ์ค‘), PDF, Word, ์ด๋ฏธ์ง€, Excel ๋“ฑ 10๊ฐ€์ง€ ์ด์ƒ์˜ ๋ฌธ์„œ ํฌ๋งท์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. WeChat Work, Feishu, Slack, Telegram ๋“ฑ์˜ IM ์ฑ„๋„์„ ํ†ตํ•ด Q&A ์„œ๋น„์Šค๋ฅผ ์ง์ ‘ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ๋ ˆ์ด์–ด์—์„œ OpenAI, DeepSeek, Qwen(Alibaba Cloud), Zhipu, Hunyuan, Gemini, MiniMax, NVIDIA, Ollama ๋“ฑ ์ฃผ์š” ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ชจ๋“ˆํ™” ์„ค๊ณ„๋˜์–ด LLM, ๋ฒกํ„ฐ DB, ์Šคํ† ๋ฆฌ์ง€ ๋“ฑ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๊ต์ฒด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋กœ์ปฌ ๋ฐ ํ”„๋ผ์ด๋น— ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์™„์ „ ์ž์ฒด ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ WeKnora๋Š” Langfuse์™€ ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉ๋˜์–ด Agent ์ถ”๋ก , ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ํŒŒ์ดํ”„๋ผ์ธ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ(Observability)์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

โœจ ์ตœ์‹  ์—…๋ฐ์ดํŠธ

  • v0.6.0 โ€” ํ…Œ๋„ŒํŠธ RBAC(4๋‹จ๊ณ„ ์—ญํ•  ๋งคํŠธ๋ฆญ์Šค Owner / Admin / Contributor / Viewer + KB ๋‹จ์œ„ ์†Œ์œ  + ํ…Œ๋„ŒํŠธ๋ณ„ ๊ฐ์‚ฌ ๋กœ๊ทธ), ํ…Œ๋„ŒํŠธ ๋ฉค๋ฒ„ ๊ด€๋ฆฌ์™€ ๋ฉ€ํ‹ฐ ์›Œํฌ์ŠคํŽ˜์ด์Šค UX, ์…€ํ”„ ์„œ๋น„์Šค ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ƒ์„ฑ; weknora CLI v0.4 GA + mcp serve; ์—ฌ๋Ÿฌ ๋ฒกํ„ฐ ์ €์žฅ์†Œ์— ๊ฑธ์นœ KB ๊ฒ€์ƒ‰ ํŒฌ์•„์›ƒ; MCP / ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ž๊ฒฉ ์ฆ๋ช… AES-256-GCM ์•”ํ˜ธํ™” + docreader gRPC TLS + Token; Zhipu ์ž„๋ฒ ๋”์™€ ํ™”์›จ์ด ํด๋ผ์šฐ๋“œ OBS ์ถ”๊ฐ€; ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์„ค์ •; Go 1.26.0. ์ž์„ธํ•œ ๋‚ด์šฉ์€ docs/RBAC่ฏดๆ˜Ž.md๊ณผ CHANGELOG.md ์ฐธ๊ณ .
  • v0.5.2 โ€” Wiki ์ธ์ œ์ŠคํŠธ๊ฐ€ ๋งŒ ๊ฑด ๊ทœ๋ชจ KB ์ง€์›(์ž‘์—… ํ + DLQ); MCP ํœด๋จผ์ธ๋”๋ฃจํ”„ ๋„๊ตฌ ์Šน์ธ; Anthropic / Apache Doris / Tencent VectorDB / Kingsoft Cloud KS3 / SearXNG ๋ฐฑ์—”๋“œ; ์ ์‘ํ˜• 3๋‹จ๊ณ„ ์ฒญํ‚น + ๋ผ์ด๋ธŒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ; ๊ธ€๋กœ๋ฒŒ โŒ˜K ๋ช…๋ น ํŒ”๋ ˆํŠธ; Yuque ์ปค๋„ฅํ„ฐ + WeChat ๋ฏธ๋‹ˆํ”„๋กœ๊ทธ๋žจ; weknora CLI ํ”„๋ฆฌ๋ทฐ.
  • v0.5.1 โ€” ์ง€์‹๋ฒ ์ด์Šค ์ผ๊ด„ ๊ด€๋ฆฌ; ํ…Œ๋„ŒํŠธ ์ „์ฒด IM ์ฑ„๋„ ๊ฐœ์š”; ์„ธ์…˜ ๊ฒ€์ƒ‰ + ์‚ฌ์šฉ์ž ๋‹จ์œ„ ํ•€; ๋ชจ๋ธ / ์›น ๊ฒ€์ƒ‰ / MCP ํ†ต์ผ ์นด๋“œ ์„ค์ •; Agent๋ณ„ LLM ํƒ€์ž„์•„์›ƒ; ๋ฐ์Šคํฌํƒ‘ ํ…Œ๋„ŒํŠธ ์ „ํ™˜.
  • v0.5.0 โ€” Wiki ๋ชจ๋“œ GA โ€” Agent๊ฐ€ ์›๋ณธ ๋ฌธ์„œ์—์„œ ๊ตฌ์กฐํ™”ยท์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ Markdown Wiki ํŽ˜์ด์ง€์™€ ์ง€์‹ ๊ทธ๋ž˜ํ”„ ์ž๋™ ์ƒ์„ฑ, Wiki ๋ธŒ๋ผ์šฐ์ € ๋ฐ ์‹œ๊ฐํ™” ๊ทธ๋ž˜ํ”„๋ฅผ UI์— ํƒ‘์žฌ.
  • v0.4.0 โ€” WeKnora Cloud(ํ˜ธ์ŠคํŒ… LLM + ํŒŒ์‹ฑ); Chrome ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ; ClawHub Skill; WeChat IM; ์ฒจ๋ถ€ ์ฒ˜๋ฆฌ; Azure OpenAI / Alibaba OSS; Notion ์ปค๋„ฅํ„ฐ; Baidu + Ollama ์›น ๊ฒ€์ƒ‰; VectorStore ๊ด€๋ฆฌ.
  • v0.3.6 โ€” ASR(์Œ์„ฑ); Feishu ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ž๋™ ๋™๊ธฐํ™”; OIDC; IM ์ธ์šฉ ํšŒ์‹  + ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜ ์„ธ์…˜; ๋ฌธ์„œ ์ž๋™ ์š”์•ฝ; Tavily ๊ฒ€์ƒ‰; ๋ณ‘๋ ฌ ๋„๊ตฌ ํ˜ธ์ถœ; Agent @๋ฉ˜์…˜ ๋ฒ”์œ„ ์ œํ•œ.
  • v0.3.5 โ€” Telegram / DingTalk / Mattermost IM; IM ์Šฌ๋ž˜์‹œ ์ปค๋งจ๋“œ + QA ํ; ์ถ”์ฒœ ์งˆ๋ฌธ; VLM์— ์˜ํ•œ MCP ๋„๊ตฌ ์ด๋ฏธ์ง€ ์ž๋™ ์„ค๋ช…; Novita AI; ์ฑ„๋„ ์ถ”์ .
  • v0.3.4 โ€” ๊ธฐ์—… WeChat / Feishu / Slack IM; ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ์ด๋ฏธ์ง€; NVIDIA ๋ชจ๋ธ API; Weaviate; AWS S3; AES-256-GCM API ํ‚ค ์•”ํ˜ธํ™”; ๋‚ด์žฅ MCP ์„œ๋น„์Šค; ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ ์ตœ์ ํ™”; final_answer ๋„๊ตฌ.
  • v0.3.3 โ€” ๋ถ€๋ชจ-์ž์‹ ์ฒญํ‚น; KB ํ•€; ํด๋ฐฑ ์‘๋‹ต; Rerank ํŒจ์‹œ์ง€ ํด๋ฆฌ๋‹; ์Šคํ† ๋ฆฌ์ง€ ๋ฒ„ํ‚ท ์ž๋™ ์ƒ์„ฑ; Milvus.
  • v0.3.2 โ€” ์ง€์‹ ๊ฒ€์ƒ‰ ์ง„์ž…์ ; ์†Œ์Šค๋ณ„ ํŒŒ์„œ / ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ์„ค์ •; ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€ ์ด๋ฏธ์ง€ ๋ Œ๋”๋ง; ๋ฌธ์„œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ; Volcengine TOS; Mermaid ๋ Œ๋”๋ง; ๋Œ€ํ™” ์ผ๊ด„ ๊ด€๋ฆฌ; ๋ฉ”๋ชจ๋ฆฌ ๊ทธ๋ž˜ํ”„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ.
  • v0.3.0 โ€” ๊ณต์œ  ์ŠคํŽ˜์ด์Šค; Agent Skills + ์ƒŒ๋“œ๋ฐ•์Šค ์‹คํ–‰; ์ปค์Šคํ…€ Agent; ๋ฐ์ดํ„ฐ ๋ถ„์„ Agent; ์‚ฌ๊ณ  ๋ชจ๋“œ; Bing / Google ๊ฒ€์ƒ‰; API Key ์ธ์ฆ; Helm Chart; ํ•œ๊ตญ์–ด i18n; Qdrant.
  • v0.2.0 โ€” Agent ๋ชจ๋“œ(ReACT); ๋‹ค์ค‘ ํƒ€์ž… ์ง€์‹๋ฒ ์ด์Šค(FAQ + ๋ฌธ์„œ); ๋Œ€ํ™” ์ „๋žต ์„ค์ •; DuckDuckGo ์›น ๊ฒ€์ƒ‰; MCP ๋„๊ตฌ ํ†ตํ•ฉ; ์ƒˆ UI + Agent ๋ชจ๋“œ ์ „ํ™˜; MQ ๋น„๋™๊ธฐ ์ž‘์—… ๊ด€๋ฆฌ.

๐Ÿ“ฑ ๊ธฐ๋Šฅ ๋ฐ๋ชจ

<table> <tr> <td colspan="2" align="center"><b>๐Ÿ’ฌ ์ง€๋Šฅํ˜• Q&A ๋Œ€ํ™”</b> </td> </tr> <tr> <td width="50%" align="center"><b>๐Ÿ“– Wiki ๋ธŒ๋ผ์šฐ์ €</b> </td> <td width="50%" align="center"><b>๐Ÿ•ธ๏ธ Wiki ์ง€์‹ ๊ทธ๋ž˜ํ”„</b> </td> </tr> <tr> <td width="50%" align="center"><b>๐Ÿค– Agent ๋ชจ๋“œ ยท ๋„๊ตฌ ํ˜ธ์ถœ ๊ณผ์ •</b> </td> <td width="50%" align="center"><b>โš™๏ธ ๋Œ€ํ™” ์„ค์ •</b> </td> </tr> <tr> <td colspan="2" align="center"><b>๐Ÿ”ญ ๊ด€์ธก ๊ฐ€๋Šฅ์„ฑ ยท Langfuse Tracing</b> </td> </tr> </table>

๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜

๋ฌธ์„œ ํŒŒ์‹ฑ, ๋ฒกํ„ฐํ™”, ๊ฒ€์ƒ‰๋ถ€ํ„ฐ LLM ์ถ”๋ก ๊นŒ์ง€ ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ์„ ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๊ต์ฒดยทํ™•์žฅ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ / ํ”„๋ผ์ด๋น— ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์™„์ „ ์ž์ฒด ๊ด€๋ฆฌ์™€ ์ง„์ž… ์žฅ๋ฒฝ ์—†๋Š” Web UI๋กœ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Š ์ ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค

์‹œ๋‚˜๋ฆฌ์˜ค์ ์šฉ ์‚ฌ๋ก€ํ•ต์‹ฌ ๊ฐ€์น˜
๊ธฐ์—… ์ง€์‹ ๊ด€๋ฆฌ๋‚ด๋ถ€ ๋ฌธ์„œ ๊ฒ€์ƒ‰, ๊ทœ์ • Q&A, ์šด์˜ ๋งค๋‰ด์–ผ ์กฐํšŒ์ง€์‹ ํƒ์ƒ‰ ํšจ์œจ ํ–ฅ์ƒ, ๊ต์œก ๋น„์šฉ ์ ˆ๊ฐ
ํ•™์ˆ  ์—ฐ๊ตฌ ๋ถ„์„๋…ผ๋ฌธ ๊ฒ€์ƒ‰, ์—ฐ๊ตฌ ๋ฆฌํฌํŠธ ๋ถ„์„, ํ•™์ˆ  ์ž๋ฃŒ ์ •๋ฆฌ๋ฌธํ—Œ ์กฐ์‚ฌ ๊ฐ€์†, ์—ฐ๊ตฌ ์˜์‚ฌ๊ฒฐ์ • ์ง€์›
์ œํ’ˆ ๊ธฐ์ˆ  ์ง€์›์ œํ’ˆ ๋งค๋‰ด์–ผ Q&A, ๊ธฐ์ˆ  ๋ฌธ์„œ ๊ฒ€์ƒ‰, ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…๊ณ ๊ฐ ์ง€์› ํ’ˆ์งˆ ํ–ฅ์ƒ, ์ง€์› ๋ถ€๋‹ด ๊ฐ์†Œ
๋ฒ•๋ฌด/์ปดํ”Œ๋ผ์ด์–ธ์Šค ๊ฒ€ํ† ๊ณ„์•ฝ ์กฐํ•ญ ๊ฒ€์ƒ‰, ๊ทœ์ œ ์ •์ฑ… ์กฐํšŒ, ์‚ฌ๋ก€ ๋ถ„์„์ปดํ”Œ๋ผ์ด์–ธ์Šค ํšจ์œจ ํ–ฅ์ƒ, ๋ฒ•์  ๋ฆฌ์Šคํฌ ๊ฐ์†Œ
์˜๋ฃŒ ์ง€์‹ ์ง€์›์˜ํ•™ ๋ฌธํ—Œ ๊ฒ€์ƒ‰, ์ง„๋ฃŒ ๊ฐ€์ด๋“œ๋ผ์ธ ์กฐํšŒ, ์ฆ๋ก€ ๋ถ„์„์ž„์ƒ ์˜์‚ฌ๊ฒฐ์ • ์ง€์›, ์ง„๋‹จ ํ’ˆ์งˆ ํ–ฅ์ƒ

๐Ÿงฉ ๊ธฐ๋Šฅ ๊ฐœ์š”

์ง€๋Šฅํ˜• ๋Œ€ํ™”

๊ธฐ๋Šฅ์ƒ์„ธ
์ง€๋Šฅํ˜• ์ถ”๋ก ReACT ์ ์ง„์  ๋ฉ€ํ‹ฐ์Šคํ… ์ถ”๋ก , ์ง€์‹ ๊ฒ€์ƒ‰ยทMCP ๋„๊ตฌยท์›น ๊ฒ€์ƒ‰์„ ์ž์œจ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜, ์ปค์Šคํ…€ ์—์ด์ „ํŠธ ์ง€์›
๋น ๋ฅธ Q&A์ง€์‹๋ฒ ์ด์Šค ๊ธฐ๋ฐ˜ RAG Q&A, ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•œ ๋‹ต๋ณ€
Wiki ๋ชจ๋“œAgent๊ฐ€ ์ฃผ๋„ํ•˜์—ฌ ์›๋ณธ ๋ฌธ์„œ์—์„œ ๊ตฌ์กฐํ™”๋œ ๋งˆํฌ๋‹ค์šด Wiki ํŽ˜์ด์ง€๋ฅผ ์ž๋™ ์ƒ์„ฑ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ
๋„๊ตฌ ํ˜ธ์ถœ๋‚ด์žฅ ๋„๊ตฌ, MCP ๋„๊ตฌ, ์›น ๊ฒ€์ƒ‰
๋Œ€ํ™” ์ „๋žต์˜จ๋ผ์ธ ํ”„๋กฌํ”„ํŠธ ํŽธ์ง‘, ๊ฒ€์ƒ‰ ์ž„๊ณ„๊ฐ’ ์กฐ์ •, ๋ฉ€ํ‹ฐํ„ด ๋ฌธ๋งฅ ์ธ์‹
์ถ”์ฒœ ์งˆ๋ฌธ์ง€์‹๋ฒ ์ด์Šค ์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ์งˆ๋ฌธ ์ž๋™ ์ƒ์„ฑ

์ง€์‹ ๊ด€๋ฆฌ

๊ธฐ๋Šฅ์ƒ์„ธ
์ง€์‹๋ฒ ์ด์Šค ํƒ€์ž…FAQ / ๋ฌธ์„œ / Wiki, ํด๋” ์ž„ํฌํŠธยทURL ์ž„ํฌํŠธยทํƒœ๊ทธ ๊ด€๋ฆฌยท์˜จ๋ผ์ธ ์ž…๋ ฅ
๋ฐ์ดํ„ฐ ์†Œ์Šค ์ž„ํฌํŠธFeishu / Notion / Yuque ์ง€์‹๋ฒ ์ด์Šค ์ž๋™ ๋™๊ธฐํ™”(์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค ๊ฐœ๋ฐœ ์ค‘), ์ฆ๋ถ„ยท์ „์ฒด ๋™๊ธฐํ™” ์ง€์›
๋ฌธ์„œ ํฌ๋งทPDF / Word / Txt / Markdown / HTML / ์ด๋ฏธ์ง€ / CSV / Excel / PPT / JSON
๊ฒ€์ƒ‰ ์ „๋žตBM25 ํฌ์†Œ / Dense ๋ฐ€์ง‘ / GraphRAG ๊ทธ๋ž˜ํ”„ ๊ฐ•ํ™” / ๋ถ€๋ชจ-์ž์‹ ์ฒญํ‚น / ๋‹ค์ฐจ์› ์ธ๋ฑ์‹ฑ
E2E ํ…Œ์ŠคํŠธ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ ์‹œ๊ฐํ™”, ๋ฆฌ์ฝœ ์ ์ค‘๋ฅ ยทBLEU / ROUGE ์ง€ํ‘œ ํ‰๊ฐ€

์—ฐ๋™ ๋ฐ ํ™•์žฅ

๊ธฐ๋Šฅ์ƒ์„ธ
LLMOpenAI / Azure OpenAI / Anthropic (Claude) / DeepSeek / Qwen (Alibaba Cloud) / Zhipu / Hunyuan / Doubao (Volcengine) / Gemini / MiniMax / NVIDIA / Novita AI / SiliconFlow / OpenRouter / Ollama
EmbeddingOllama / BGE / GTE / OpenAI ํ˜ธํ™˜ API
๋ฒกํ„ฐ DBPostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant / Apache Doris / Tencent VectorDB
์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€๋กœ์ปฌ / MinIO / AWS S3 / Volcengine TOS / Alibaba Cloud OSS / Kingsoft Cloud KS3
IM ํ†ตํ•ฉWeChat Work / Feishu / Slack / Telegram / DingTalk / Mattermost / WeChat
์›น ๊ฒ€์ƒ‰DuckDuckGo / Bing / Google / Tavily / Baidu / Ollama / SearXNG

ํ”Œ๋žซํผ

๊ธฐ๋Šฅ์ƒ์„ธ
๋ฐฐํฌ๋กœ์ปฌ / Docker / Kubernetes (Helm), ํ”„๋ผ์ด๋น—/์˜คํ”„๋ผ์ธ ๋ฐฐํฌ ์ง€์›
UIWeb UI / RESTful API / CLI (weknora) / Chrome Extension / WeChat ๋ฏธ๋‹ˆ ํ”„๋กœ๊ทธ๋žจ
๊ด€์ธก ๊ฐ€๋Šฅ์„ฑReAct ๋ฃจํ”„, ํ† ํฐ ์†Œ๋น„, ๋„๊ตฌ ํ˜ธ์ถœ, ํŒŒ์ดํ”„๋ผ์ธ ์ถ”์ ์„ ์œ„ํ•œ Langfuse ํ†ตํ•ฉ
์ž‘์—… ๊ด€๋ฆฌMQ ๋น„๋™๊ธฐ ์ž‘์—…, ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ ์‹œ ์ž๋™ DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
๋ชจ๋ธ ๊ด€๋ฆฌ์ค‘์•™ ์„ค์ •, ์ง€์‹๋ฒ ์ด์Šค๋ณ„ ๋ชจ๋ธ ์„ ํƒ, ๋ฉ€ํ‹ฐํ…Œ๋„ŒํŠธ ๋‚ด์žฅ ๋ชจ๋ธ ๊ณต์œ , WeKnora Cloud ํ˜ธ์ŠคํŒ… ๋ชจ๋ธ ๋ฐ ๋ฌธ์„œ ํŒŒ์‹ฑ

๐Ÿงฉ Chrome ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ

WeKnora Chrome ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์›น ์ฝ˜ํ…์ธ ๋ฅผ WeKnora ์ง€์‹๋ฒ ์ด์Šค์— ์ง์ ‘ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€ ๋˜๋Š” ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜๊ณ  ์›ํด๋ฆญ์œผ๋กœ ์ง€์‹ ํ•ญ๋ชฉ์œผ๋กœ ์ €์žฅ โ€” ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ๋‚˜ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ถˆํ•„์š”.

๐Ÿฆž ClawHub Skill

WeKnora ClawHub Skill์€ ClawHub ํ”Œ๋žซํผ์— ๊ฒŒ์‹œ๋œ WeKnora ์Šคํ‚ฌ์ž…๋‹ˆ๋‹ค. ์„ค์น˜ ํ›„ WeKnora REST API๋ฅผ ํ†ตํ•ด ๋ฌธ์„œ ์—…๋กœ๋“œ(ํŒŒ์ผ / URL / Markdown), ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰(๋ฒกํ„ฐ + ํ‚ค์›Œ๋“œ), ์ง€์‹ ํ•ญ๋ชฉ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฌธ์„œ ์ž„ํฌํŠธ โ€” ์—์ด์ „ํŠธ๋ฅผ ํ†ตํ•œ ํŒŒ์ผ ์—…๋กœ๋“œ, ์›นํŽ˜์ด์ง€ ์ž„ํฌํŠธ, Markdown ์ง€์‹ ์ž‘์„ฑ
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ โ€” ๋‹จ์ผ ๋˜๋Š” ๋‹ค์ค‘ ์ง€์‹๋ฒ ์ด์Šค์—์„œ ๋ฒกํ„ฐ + ํ‚ค์›Œ๋“œ ํ†ตํ•ฉ ๊ฒ€์ƒ‰
  • ์ง€์‹ ๊ด€๋ฆฌ โ€” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ง€์‹ ํ•ญ๋ชฉ ์กฐํšŒ, ํŽธ์ง‘, ์‚ญ์ œ

๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ

๐Ÿ›  ์‚ฌ์ „ ์ค€๋น„

๐Ÿ“ฆ ์„ค์น˜ ๋ฐ ์‹คํ–‰

bash
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
cp .env.example .env   # ํ•„์š”์— ๋”ฐ๋ผ .env ํŽธ์ง‘ (ํŒŒ์ผ ๋‚ด ์ฃผ์„ ์ฐธ๊ณ )
docker compose up -d   # ์ฝ”์–ด ์„œ๋น„์Šค ์‹œ์ž‘

์‹œ์ž‘ ํ›„ http://localhost ์— ์ ‘์†ํ•˜์—ฌ ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ Ollama ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € ollama serve > /dev/null 2>&1 & ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

๐Ÿ”ง ์„ ํƒ ์„œ๋น„์Šค (Docker Compose Profile)

--profile ํ”Œ๋ž˜๊ทธ๋กœ ์ถ”๊ฐ€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ profile ์กฐํ•ฉ ๊ฐ€๋Šฅ:

Profile์„ค๋ช…๋ช…๋ น์–ด
(๊ธฐ๋ณธ)์ฝ”์–ด ์„œ๋น„์Šคdocker compose up -d
full์ „์ฒด ๊ธฐ๋Šฅdocker compose --profile full up -d
neo4j์ง€์‹ ๊ทธ๋ž˜ํ”„ (Neo4j)docker compose --profile neo4j up -d
minio์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€ (MinIO)docker compose --profile minio up -d
langfuseํŠธ๋ ˆ์ด์‹ฑ (Langfuse)docker compose --profile langfuse up -d

์กฐํ•ฉ ์˜ˆ์‹œ: docker compose --profile neo4j --profile minio up -d

์„œ๋น„์Šค ์ค‘์ง€: docker compose down

๐ŸŒ ์„œ๋น„์Šค ์ฃผ์†Œ

์„œ๋น„์ŠคURL
Web UIhttp://localhost
๋ฐฑ์—”๋“œ APIhttp://localhost:8080
Langfuse ํŠธ๋ ˆ์ด์‹ฑhttp://localhost:3000

๋ฌธ์„œ ์ง€์‹ ๊ทธ๋ž˜ํ”„

WeKnora๋Š” ๋ฌธ์„œ๋ฅผ ์ง€์‹ ๊ทธ๋ž˜ํ”„๋กœ ๋ณ€ํ™˜ํ•ด ๋ฌธ์„œ ๋‚ด ์„œ๋กœ ๋‹ค๋ฅธ ์„น์…˜ ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์‹ ๊ทธ๋ž˜ํ”„ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ฌธ์„œ ๋‚ด๋ถ€์˜ ์‹œ๋งจํ‹ฑ ์—ฐ๊ด€ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ถ„์„/๊ตฌ์„ฑํ•˜์—ฌ ๋ฌธ์„œ ์ดํ•ด๋ฅผ ๋•๊ณ , ์ธ๋ฑ์‹ฑ๊ณผ ๊ฒ€์ƒ‰์— ๊ตฌ์กฐํ™”๋œ ์ง€์›์„ ์ œ๊ณตํ•ด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์˜ ๊ด€๋ จ์„ฑ๊ณผ ํญ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ์„ค์ •์€ ์ง€์‹ ๊ทธ๋ž˜ํ”„ ์„ค์ • ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

MCP ์„œ๋ฒ„

ํ•„์š”ํ•œ ์„ค์ •์€ MCP ์„ค์ • ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๐Ÿ”Œ WeChat ๋Œ€ํ™” ์˜คํ”ˆ ํ”Œ๋žซํผ ์‚ฌ์šฉ

WeKnora๋Š” WeChat ๋Œ€ํ™” ์˜คํ”ˆ ํ”Œ๋žซํผ์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ  ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ณด๋‹ค ๊ฐ„ํŽธํ•œ ์‚ฌ์šฉ ๋ฐฉ์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ๋…ธ์ฝ”๋“œ ๋ฐฐํฌ: ์ง€์‹์„ ์—…๋กœ๋“œํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด WeChat ์ƒํƒœ๊ณ„์—์„œ ์ง€๋Šฅํ˜• Q&A ์„œ๋น„์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•˜์—ฌ "์งˆ๋ฌธ ์ฆ‰์‹œ ์‘๋‹ต" ๊ฒฝํ—˜์„ ๊ตฌํ˜„
  • ํšจ์œจ์ ์ธ ์งˆ๋ฌธ ๊ด€๋ฆฌ: ๊ณ ๋นˆ๋„ ์งˆ๋ฌธ์˜ ๋ถ„๋ฅ˜ ๊ด€๋ฆฌ ์ง€์›, ํ’๋ถ€ํ•œ ๋ฐ์ดํ„ฐ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์ •ํ™•ํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฌ์šด ๋‹ต๋ณ€ ์ œ๊ณต
  • WeChat ์ƒํƒœ๊ณ„ ํ†ตํ•ฉ: WeChat ๊ณต์‹๊ณ„์ •, ๋ฏธ๋‹ˆํ”„๋กœ๊ทธ๋žจ ๋“ฑ ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์— WeKnora์˜ Q&A ์—ญ๋Ÿ‰์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ†ตํ•ฉ

๐Ÿ“˜ API ๋ ˆํผ๋Ÿฐ์Šค

๋ฌธ์ œ ํ•ด๊ฒฐ FAQ: ๋ฌธ์ œ ํ•ด๊ฒฐ FAQ

์ƒ์„ธ API ๋ฌธ์„œ: API Docs

์ œํ’ˆ ๊ณ„ํš ๋ฐ ์˜ˆ์ • ๊ธฐ๋Šฅ: Roadmap

๐Ÿงญ ๊ฐœ๋ฐœ์ž ๊ฐ€์ด๋“œ

โšก ๊ณ ์† ๊ฐœ๋ฐœ ๋ชจ๋“œ(๊ถŒ์žฅ)

์ฝ”๋“œ๋ฅผ ์ž์ฃผ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋งค๋ฒˆ Docker ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ ์† ๊ฐœ๋ฐœ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

bash
# ์ธํ”„๋ผ ์‹œ์ž‘
make dev-start

# ๋ฐฑ์—”๋“œ ์‹œ์ž‘ (์ƒˆ ํ„ฐ๋ฏธ๋„)
make dev-app

# ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์ž‘ (์ƒˆ ํ„ฐ๋ฏธ๋„)
make dev-frontend

๊ฐœ๋ฐœ ์žฅ์ :

  • โœ… ํ”„๋ก ํŠธ์—”๋“œ ๋ณ€๊ฒฝ ์ž๋™ ํ•ซ๋ฆฌ๋กœ๋“œ(์žฌ์‹œ์ž‘ ๋ถˆํ•„์š”)
  • โœ… ๋ฐฑ์—”๋“œ ๋ณ€๊ฒฝ ๋น ๋ฅธ ์žฌ์‹œ์ž‘(5~10์ดˆ, Air ํ•ซ๋ฆฌ๋กœ๋“œ ์ง€์›)
  • โœ… Docker ์ด๋ฏธ์ง€ ์žฌ๋นŒ๋“œ ๋ถˆํ•„์š”
  • โœ… IDE ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ ๋””๋ฒ„๊น… ์ง€์›

์ƒ์„ธ ๋ฌธ์„œ: ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋น ๋ฅธ ์‹œ์ž‘

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

Issue ๋˜๋Š” Pull Request๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ ˆ์ฐจ: Fork โ†’ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ โ†’ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹ โ†’ PR ์ƒ์„ฑ

๊ทœ์น™: gofmt๋กœ ์ฝ”๋“œ ํฌ๋งทํŒ…, Conventional Commits ์ค€์ˆ˜ (feat: / fix: / docs: / test: / refactor:)

๐Ÿ”’ ๋ณด์•ˆ ๊ณต์ง€

์ค‘์š”: v0.1.3๋ถ€ํ„ฐ WeKnora๋Š” ์‹œ์Šคํ…œ ๋ณด์•ˆ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด ๋กœ๊ทธ์ธ ์ธ์ฆ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์šด์˜ ํ™˜๊ฒฝ ๋ฐฐํฌ ์‹œ ์•„๋ž˜ ์‚ฌํ•ญ์„ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

  • WeKnora ์„œ๋น„์Šค๋ฅผ ๊ณต์šฉ ์ธํ„ฐ๋„ท์ด ์•„๋‹Œ ๋‚ด๋ถ€/์‚ฌ์„ค ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์— ๋ฐฐํฌ
  • ์ž ์žฌ์  ์ •๋ณด ์œ ์ถœ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์„œ๋น„์Šค๋ฅผ ๊ณต์šฉ ๋„คํŠธ์›Œํฌ์— ์ง์ ‘ ๋…ธ์ถœํ•˜์ง€ ์•Š๊ธฐ
  • ๋ฐฐํฌ ํ™˜๊ฒฝ์— ์ ์ ˆํ•œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋ฐ ์ ‘๊ทผ ์ œ์–ด ๊ตฌ์„ฑ
  • ๋ณด์•ˆ ํŒจ์น˜์™€ ๊ฐœ์„  ์‚ฌํ•ญ ์ ์šฉ์„ ์œ„ํ•ด ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์ •๊ธฐ ์—…๋ฐ์ดํŠธ

๐Ÿ‘ฅ ๊ธฐ์—ฌ์ž

๋ฉ‹์ง„ ๊ธฐ์—ฌ์ž ์—ฌ๋Ÿฌ๋ถ„๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค:

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT License๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ์ €์ž‘๊ถŒ ๊ณ ์ง€๋ฅผ ์œ ์ง€ํ•˜๋Š” ์กฐ๊ฑด์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉ, ์ˆ˜์ •, ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ˆ ํ”„๋กœ์ ํŠธ ํ†ต๊ณ„

<a href="https://www.star-history.com/#Tencent/WeKnora&type=date&legend=top-left"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Tencent/WeKnora&type=date&theme=dark&legend=top-left" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Tencent/WeKnora&type=date&legend=top-left" /> </picture> </a>