Skip to content

teddynote-lab/dify-langgraph-teams-bot

Repository files navigation

๐ŸŽพ Dify LangGraph Teams Bot UseCase

Dify ์™€ LangGraph API ๋ฅผ Teams ์— ํ†ตํ•ฉํ•˜๋Š” ์œ ์Šค์ผ€์ด์Šค

๊ธฐ๋Šฅ ๋ฏธ๋ฆฌ๋ณด๊ธฐ

  • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ / ๋น„์ „
  • Dify ์ด๋ฏธ์ง€ ์ƒ์„ฑ
  • LangGraph ์ด๋ฏธ์ง€ ์ƒ์„ฑ

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

Loading
graph LR
  A[์œ ์ €์˜ ์ฑ„ํŒ…] --> B[Teams Bot ํ”„๋กœ๊ทธ๋žจ]
  B -->|Dify API ์š”์ฒญ| C[Dify]
  C -->|์‘๋‹ต ๊ฒฐ๊ณผ| B
  B -->|์œ ์ €์—๊ฒŒ ๋‹ต๋ณ€| A

๊ธฐ๋ณธ ๋ด‡ ํ…œํ”Œ๋ฆฟ ์‹œ์ž‘ํ•˜๊ธฐ

ํ•„์ˆ˜ ์กฐ๊ฑด

๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์ด ํ…œํ”Œ๋ฆฟ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:

ํ”„๋กœ์ ํŠธ ์„ค์น˜

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 ๋กœ์ปฌ ๋””๋ฒ„๊น… ์„ค์ •์— ์„ค๋ช…๋œ ์ถ”๊ฐ€ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋จผ์ € VS Code ํˆด๋ฐ” ์™ผ์ชฝ์˜ Teams Toolkit ์•„์ด์ฝ˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. F5๋ฅผ ๋ˆŒ๋Ÿฌ ํŒ์—…์ฐฝ์ด ๋œจ๋ฉด Debug in Teams ๋ฅผ ์„ ํƒํ•˜์„ธ์š”. ๋ณธ์ธ์˜ ๋””๋ฒ„๊น… ํ™˜๊ฒฝ์— ๋งž๊ฒŒ Chrome, Edge, Desktop ์ค‘ ์„ ํƒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ธŒ๋ผ์šฐ์ €(๋˜๋Š” ๋ฐ์Šคํฌํƒ‘์•ฑ)๊ฐ€ ํŒ์—…๋˜์–ด Teams App ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค.
  4. ๋ด‡์œผ๋กœ๋ถ€ํ„ฐ ํ™˜์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ฒŒ ๋˜๋ฉฐ, ๋ด‡์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด ์‘๋‹ต์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค! ์ด์ œ Teams App ์—์„œ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค:

basic bot

LangGraph ๋ด‡ ์‚ฌ์šฉํ•˜๊ธฐ

๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ 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์—์„œ ๋กœ์ปฌ ์‹คํ–‰ ๋ฐ ๋””๋ฒ„๊น…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ž‘์—…์œผ๋กœ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ ํ™•์žฅํ•˜๊ธฐ

๋‹ค์Œ ๋ฌธ์„œ๋“ค์€ ๊ธฐ๋ณธ ํ…œํ”Œ๋ฆฟ์„ ํ™•์žฅํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published