Dify ์ LangGraph API ๋ฅผ Teams ์ ํตํฉํ๋ ์ ์ค์ผ์ด์ค
graph LR
A[์ ์ ์ ์ฑํ
] --> B[Teams Bot ํ๋ก๊ทธ๋จ]
B -->|Dify API ์์ฒญ| C[Dify]
C -->|์๋ต ๊ฒฐ๊ณผ| B
B -->|์ ์ ์๊ฒ ๋ต๋ณ| A
ํ์ ์กฐ๊ฑด
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ด ํ ํ๋ฆฟ์ ์คํํ๋ ค๋ฉด ๋ค์์ด ํ์ํฉ๋๋ค:
- Node.js, ์ง์ ๋ฒ์ : 18, 20, 22
- Teams Toolkit Visual Studio Code ํ์ฅ ๋ฒ์ 5.0.0 ์ด์ ๋๋ Teams Toolkit CLI (Cursor / WindSurf ๊ฐ๋ฅ)
Clone ํน์ Use this Template ์ ํตํด ํด๋น ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ฐ์์ฃผ์ธ์.
git clone
cd dify-langgraph-teams-bot
๋ฃจํธ ๋๋ ํ ๋ฆฌ์ .localConfigs.example
์ ๋ณต์ฌํด์ .localConfigs
ํ์ผ๋ก ๋ง๋ค์ด์ฃผ์ธ์.
# Config ๊ฐ๋ฅํ ๊ฐ๋ค
DIFY_API_KEY=app-XXXXXXXXXXXXXXXXXXXX
DIFY_ENDPOINT=https://api.dify.ai/v1
LANGGRAPH_API_KEY=
LANGGRAPH_ENDPOINT=http://localhost:2024
LANGGRAPH_ASSISTANT_ID=agent
Teams Toolkit CLI๋ฅผ ์ฌ์ฉํ ๋ก์ปฌ ๋๋ฒ๊น ์ ์ํด์๋ Teams Toolkit CLI ๋ก์ปฌ ๋๋ฒ๊น ์ค์ ์ ์ค๋ช ๋ ์ถ๊ฐ ๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค.
- ๋จผ์ VS Code ํด๋ฐ ์ผ์ชฝ์ Teams Toolkit ์์ด์ฝ์ ์ ํํฉ๋๋ค.
- F5๋ฅผ ๋๋ฌ ํ์
์ฐฝ์ด ๋จ๋ฉด
Debug in Teams
๋ฅผ ์ ํํ์ธ์. ๋ณธ์ธ์ ๋๋ฒ๊น ํ๊ฒฝ์ ๋ง๊ฒ Chrome, Edge, Desktop ์ค ์ ํ ๊ฐ๋ฅํฉ๋๋ค. - ๋ธ๋ผ์ฐ์ (๋๋ ๋ฐ์คํฌํ์ฑ)๊ฐ ํ์ ๋์ด Teams App ์ด ์ด๋ฆฝ๋๋ค.
- ๋ด์ผ๋ก๋ถํฐ ํ์ ๋ฉ์์ง๋ฅผ ๋ฐ๊ฒ ๋๋ฉฐ, ๋ด์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ฉด ์๋ต์ ๋ฐ์ ์ ์์ต๋๋ค.
์ถํํฉ๋๋ค! ์ด์ Teams App ์์ ์ฌ์ฉ์์ ์ํธ์์ฉํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ ์ค์ ๋๋ค:
๋ฃจํธ ๋๋ ํ ๋ฆฌ์ index.tx
์ตํ๋จ์ ํ์ธํด์ฃผ์ธ์.
langgraphBot ์ ์ฃผ์ ํด์ ํ๊ณ , difyBot ์ ์ฃผ์์ฒ๋ฆฌ ํด์ฃผ์ธ์.
ํด๋ | ๋ด์ฉ |
---|---|
.vscode |
๋๋ฒ๊น ์ ์ํ VSCode ํ์ผ |
appPackage |
Teams ์ ํ๋ฆฌ์ผ์ด์ ๋งค๋ํ์คํธ ํ ํ๋ฆฟ |
env |
ํ๊ฒฝ ์ค์ ํ์ผ |
infra |
Azure ๋ฆฌ์์ค ํ๋ก๋น์ ๋์ ์ํ ํ ํ๋ฆฟ |
๋ค์ ํ์ผ๋ค์ ์ปค์คํฐ๋ง์ด์ง์ด ๊ฐ๋ฅํ๋ฉฐ ์์ํ๊ธฐ ์ํ ์์ ๊ตฌํ์ ๋ณด์ฌ์ค๋๋ค.
ํ์ผ | ๋ด์ฉ |
---|---|
difyBot.ts |
Dify ์ฐ๋์ ์ํ ๋ด ์ ๋๋ค. |
langgraphBot.ts |
LangGraph ์ฐ๋์ ์ํ ๋ด ์ ๋๋ค. |
index.ts |
index.ts ๋ ๊ธฐ๋ณธ ๋ด์ ์ค์ ํ๊ณ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. |
๋ค์์ Teams Toolkit ํน์ ํ๋ก์ ํธ ํ์ผ์ ๋๋ค. Teams Toolkit์ ์๋ ๋ฐฉ์์ ์ดํดํ๋ ค๋ฉด Github์ ์์ ํ ๊ฐ์ด๋๋ฅผ ๋ฐฉ๋ฌธํ์ธ์.
ํ์ผ | ๋ด์ฉ |
---|---|
teamsapp.yml |
์ด๋ ์ฃผ์ Teams Toolkit ํ๋ก์ ํธ ํ์ผ์ ๋๋ค. ํ๋ก์ ํธ ํ์ผ์ ๋ ๊ฐ์ง ์ฃผ์ ์ฌํญ์ ์ ์ํฉ๋๋ค: ์์ฑ๊ณผ ๊ตฌ์ฑ ๋จ๊ณ ์ ์. |
teamsapp.local.yml |
์ด๋ teamsapp.yml ์ ๋ก์ปฌ ์คํ ๋ฐ ๋๋ฒ๊น
์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์์
์ผ๋ก ์ฌ์ ์ํฉ๋๋ค. |
teamsapp.testtool.yml |
์ด๋ teamsapp.yml ์ Teams App Test Tool์์ ๋ก์ปฌ ์คํ ๋ฐ ๋๋ฒ๊น
์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์์
์ผ๋ก ์ฌ์ ์ํฉ๋๋ค. |
๋ค์ ๋ฌธ์๋ค์ ๊ธฐ๋ณธ ํ ํ๋ฆฟ์ ํ์ฅํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
- ํ๊ฒฝ ์ถ๊ฐ ๋๋ ๊ด๋ฆฌ
- ๋ค์ค ๊ธฐ๋ฅ ์ฑ ์์ฑ
- ์ฑ์ ๋จ์ผ ๋ก๊ทธ์ธ ์ถ๊ฐ
- Microsoft Graph์์ ๋ฐ์ดํฐ ์ ๊ทผ
- ๊ธฐ์กด Microsoft Entra ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ฉ
- Teams ์ฑ ๋งค๋ํ์คํธ ์ปค์คํฐ๋ง์ด์ง
- ํด๋ผ์ฐ๋ ๋ฆฌ์์ค ํ๋ก๋น์ ๋ ๋ฐ ์ฝ๋๋ฅผ ํด๋ผ์ฐ๋์ ๋ฐฐํฌํ์ฌ Azure์์ ์ฑ ํธ์คํ
- ์ฑ ๊ฐ๋ฐ ํ์
- CI/CD ํ์ดํ๋ผ์ธ ์ค์
- ์กฐ์ง ๋๋ Microsoft Teams ์ฑ ์คํ ์ด์ ์ฑ ๊ฒ์
- Teams Toolkit CLI๋ก ๊ฐ๋ฐ
- ๋ชจ๋ฐ์ผ ํด๋ผ์ด์ธํธ์์ ์ฑ ๋ฏธ๋ฆฌ๋ณด๊ธฐ