An open API service indexing awesome lists of open source software.

https://github.com/marker-inc-korea/ecommerce-multi-agent

Multi-agent inbound voice customer support system for e-commerce using LiveKit & Twilio
https://github.com/marker-inc-korea/ecommerce-multi-agent

livekit telephony-agent twilio

Last synced: 4 months ago
JSON representation

Multi-agent inbound voice customer support system for e-commerce using LiveKit & Twilio

Awesome Lists containing this project

README

          

# ๐Ÿ›๏ธ Voice Agent for E-commerce Customer Support (Inbound, Multi-Agent)

์ด ํ”„๋กœ์ ํŠธ๋Š” LiveKit Agents๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ ๋‹ค์ค‘ ์—์ด์ „ํŠธ ๊ธฐ๋ฐ˜ Inbound ์Œ์„ฑ ์ƒ๋‹ด ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ด์ปค๋จธ์Šค ๊ณ ๊ฐ์ด ์ „ํ™”๋กœ ๋ฌธ์˜ํ•˜๋ฉด AI ์—์ด์ „ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ์‘๋‹ตํ•˜๊ณ , ๋ฌธ์˜ ๋‚ด์šฉ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์ „๋ฌธ๊ฐ€ ์—ญํ• ์˜ Agent๋กœ ์—ฐ๊ฒฐํ•ด์ค๋‹ˆ๋‹ค.

## ๐Ÿ“ฆ ์ฃผ์š” ๊ธฐ๋Šฅ
- โ˜Ž๏ธ Twilio Voice ๊ธฐ๋ฐ˜ Inbound ์ฝœ ์ฒ˜๋ฆฌ
- ๐Ÿง  ๋‹ค์ค‘ LLM Agent ๊ตฌ์„ฑ (Triage โ†’ Pre/Post/After Sales)
- ๐Ÿ” Agent ๊ฐ„ ์ž์—ฐ์Šค๋Ÿฌ์šด ์ „ํ™˜๊ณผ context ์œ ์ง€
- ๐Ÿ—ฃ๏ธ Deepgram STT, Cartesia TTS, Silero VAD ํ†ตํ•ฉ
- ๐Ÿงช ์ƒ˜ํ”Œ ์ƒํ’ˆ/์ฃผ๋ฌธ/๋ฐ˜ํ’ˆ ๋ฐ์ดํ„ฐ๋กœ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ

## ๐Ÿง  Agent ๊ตฌ์„ฑ

- TriageAgent (์ดˆ๊ธฐ ์ง„์ž…์ ): ์ ์ ˆํ•œ ์„ธ๋ถ€ ์—์ด์ „ํŠธ๋กœ ์—ฐ๊ฒฐ
- PrePurchaseAgent: ์ƒํ’ˆ ๋ฐ ๊ตฌ๋งค ์ „ ๋ฌธ์˜ ์ฒ˜๋ฆฌ
- PostPurchaseAgent: ์ฃผ๋ฌธ ์ƒํƒœ ํ™•์ธ ๋ฐ ๊ตฌ๋งค ํ›„ ์ง€์›
- AfterSalesAgent: ๋ฐ˜ํ’ˆ, ํ™˜๋ถˆ ๋“ฑ ์‚ฌํ›„ ์ฒ˜๋ฆฌ ๋‹ด๋‹น

## โ˜๏ธ Twilio & SIP ์—ฐ๋™

์ด ํ”„๋กœ์ ํŠธ๋Š” Twilio Programmable Voice + SIP โ†’ LiveKit ์—ฐ๊ฒฐ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
[๊ณต์‹ ๋ฌธ์„œ](https://docs.livekit.io/sip/accepting-calls-twilio-voice/)๋ฅผ ์ฐธ๊ณ ํ•ด ์„ค์ •์„ ์ง„ํ–‰ํ•˜์„ธ์š”.

์„ค์ • ์™„๋ฃŒ ํ›„ Twilio ๋ฒˆํ˜ธ๋กœ ์ „ํ™”๋ฅผ ๊ฑธ๋ฉด ์—์ด์ „ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

## ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ์„ค์ •

1. ์ €์žฅ์†Œ ๋ณต์ œ

```bash
git clone https://github.com/Marker-Inc-Korea/ecommerce-multi-agent.git
cd ecommerce-multi-agent
```
2. ์˜์กด์„ฑ ์„ค์น˜

uv๋ฅผ ์ด์šฉํ•ด ํ•„์š”ํ•œ ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€๋ฅผ ํ•œ ๋ฒˆ์— ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

```bash
uv sync
```
3. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ตฌ์„ฑ

* `.env.example`๋ฅผ `.env`๋กœ ๋ณต์‚ฌ ํ›„ ๋‹ค์Œ ๊ฐ’์„ ์ฑ„์›Œ ๋„ฃ์Šต๋‹ˆ๋‹ค:

```dotenv
LIVEKIT_API_KEY=...
LIVEKIT_API_SECRET=...
LIVEKIT_URL=wss://your.livekit.server
...
```

## ๐Ÿ’ป Agent ์‹คํ–‰

```python
python agent.py dev
```

## ๐Ÿ“ž ์ฝœ ํ๋ฆ„
1. ๊ณ ๊ฐ์ด Twilio ์ „ํ™”๋ฒˆํ˜ธ๋กœ ์ „ํ™”
2. Twilio โ†’ SIP โ†’ LiveKit์œผ๋กœ ์—ฐ๊ฒฐ
3. TriageAgent๊ฐ€ ์ธ์‚ฌ ๋ฐ ๋ผ์šฐํŒ…
4. ์‚ฌ์šฉ์ž ์š”์ฒญ์— ๋”ฐ๋ผ ์ „๋ฌธ Agent๋กœ ์ „ํ™˜
5. ๊ฐ Agent๋Š” ํˆด ํ˜ธ์ถœ (tool call)์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์š”์ฒญ ์ฒ˜๋ฆฌ

## ๐Ÿงช ์—์ด์ „ํŠธ function ์˜ˆ์‹œ
- `list_products()` โ€” ์Œ์„ฑ ์นœํ™”์ ์ธ ์ƒํ’ˆ ๋ชฉ๋ก ์•ˆ๋‚ด
- `check_order_status(order_id)`
- `request_return(order_id)`
- `transfer_to_*()` โ€” ์ž์—ฐ์Šค๋Ÿฌ์šด Agent ์ „ํ™˜

## ๐Ÿท๏ธ License

MIT ยฉ Marker-Inc-Korea