Spaces:
Running
Running
ใ
ใ
ใ
commited on
Commit
ยท
48dc552
1
Parent(s):
5bcb2a0
feat: add Mermaid architecture diagram to system information section
Browse files- CodeWeaver/ui/app.py +48 -2
CodeWeaver/ui/app.py
CHANGED
|
@@ -322,6 +322,52 @@ def create_demo() -> gr.Blocks:
|
|
| 322 |
with gr.Accordion("๐ ์์คํ
์ํคํ
์ฒ ๋ฐ ์์ธ ๊ธฐ์ ์ ๋ณด", open=False):
|
| 323 |
gr.Markdown("""
|
| 324 |
### ๐๏ธ ์ง๋ฅํ ์์ด์ ํธ ์ํคํ
์ฒ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 325 |
CodeWeaver๋ ๋จ์ํ LLM ํธ์ถ์ ๋์ด, ์ค์ค๋ก ๊ณํํ๊ณ ๊ฒ์ฆํ๋ **LangGraph ๊ธฐ๋ฐ ์์จ ์์ด์ ํธ**์
๋๋ค.
|
| 326 |
- **Planning & Dynamic Routing**: ์ง๋ฌธ ์๋๋ฅผ ๋ถ์ํ์ฌ ๋จ์ ๋ํ, ๊ธฐ์ ์ง๋ฌธ, ๋ค์ค ์ง๋ฌธ์ผ๋ก ๋ถ๋ฅํ๊ณ ์ต์ ์ ๊ฒฝ๋ก๋ก ์คํํฉ๋๋ค.
|
| 327 |
- **Map-Reduce**: ๋ณตํฉ์ ์ธ ์ง๋ฌธ์ ๋
๋ฆฝ๋ ํ์ ์์
์ผ๋ก ๋ถํดํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌ ํ, ๊ฒฐ๊ณผ๋ฅผ ํ๋๋ก ํตํฉํฉ๋๋ค.
|
|
@@ -344,8 +390,8 @@ def create_demo() -> gr.Blocks:
|
|
| 344 |
|
| 345 |
### ๐ ๏ธ Tech Stack
|
| 346 |
- **Core**: LangGraph, LangChain, Python 3.12
|
| 347 |
-
- **Model**: Google Gemini 2.5 Flash Lite
|
| 348 |
-
- **Retrieval**: Tavily,
|
| 349 |
- **Infra**: Neon Serverless PostgreSQL (Persistence), Qdrant Cloud (Semantic Cache)
|
| 350 |
""")
|
| 351 |
|
|
|
|
| 322 |
with gr.Accordion("๐ ์์คํ
์ํคํ
์ฒ ๋ฐ ์์ธ ๊ธฐ์ ์ ๋ณด", open=False):
|
| 323 |
gr.Markdown("""
|
| 324 |
### ๐๏ธ ์ง๋ฅํ ์์ด์ ํธ ์ํคํ
์ฒ
|
| 325 |
+
|
| 326 |
+
#### ์์คํ
์ํคํ
์ฒ ๋ค์ด์ด๊ทธ๋จ
|
| 327 |
+
|
| 328 |
+
```mermaid
|
| 329 |
+
graph TD
|
| 330 |
+
%% ์คํ์ผ ์ ์
|
| 331 |
+
classDef startend fill:#f9f,stroke:#333,stroke-width:2px;
|
| 332 |
+
classDef process fill:#e1f5fe,stroke:#0277bd,stroke-width:2px;
|
| 333 |
+
classDef decision fill:#fff9c4,stroke:#fbc02d,stroke-width:2px;
|
| 334 |
+
classDef subgraph_style fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,stroke-dasharray: 5 5;
|
| 335 |
+
|
| 336 |
+
START((START)):::startend --> CreatePlan[Create Plan]:::process
|
| 337 |
+
|
| 338 |
+
%% Map (Fan-out) ๋จ๊ณ
|
| 339 |
+
CreatePlan --"Single (1x)"--> SQS_Wrapper
|
| 340 |
+
CreatePlan --"Multi (Map: Nx)"--> SQS_Wrapper
|
| 341 |
+
|
| 342 |
+
%% ์๋ธ๊ทธ๋ํ (๋ณต์ ๋๋ ์์ญ ํํ)
|
| 343 |
+
subgraph SQS_Wrapper ["Parallel Execution (Send API)"]
|
| 344 |
+
direction TB
|
| 345 |
+
SQS[Single Question Subgraph]:::subgraph_style
|
| 346 |
+
end
|
| 347 |
+
|
| 348 |
+
%% Reduce (Fan-in) ๋จ๊ณ
|
| 349 |
+
SQS_Wrapper --> Combine[Reduce: Combine Answers]:::process
|
| 350 |
+
Combine --> END((END)):::startend
|
| 351 |
+
|
| 352 |
+
%% ์๋ธ๊ทธ๋ํ ์์ธ ๋ก์ง
|
| 353 |
+
subgraph "Single Question Subgraph Details"
|
| 354 |
+
Analyze[Analyze Question]:::process
|
| 355 |
+
|
| 356 |
+
Analyze -->|General Chat| DirectGen[Generate Answer]:::process
|
| 357 |
+
Analyze -->|History Context| HistoryGen[Generate w/ History]:::process
|
| 358 |
+
Analyze -->|Technical| CheckCache[Check Cache]:::decision
|
| 359 |
+
|
| 360 |
+
CheckCache -->|Hit| ReturnCache[Return Cached Answer]:::process
|
| 361 |
+
CheckCache -->|Miss| SearchParallel[Search: SO / GitHub / Docs]:::process
|
| 362 |
+
|
| 363 |
+
SearchParallel --> Evaluate[Evaluate & Rerank]:::decision
|
| 364 |
+
|
| 365 |
+
Evaluate -->|Good| FinalGen[Generate Answer]:::process
|
| 366 |
+
Evaluate -->|Poor| Refine[Refine Query]:::process
|
| 367 |
+
Refine --> SearchParallel
|
| 368 |
+
end
|
| 369 |
+
```
|
| 370 |
+
|
| 371 |
CodeWeaver๋ ๋จ์ํ LLM ํธ์ถ์ ๋์ด, ์ค์ค๋ก ๊ณํํ๊ณ ๊ฒ์ฆํ๋ **LangGraph ๊ธฐ๋ฐ ์์จ ์์ด์ ํธ**์
๋๋ค.
|
| 372 |
- **Planning & Dynamic Routing**: ์ง๋ฌธ ์๋๋ฅผ ๋ถ์ํ์ฌ ๋จ์ ๋ํ, ๊ธฐ์ ์ง๋ฌธ, ๋ค์ค ์ง๋ฌธ์ผ๋ก ๋ถ๋ฅํ๊ณ ์ต์ ์ ๊ฒฝ๋ก๋ก ์คํํฉ๋๋ค.
|
| 373 |
- **Map-Reduce**: ๋ณตํฉ์ ์ธ ์ง๋ฌธ์ ๋
๋ฆฝ๋ ํ์ ์์
์ผ๋ก ๋ถํดํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌ ํ, ๊ฒฐ๊ณผ๋ฅผ ํ๋๋ก ํตํฉํฉ๋๋ค.
|
|
|
|
| 390 |
|
| 391 |
### ๐ ๏ธ Tech Stack
|
| 392 |
- **Core**: LangGraph, LangChain, Python 3.12
|
| 393 |
+
- **Model**: Google Gemini 2.5 Flash Lite, Jina-Reranker (Evaluation)
|
| 394 |
+
- **Retrieval**: Tavily, StackOverflow, GitHub API, FastEmbed
|
| 395 |
- **Infra**: Neon Serverless PostgreSQL (Persistence), Qdrant Cloud (Semantic Cache)
|
| 396 |
""")
|
| 397 |
|