ํ์๋ก์ ์กฐ์ง ์ง์์ ๊ทผ๊ฑฐํ ์คํ ๊ณํ์ผ๋ก ๋ฐ๊พธ๊ณ
์ฌ์ฉ์ ์น์ธ ํ์๋ง CalendarยทTo-doยทEmail ์์
์ ์ํํ๋ Meeting-to-Action Agent
Live Demo ยท API Docs ยท ๋ฐฐํฌ ๊ฒ์ฆ ยท ์ ์ฒด ๋ฌธ์
ํ์๊ฐ ๋๋๋ ์ ๋ฌด๋ ์๋์ผ๋ก ์งํ๋์ง ์์ต๋๋ค. ๊ฒฐ์ ์ฌํญ์ ๋ค์ ์ ๋ฆฌํ๊ณ , ๊ด๋ จ ๊ท์ ์ ์ฐพ๊ณ , ์ผ์ ยทํ ์ผยท๋ฉ์ผ๋ก ์ฎ๊ธฐ๋ ๊ณผ์ ์์ ๋๋ฝ๊ณผ ์ค๋ณต์ด ๋ฐ์ํฉ๋๋ค.
IEUM์ ํ์๋ก์ ๊ตฌ์กฐํํ๊ณ ์กฐ์ง ์ง์์ ๊ฒ์ํด ๊ทผ๊ฑฐ๊ฐ ์ฐ๊ฒฐ๋ Action Plan์ ๋ง๋ญ๋๋ค. ๊ณํ์ ์ฆ์ ์คํ๋์ง ์์ผ๋ฉฐ, ์น์ธ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๊ฐ ๊ฒํ ํ ํ ๋ณ๋์ ์คํ ์์ฒญ์ ๋ณด๋์ ๋๋ง ์ธ๋ถ ๋๊ตฌ๋ฅผ ํธ์ถํฉ๋๋ค.
Meeting Transcript
โ Structured Analysis
โ Organization Knowledge Retrieval
โ Evidence-grounded Action Plan
โ Human Approval
โ Calendar / To-do / Email
โ Per-tool Result & Audit Log
๊ณต๊ฐ ๋ฐ๋ชจ์์๋ ์ค์ ํ์ฌ ๋ฉ์ผ์ด๋ ์ผ์ ์ ๋ง๋ค์ง ์์ต๋๋ค. Microsoft 365 ์คํ ๊ณ์ธต์ Mock Provider๋ก ๊ต์ฒดํด ์น์ธ, ์ํ ์ ์ด, ๋ฉฑ๋ฑ์ฑ, ๋ถ๋ถ ์คํจ์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์์ ํ๊ฒ ํ์ธํ ์ ์์ต๋๋ค.
| ๊ตฌ๋ถ | ๊ฒฐ๊ณผ |
|---|---|
| ๊ณต๊ฐ ๋ฐฐํฌ | Vercel Frontend + Render Backend + Supabase PostgreSQL |
| Agent Workflow | Plan ์์ฑ โ ์น์ธ โ Mock ์คํ SUCCEEDED ์ด์ ๊ฒ์ฆ |
| RAG | NVIDIA Embedding + Supabase pgvector ๊ฒ์ |
| Human-in-the-loop | ์น์ธ ์ ์คํ ์ฐจ๋จ, ์น์ธ๊ณผ ์คํ API ๋ถ๋ฆฌ |
| ์คํ ์์ ์ฑ | ์ค๋ณต action ID, ์ฌ์คํ๊ณผ ๋์ ์คํ ์ฐจ๋จ |
| ๋ถ๋ถ ์คํจ | ๋๊ตฌ๋ณ ์ํ ์ ์ฅ ๋ฐ PARTIALLY_SUCCEEDED ๊ตฌ๋ถ |
| Provider ๊ฒฝ๊ณ | Mock, Logic Apps, Microsoft Graph ๊ตฌํ์ฒด ๋ถ๋ฆฌ |
| ์ด์ ๋ชจ๋ | Demo์์ Legacy Azure route์ ์ค์ Productivity Provider ์ฐจ๋จ |
| ์๋ ๊ฒ์ฆ | Backend 79 passed, 1 skipped, Frontend production build ํต๊ณผ |
| ๊ด์ธก์ฑ | X-Request-ID์ payload ๋น์ ์ฅ ๊ตฌ์กฐํ ๋ก๊ทธ |
PostgreSQL ํตํฉ ํ ์คํธ 1๊ฑด์ ์ ์ฉ DB๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํด์ผ ์คํ๋๋ ๋ณดํธ๋ ํ ์คํธ์ ๋๋ค. ์ค์ Supabase migration, seed์ ๊ณต๊ฐ Workflow๋ ๋ฐฐํฌ ํ๊ฒฝ์์ ๋ณ๋๋ก ๊ฒ์ฆํ์ต๋๋ค.
- Frontend: https://ai-agent-olive-nine.vercel.app
- Backend readiness: https://ieum-api-sgqw.onrender.com/health/ready
- Swagger UI: https://ieum-api-sgqw.onrender.com/docs
1. ์ํ ํ์๋ก ํ์ธ ๋๋ ์ง์ ์
๋ ฅ
2. ๊ทผ๊ฑฐ ๊ฒ์ ๋ฐ Action Plan ์์ฑ
3. ๊ฒ์ ๊ทผ๊ฑฐ์ ์ ์๋ ์์
๊ฒํ
4. ์ฌ์ฉ์ ์น์ธ
5. Mock Microsoft 365 ์คํ
6. SUCCEEDED ์ํ์ Mock resource ID ํ์ธ
Render ๋ฌด๋ฃ ์ธ์คํด์ค๊ฐ ์ ์ ์ํ์ด๋ฉด ์ฒซ ์์ฒญ์ ์ต๋ 60์ด ์ ๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
ํ๋ฉด์ ์๋ฒ ์์ ๊ฐ๋ฅ์ฑ์ ์๋ดํ๋ฉฐ, retryable=true์ธ 502/503 ๊ณํ ์์ฑ ์คํจ๋ง
ํ ๋ฒ ์๋ ์ฌ์๋ํฉ๋๋ค. ์น์ธยท๊ฑฐ์ ยท์คํ ์์ฒญ์ ์๋ ์ฌ์๋ํ์ง ์์ต๋๋ค.
๊ณต๊ฐ ํ๊ฒฝ์ Productivity Provider๋ mock_microsoft_365์ด๋ฉฐ ์ค์ ์ธ๋ถ ๋ถ์์ฉ์
๋ฐ์ํ์ง ์์ต๋๋ค.
sequenceDiagram
autonumber
actor User
participant Web as React / Vercel
participant API as FastAPI / Render
participant Vector as Supabase pgvector
participant NIM as NVIDIA NIM
participant DB as PostgreSQL
participant Tool as Mock Microsoft 365
User->>Web: ํ์๋ก ์
๋ ฅ
Web->>API: POST /action-plans/grounded
API->>Vector: ๊ด๋ จ ์กฐ์ง ์ง์ ๊ฒ์
Vector-->>API: evidence chunks
API->>NIM: ํ์๋ก + ๊ทผ๊ฑฐ ๊ธฐ๋ฐ ๊ณํ ์์ฒญ
NIM-->>API: ๊ตฌ์กฐํ Action Plan
API->>DB: PENDING_APPROVAL ์ ์ฅ
API-->>Web: ๊ณํยท๊ทผ๊ฑฐยท์ํ ๋ฐํ
User->>Web: ์น์ธ
Web->>API: POST /{id}/approve
API->>DB: APPROVED ์ ์ด
User->>Web: Mock ์คํ
Web->>API: POST /{id}/execute
API->>Tool: Calendar / To-do / Email ์คํ
Tool-->>API: ๋๊ตฌ๋ณ ๊ฒฐ๊ณผ์ resource ID
API->>DB: ์ต์ข
์ํ ์ ์ฅ
API-->>Web: SUCCEEDED / PARTIALLY_SUCCEEDED / FAILED
- ํ์๋ก์ summary, decisions, action items์ open issues๋ก ๊ตฌ์กฐํ
- NVIDIA embedding๊ณผ pgvector cosine distance ๊ธฐ๋ฐ ์กฐ์ง ์ง์ ๊ฒ์
- ๊ฒ์๋ chunk ID์ ๋ฌธ์๋ช ยท์นดํ ๊ณ ๋ฆฌยท์ถ์ฒยท๊ทผ๊ฑฐ ๋ณธ๋ฌธยทsimilarity๋ฅผ ๊ณํ์ ํจ๊ป ์ ์ฅ
- ๊ณต๊ฐ ํ๋ฉด์์ ์์ Chunk ID ๋์ ์ฌ๋์ด ์ฝ์ ์ ์๋ Evidence ์นด๋ ์ ๊ณต
- ์ต์ ์ ์ฌ๋ ๊ธฐ์ค์ ์ถฉ์กฑํ์ง ๋ชปํ๋ฉด ๊ณํ ์์ฑ ๊ฑฐ๋ถ
- LLM JSON์ Pydantic schema๋ก ๊ฒ์ฆํ ํ์๋ง ์ ์ฅ
- Plan ์์ฑ๊ณผ ์ธ๋ถ ์คํ์ ๋ณ๋ API๋ก ๋ถ๋ฆฌ
approver์ญํ ๋ง ์น์ธยท๊ฑฐ์ ๊ฐ๋ฅexecutor์ญํ ๋ง ์น์ธ๋ ๊ณํ ์คํ ๊ฐ๋ฅ- ๊ฑฐ์ ๋ ๊ณํ๊ณผ ๋ฏธ์น์ธ ๊ณํ์ ์คํ ์ฐจ๋จ
- Demo mode์์๋ ์ ๋ขฐํ ์ ์๋ identity header๋ฅผ ๋ฌด์ํ๊ณ ๊ณ ์ Demo actor ์ฌ์ฉ
- Calendar, To-do, Email์ ๊ณตํต Productivity Provider ๊ณ์ฝ์ผ๋ก ์ถ์ํ
- ๊ณ ์
action_id๋ก ์ค๋ณต ์์ฒญ ์ฐจ๋จ - DB ์กฐ๊ฑด๋ถ ์ ์ด๋ก ๋์ ์คํ ์ค ํ๋๋ง ์คํ๊ถ ํ๋
- ์ฑ๊ณตยท์คํจยทlatencyยทproviderยทexternal resource ID๋ฅผ ๋๊ตฌ๋ณ ์ ์ฅ
- ์ผ๋ถ ๋๊ตฌ๋ง ์คํจํ๋ฉด ์ ์ฒด๋ฅผ ์ฑ๊ณต์ผ๋ก ์จ๊ธฐ์ง ์๊ณ
PARTIALLY_SUCCEEDED๋ฐํ
LLM Provider
โโ Mock
โโ NVIDIA NIM
Vector Search Provider
โโ Mock
โโ PostgreSQL / pgvector
Productivity Provider
โโ Mock Microsoft 365 # ๊ณต๊ฐ Demo
โโ Logic Apps # ๊ธฐ์กด Azure ์ฐ๋ ๊ณ์ฝ
โโ Microsoft Graph # REST + OAuth token boundary
APP_MODE=demo์์ NVIDIA + pgvector + Mock Productivity ์กฐํฉ ๊ฐ์ - Demo mode์์ PostgreSQL URL ๊ฐ์
- Legacy Azure router ๋ฏธ๋ฑ๋ก ๋ฐ import ์ฐจ๋จ
- ๊ณต๊ฐ Knowledge index ์ฐ๊ธฐ API ์ฐจ๋จ
postgresql://URL์ psycopg 3 dialect๋ก ์๋ ์ ๊ทํ- Alembic migration โ Demo seed โ Uvicorn์ Python entrypoint์์ ์์ฐจ ์คํ
- CORS allowlist๋ก Vercel Production Origin๋ง ํ์ฉ
| ์์ญ | ๊ธฐ์ | ์ญํ ๋ฐ ์ ํ ์ด์ |
|---|---|---|
| Frontend | React 18, Vite, Chakra UI | ์น์ธ ํ๋ฆ์ ํ ํ๋ฉด์์ ๋ณด์ฌ์ฃผ๋ SPA |
| Backend | Python 3.12, FastAPI, Pydantic | ๋ช ์์ ์ธ APIยทschema ๊ณ์ฝ๊ณผ OpenAPI ์ ๊ณต |
| ORM / Migration | SQLAlchemy 2.0, Alembic | ์ํ ์ ์ด transaction๊ณผ ์ฌํ ๊ฐ๋ฅํ schema ๊ด๋ฆฌ |
| Database | Supabase PostgreSQL | ๊ณต๊ฐ ํ๊ฒฝ์ ์์ ๋ฐ์ดํฐ ์ ์ฅ |
| Vector Search | pgvector | embedding ์ ์ฅ๊ณผ ์กฐ์ง ์ง์ ์ ์ฌ๋ ๊ฒ์ |
| LLM / Embedding | NVIDIA NIM | OpenAI-compatible ๊ตฌ์กฐํ ๋ถ์๊ณผ embedding |
| Productivity | Mock, Logic Apps, Microsoft Graph | ๊ณต๊ฐ ์์ ์ฑ๊ณผ ์ค์ ์ฐ๋ ๊ฒฝ๊ณ๋ฅผ ๋์์ ์ ์ง |
| Observability | JSON logging, X-Request-ID | ์์ฒญ๊ณผ Action ์คํ ์ถ์ , ๋ฏผ๊ฐ payload ๋น์ ์ฅ |
| Test | pytest, FastAPI TestClient | API, ์ํ ์ ์ด, provider, migration๊ณผ ์คํจ ๊ฒฝ๋ก ๊ฒ์ฆ |
| CI/CD | GitHub Actions, Render Blueprint, Vercel | ํ ์คํธ ํ ์๋ ๋ฐฐํฌ์ ํ๊ฒฝ๋ณ secret ๋ถ๋ฆฌ |
์ธ๋ถ Provider๋ฅผ ๋ณ๋ ์๋น์ค๋ก ์ชผ๊ฐ๊ธฐ๋ณด๋ค, ํ์ฌ ๊ท๋ชจ์์๋ ํ๋์ FastAPI ๋ฐฐํฌ ๋จ์๋ฅผ ์ ์งํ๋ Provider ๊ธฐ๋ฐ ๋ชจ๋๋ฌ ๋ชจ๋๋ฆฌ์ค๋ฅผ ์ ํํ์ต๋๋ค. ์๋น์คยท์ ์ฅ์ยท Provider ๊ฒฝ๊ณ๋ ์ฝ๋ ์์ค์์ ๋ถ๋ฆฌํ๊ณ , ์ธ๋ถ ์์คํ ์ interface ๋ค์์ ๊ต์ฒดํฉ๋๋ค.
flowchart TB
U[User Browser]
subgraph Vercel
FE[React + Vite SPA]
end
subgraph Render
API[FastAPI Routers]
SEC[Identity & Role Boundary]
WF[Action Workflow Service]
OBS[Request ID & JSON Audit Log]
subgraph Providers
LLM[NVIDIA LLM Provider]
EMB[NVIDIA Embedding Provider]
VS[pgvector Search Provider]
PROD[Mock Microsoft 365]
REAL[Logic Apps / Graph Adapters]
end
end
subgraph Supabase
PG[(PostgreSQL)]
VEC[(pgvector Knowledge)]
end
NIM[NVIDIA NIM API]
U -->|HTTPS| FE
FE -->|CORS allowlisted API| API
API --> SEC
API --> WF
API --> OBS
WF --> LLM
WF --> EMB
WF --> VS
WF --> PROD
WF -. production adapter .-> REAL
WF --> PG
VS --> VEC
LLM --> NIM
EMB --> NIM
flowchart LR
R[API Router] --> S[ActionWorkflowService]
S --> K[VectorSearchProvider]
S --> L[LLMProvider]
S --> A[ActionPlanRepository]
S --> P[ProductivityProvider]
K --> C[(Knowledge Chunks)]
A --> D[(Plans & Executions)]
P --> M[Mock / Logic Apps / Graph]
stateDiagram-v2
[*] --> PENDING_APPROVAL: grounded plan ์์ฑ
PENDING_APPROVAL --> APPROVED: approver ์น์ธ
PENDING_APPROVAL --> REJECTED: approver ๊ฑฐ์
APPROVED --> EXECUTING: executor ์คํ๊ถ ํ๋
EXECUTING --> SUCCEEDED: ๋ชจ๋ ๋๊ตฌ ์ฑ๊ณต
EXECUTING --> PARTIALLY_SUCCEEDED: ์ผ๋ถ ๋๊ตฌ ์คํจ
EXECUTING --> FAILED: ๋ชจ๋ ๋๊ตฌ ์คํจ ๋๋ timeout
REJECTED --> [*]
SUCCEEDED --> [*]
PARTIALLY_SUCCEEDED --> [*]
FAILED --> [*]
| Method | Endpoint | ์ค๋ช |
|---|---|---|
GET |
/health/live |
process liveness |
GET |
/health/ready |
mode์ Provider readiness |
POST |
/api/v1/meetings/analyze |
ํ์๋ก ๊ตฌ์กฐํ ๋ถ์ |
POST |
/api/v1/knowledge/chunks |
์กฐ์ง ์ง์ chunk index, Demo ์ฐ๊ธฐ ์ฐจ๋จ |
POST |
/api/v1/knowledge/search |
์ ์ฌ ์กฐ์ง ์ง์ ๊ฒ์ |
POST |
/api/v1/action-plans |
๋ช ์์ Action Plan ์์ฑ |
POST |
/api/v1/action-plans/grounded |
RAG ๊ธฐ๋ฐ Action Plan ์์ฑ |
GET |
/api/v1/action-plans/{id} |
๊ณํยท๊ทผ๊ฑฐยท๋๊ตฌ ๊ฒฐ๊ณผ ์กฐํ |
POST |
/api/v1/action-plans/{id}/approve |
๊ณํ ์น์ธ |
POST |
/api/v1/action-plans/{id}/reject |
๊ณํ ๊ฑฐ์ |
POST |
/api/v1/action-plans/{id}/execute |
์น์ธ๋ ๊ณํ ์คํ |
Legacy Azure endpoint๋ APP_MODE=azure์ผ ๋๋ง ๋ฑ๋ก๋ฉ๋๋ค. ๊ณต๊ฐ Demo์์๋
/chat, /files, /upload, /execute-action ๋ฑ์ด 404๋ฅผ ๋ฐํํฉ๋๋ค.
์ด๊ธฐ ์ ๋ฌด ์๋ํ๋ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ์ธ๋ถ ๋๊ตฌ๋ก ์ ๋ฌํ ์ ์์์ต๋๋ค. ์ด ๋ฐฉ์์ LLM ์ค๋ฅ๊ฐ ์ค์ ๋ฉ์ผ๊ณผ ์ผ์ ์ผ๋ก ์ ํ๋ ์ ์์ต๋๋ค.
Before: Analyze โ Execute
After : Analyze โ Persist PENDING_APPROVAL
โ Human Approve
โ Explicit Execute
์น์ธ์์ ์คํ์์ ์ญํ ์ ๋ถ๋ฆฌํ๊ณ DB ์ํ ์ ์ด๋ฅผ ๊ฒ์ฆํด ์์ฒญ body์ ์์ actor๋ ์ค๋ณต ์์ฒญ์ด ์คํ ๊ถํ์ ๋ง๋ค์ง ๋ชปํ๋๋ก ํ์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ flag๊ฐ ์๋๋ผ DB์ ์กฐ๊ฑด๋ถ ์ํ ์ ์ด๋ก ์คํ๊ถ์ ํ๋ํฉ๋๋ค. ๋ ์์ฒญ์ด ๋์์
๋ค์ด์๋ ํ๋๋ง APPROVED โ EXECUTING ์ ์ด์ ์ฑ๊ณตํ๋ฉฐ, ๊ฐ ๋๊ตฌ ๊ฒฐ๊ณผ๋ ๋
๋ฆฝ์ ์ผ๋ก
์ ์ฅ๋ฉ๋๋ค.
Calendar SUCCEEDED
To-do FAILED
Email SUCCEEDED
โ Plan PARTIALLY_SUCCEEDED
๊ณผ๊ฑฐ Azure AI Search, Blob Storage์ Logic Apps์ ์ง์ ์์กดํ๋ ๊ตฌ์กฐ๋ ๊ตฌ๋ ์ด ์์ผ๋ฉด ์ฌํํ ์ ์์์ต๋๋ค. LLMยทVector SearchยทProductivity ๊ณ์ธต์ Provider๋ก ๋ถ๋ฆฌํด ๊ณต๊ฐ ํ๊ฒฝ์ NVIDIA NIM, Supabase์ Mock Microsoft 365๋ก ๊ต์ฒดํ์ต๋๋ค. Logic Apps์ Microsoft Graph adapter๋ ์ค์ ์ ๋ฌด ํ๊ฒฝ ์ ํ ๊ฒฝ๋ก๋ก ๋ณด์กดํฉ๋๋ค.
๋ฐฐํฌ ๊ณผ์ ์์ ์ ธ ํด์, ๋๋ผ์ด๋ฒ ์ ํ๊ณผ ์ธ์ฆ ๋ฌธ์ ๋ฅผ ๊ฐ๊ฐ ๋ถ๋ฆฌํด ํด๊ฒฐํ์ต๋๋ค.
Render sh -c / && parsing failure
โ shell-independent `python -m ieum.start`
SQLAlchemy selecting psycopg2
โ generic PostgreSQL URL normalized to psycopg 3
Supabase Session pooler auth failure
โ postgres.PROJECT_REF username + port 5432
Repeated authentication failure
โ credential correction + Supavisor circuit-breaker cooldown
์ ์ฒด ์ฅ์ ๊ธฐ๋ก๊ณผ ์ด์ ๊ฒ์ฆ์
deployment-verification.md์ ์์ต๋๋ค.
Unit
โ schema, chunker, URL normalization, identity, provider contract
Integration
โ API state transition, migration, repository and pgvector workflow
Concurrency
โ duplicate action ID and simultaneous execution claim
Failure path
โ timeout, partial failure, insufficient evidence, invalid transition
Mode boundary
โ Demo provider combination and Legacy Azure route isolation
Deployment
โ Render Blueprint, Vercel SPA, CORS and public end-to-end workflow
๋ก์ปฌ ์๋ ๊ฒ์ฆ:
Set-Location ms-2nd-project-integration-ver-1\Backend
python -m pip install -r requirements.txt
python -m pytest -q๊ฒฐ๊ณผ:
75 passed, 1 skipped
Frontend production build:
Set-Location ms-2nd-project-integration-ver-1
npm ci
npm.cmd run build์ด์ ํ๊ฒฝ์์๋ CORS preflight, readiness, grounded plan ์์ฑ, ์น์ธ๊ณผ Mock ์คํ๊น์ง ์ง์ ๊ฒ์ฆํ์ต๋๋ค.
Set-Location ms-2nd-project-integration-ver-1\Backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
$env:APP_MODE = "mock"
$env:LLM_PROVIDER = "mock"
$env:EMBEDDING_PROVIDER = "mock"
$env:VECTOR_SEARCH_PROVIDER = "mock"
$env:PRODUCTIVITY_PROVIDER = "mock"
python -m alembic upgrade head
python -m uvicorn main:app --reload- Swagger UI: http://127.0.0.1:8000/docs
- Liveness: http://127.0.0.1:8000/health/live
- Readiness: http://127.0.0.1:8000/health/ready
Set-Location ms-2nd-project-integration-ver-1
npm ci
$env:VITE_API_URL = "http://127.0.0.1:8000"
npm.cmd run dev๋ธ๋ผ์ฐ์ ์์ http://localhost:5173์ ์ฝ๋๋ค.
GitHub main
โโ render.yaml โ Render Docker Web Service
โ โโ Supabase Session pooler
โ โโ NVIDIA NIM
โโ vercel.json โ Vercel React SPA
Render secret:
DATABASE_URL
NVIDIA_API_KEY
ALLOWED_ORIGINS
Vercel environment:
VITE_API_URL=https://ieum-api-sgqw.onrender.com
์ค์ credential๊ณผ ์ ์ฒด Database URL์ ์ ์ฅ์์ commitํ์ง ์์ต๋๋ค.
.
โโ README.md
โโ render.yaml
โโ docs/
โ โโ deployment-verification.md
โ โโ implementation-progress.md
โ โโ agentic-development-case-study.md
โ โโ ...
โโ evaluation/rag/
โโ ms-2nd-project-integration-ver-1/
โโ src/
โ โโ pages/DemoWorkflow.jsx
โ โโ lib/api.js
โโ vercel.json
โโ Backend/
โโ main.py
โโ alembic/
โโ ieum/
โ โโ api/routers/
โ โโ demo/
โ โโ ingestion/
โ โโ observability/
โ โโ providers/
โ โโ security/
โ โโ services/
โโ scripts/verify_supabase.py
โโ tests/
| ๊ฒฐ์ | ์ ํ | ๊ฐ์ํ ํ๊ณ |
|---|---|---|
| ์คํ ์ ์ฑ | ๋ช ์์ ์น์ธ ํ ๋ณ๋ ์คํ | ํด๋ฆญ ๋จ๊ณ๊ฐ ๋์ง๋ง ์ธ๋ถ ๋ถ์์ฉ ํต์ |
| ๊ณต๊ฐ Productivity | Mock Microsoft 365 | ์ค์ ์์ฑ ํ๋ฉด ๋์ ์์ ํ ์ํ ์ ์ด ์ฆ๋ช |
| ์๋น์ค ๊ตฌ์กฐ | Provider ๊ธฐ๋ฐ ๋ชจ๋๋ฌ ๋ชจ๋๋ฆฌ์ค | ๋ ๋ฆฝ ๋ฐฐํฌ๋ณด๋ค ํ์ฌ ์ด์ ๋จ์์ฑ ์ฐ์ |
| Vector DB | PostgreSQL + pgvector | ์ ์ฉ ๊ฒ์ ์๋น์ค ๊ธฐ๋ฅ๋ณด๋ค ์ด์์ฑ๊ณผ ๋น์ฉ ์ฐ์ |
| Demo identity | ์๋ฒ ๊ณ ์ actor | ๊ณต๊ฐ ์์ฐ์ ๋จ์ํ์ง๋ง ์ค์ ์ฌ์ฉ์ ์ธ์ฆ ์๋ |
| Legacy Azure | Demo์์ router ๋ฏธ๋ฑ๋ก | ๊ณผ๊ฑฐ ๊ธฐ๋ฅ์ ๊ณต๊ฐ UI์์ ์ง์ ์์ฐํ์ง ์์ |
| Render free | ์ ์ ํ์ฉ | ๋น์ฉ์ ์ค์ด๋ ๋์ cold start ๋ฐ์ |
| RAG ๊ณํ | ์ต์ ์ ์ฌ๋ gate | ๊ทผ๊ฑฐ ์๋ ์คํ์ ๋ง์ง๋ง seed ํ์ง์ ๋ฏผ๊ฐ |
- ๊ณต๊ฐ Demo๋ ์ค์ Entra ID ์ธ์ฆ์ด ์๋๋ผ ๊ณ ์ Demo actor๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Microsoft Graph adapter๋ HTTP mock์ผ๋ก ๊ฒ์ฆํ์ผ๋ฉฐ ์ค์ tenant consent์ ์ด์ token rotation์ ์์ง ๊ฒ์ฆํ์ง ์์์ต๋๋ค.
- NVIDIA ์ฒซ ์์ฒญ์ ์ผ์์ ์ธ
502/503์ ๊ณํ ์์ฑ์ ํํด ํ ๋ฒ ์๋ ์ฌ์๋ํ์ง๋ง, ๋ฐ๋ณต ์ฅ์ ์๋ ์ฌ์ฉ์์ ๋ช ์์ ์ธ ์ฌ์์ฒญ์ด ํ์ํฉ๋๋ค. - ๊ธฐ๋ณธ ์ํ์ ์ถ์ฅ๋นยท์น์ธ ๊ท์ ๊ณผ ์ฐ๊ฒฐ๋๋๋ก ์ ๋ฆฌํ์ผ๋ฉฐ, ์ค์ ๊ณต๊ฐ embedding ๊ฒ์์ Top 1~3 ์ ํฉ์ฑ์ ๋ณ๊ฒฝ ๋ฐฐํฌ ํ ๋ค์ ๊ฒ์ฆํด์ผ ํฉ๋๋ค.
- RAG ํ๊ฐ๋ ์์ ํฉ์ฑ lexical dataset ๊ธฐ์ค์ด๋ฉฐ ์ค์ ์กฐ์ง ๋ฌธ์ corpus ํ๊ฐ๊ฐ ํ์ํฉ๋๋ค.
- Render ๋ฌด๋ฃ ์ธ์คํด์ค cold start ์๋ด๋ ์ ๊ณตํ์ง๋ง ์งํ๋ฅ ์ด๋ ์์ ์๋ฃ ์๊ฐ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
- rate limiting, ๋ง๋ฃ Demo ๋ฐ์ดํฐ scheduler์ ์ธ๋ถ ๋ชจ๋ํฐ๋ง์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
- ์ค์ Graph/Logic Apps ์คํ์ ๋ณ๋ credential๊ณผ ์ต์ ๊ถํ ์ค์ ์ด ํ์ํฉ๋๋ค.
- ๋ฌธ์ ์ธ๋ฑ์ค
- ๊ณต๊ฐ ๋ฐฐํฌ ๋ฐ ์ด์ ๊ฒ์ฆ
- ๊ตฌํ ์งํ ๊ธฐ๋ก
- Agentic ๊ฐ๋ฐ ์ฌ๋ก
- ๊ณต๊ฐ Demo ์๋ด
- ๊ณต๊ฐ ๋ฐฐํฌ ๊ณํ
- Microsoft Graph Provider
- Copilot Studio ์ฐ๋
- RAG ํ๊ฐ
๊ธฐ๋ฅ ๋ชฉ๋ก๋ฟ ์๋๋ผ ์น์ธ ๊ฒฝ๊ณ, ์คํจ ์ํ, Provider ์ ํ ์ด์ ์ ์ค์ ๋ฐฐํฌ ๊ฒ์ฆ์ ํจ๊ป ๊ธฐ๋กํ๋ ํ๋ก์ ํธ์ ๋๋ค.