Skip to content

MSLearnAvatar/AutoGen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AutoGen

AutoGen - Multi Agent Fastapi

AutoGen Multi-Agent Azure AI Avatar Chat

πŸ“‹ κ°œμš”

Azure OpenAI와 AutoGen을 ν™œμš©ν•œ μ§€λŠ₯ν˜• λ©€ν‹° μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œμž…λ‹ˆλ‹€. 이 ν”„λ‘œμ νŠΈλŠ” Azure AI Avatar와 ν†΅ν•©λ˜μ–΄ μ‹€μ‹œκ°„ μŒμ„± λŒ€ν™”μ™€ ν…μŠ€νŠΈ 응닡을 λ™μ‹œμ— μ œκ³΅ν•˜λŠ” ν˜μ‹ μ μΈ AI μ±„νŒ… μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•©λ‹ˆλ‹€.

✨ μ£Όμš” κΈ°λŠ₯

  • λ©€ν‹° μ—μ΄μ „νŠΈ ν˜‘μ—…: κ³„νš μ—μ΄μ „νŠΈ, 기술 μž‘κ°€, 슀크립트 μž‘κ°€κ°€ ν˜‘λ ₯ν•˜μ—¬ μ΅œμ ν™”λœ 응닡 생성
  • Azure AI Avatar 톡합: μ‹€μ‹œκ°„ μŒμ„± ν•©μ„±κ³Ό 아바타 μ• λ‹ˆλ©”μ΄μ…˜
  • μ‹€μ‹œκ°„ WebSocket 톡신: λΉ λ₯Έ 응닡과 μ›ν™œν•œ μ‚¬μš©μž κ²½ν—˜
  • Azure Search 톡합: 벑터 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό ν™œμš©ν•œ μ •ν™•ν•œ 정보 검색
  • 이쀑 응닡 μ‹œμŠ€ν…œ: μƒμ„Έν•œ ν…μŠ€νŠΈ 응닡과 μ•„λ°”νƒ€μš© μš”μ•½ 슀크립트 λ™μ‹œ 제곡

πŸ—οΈ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

μ‚¬μš©μž 질문
    ↓
Planning Agent (κ³„νš 수립)
    ↓
Technical Writer (상세 응닡 생성)
    ↓
Script Writer (μ•„λ°”νƒ€μš© 슀크립트 생성)
    ↓
Azure AI Avatar (μŒμ„± 좜λ ₯)

πŸ› οΈ 기술 μŠ€νƒ

  • Backend: FastAPI, Python 3.8+
  • AI Framework: AutoGen, Azure OpenAI
  • μ‹€μ‹œκ°„ 톡신: WebSocket
  • μŒμ„±/아바타: Azure Speech Service, Azure AI Avatar
  • 검색: Azure Cognitive Search
  • Frontend: HTML5, CSS3, JavaScript
  • 배포: Gunicorn, Uvicorn

πŸ“¦ μ„€μΉ˜ 및 μ„€μ •

1. μ €μž₯μ†Œ 클둠

git clone https://github.com/your-username/autogen-multi-agent.git
cd autogen-multi-agent

2. κ°€μƒν™˜κ²½ 생성 및 ν™œμ„±ν™”

python -m venv venv
source venv/bin/activate  # Linux/Mac
# λ˜λŠ”
venv\Scripts\activate     # Windows

3. 쒅속성 μ„€μΉ˜

pip install -r requirements.txt

4. ν™˜κ²½λ³€μˆ˜ μ„€μ •

.env νŒŒμΌμ„ μƒμ„±ν•˜κ³  λ‹€μŒ 정보λ₯Ό μž…λ ₯ν•˜μ„Έμš”:

# Azure OpenAI μ„€μ •
AZURE_OPENAI_API_KEY=your_api_key
AZURE_OPENAI_MODEL=your_model_name
AZURE_OPENAI_API_VERSION=2024-02-15-preview
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/

# Azure Speech Service μ„€μ •
SPEECH_KEY=your_speech_key
SPEECH_REGION=your_region

# Azure Search μ„€μ • (Autogen_Chat_data.pyμ—μ„œ μ‚¬μš©)
AZURE_SEARCH_ENDPOINT=your_search_endpoint
AZURE_SEARCH_API_KEY=your_search_key
AZURE_SEARCH_INDEX=your_index_name

πŸš€ μ‹€ν–‰ 방법

개발 ν™˜κ²½

python app.py

ν”„λ‘œλ•μ…˜ ν™˜κ²½

gunicorn app:app --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:3100

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹€ν–‰λ˜λ©΄ http://localhost:8000 (개발) λ˜λŠ” http://localhost:3100 (ν”„λ‘œλ•μ…˜)μ—μ„œ 접속할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

autogen-multi-agent/
β”œβ”€β”€ app.py                    # 메인 FastAPI μ• ν”Œλ¦¬μΌ€μ΄μ…˜
β”œβ”€β”€ Autogen_Chat_data.py      # Azure Search 톡합 버전
β”œβ”€β”€ requirements.txt          # Python 쒅속성
β”œβ”€β”€ templates/
β”‚   └── index.html           # μ›Ή μΈν„°νŽ˜μ΄μŠ€
β”œβ”€β”€ static/
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── styles.css       # μŠ€νƒ€μΌμ‹œνŠΈ
β”‚   └── js/
β”‚       └── script.js        # ν΄λΌμ΄μ–ΈνŠΈ JavaScript
└── README.md                # ν”„λ‘œμ νŠΈ λ¬Έμ„œ

πŸ€– μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œ

Planning Agent (κ³„νš μ—μ΄μ „νŠΈ)

  • λ³΅μž‘ν•œ μž‘μ—…μ„ ν•˜μœ„ μž‘μ—…μœΌλ‘œ λΆ„ν•΄
  • λ‹€λ₯Έ μ—μ΄μ „νŠΈλ“€μ—κ²Œ μž‘μ—… ν• λ‹Ή
  • ν’ˆμ§ˆ 체크리슀트 기반 검증

Technical Writer (기술 μž‘κ°€)

  • Azure AI 및 κΈ°κ³„ν•™μŠ΅ κ΄€λ ¨ μ „λ¬Έ 정보 제곡
  • μƒμ„Έν•˜κ³  기술적인 응닡 생성
  • μ½”λ“œ 예제 및 μ‹€μš©μ  κ°€μ΄λ“œ 포함

Script Writer (슀크립트 μž‘κ°€)

  • 아바타가 λ§ν•˜κΈ° νŽΈν•œ ν˜•νƒœλ‘œ λ‚΄μš© μš”μ•½
  • Markdown 문법 제거 및 μžμ—°μŠ€λŸ¬μš΄ λŒ€ν™”μ²΄ λ³€ν™˜
  • 100자 λ‚΄μ™Έμ˜ κ°„κ²°ν•œ 슀크립트 생성

πŸ”§ μ£Όμš” μ„€μ •

아바타 μ„€μ •

  • 캐릭터: Meg
  • μŠ€νƒ€μΌ: Business
  • 배경색: #FFFFFFFF
  • μŒμ„±: ko-KR-SunHiNeural

λͺ¨λΈ μ„€μ •

  • μ΅œλŒ€ ν„΄ 수: 10
  • μ’…λ£Œ 쑰건: "TERMINATE" ν‚€μ›Œλ“œ λ˜λŠ” μ΅œλŒ€ λ©”μ‹œμ§€ 수 도달

🌐 API μ—”λ“œν¬μΈνŠΈ

  • GET /: 메인 μ›Ή μΈν„°νŽ˜μ΄μŠ€
  • GET /health: μ„œλ²„ μƒνƒœ 확인
  • WebSocket /api/ws: μ‹€μ‹œκ°„ μ±„νŒ… 톡신

πŸ“± μ‚¬μš© 방법

  1. μ›Ή λΈŒλΌμš°μ €μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 접속
  2. "아바타 μ„Έμ…˜ μ‹œμž‘" λ²„νŠΌ 클릭
  3. μ§ˆλ¬Έμ„ μž…λ ₯ν•˜κ³  전솑
  4. ν…μŠ€νŠΈ 응닡과 아바타 μŒμ„± 응닡을 λ™μ‹œμ— 확인

⚠️ μ£Όμ˜μ‚¬ν•­

  • Azure μ„œλΉ„μŠ€ ν‚€κ°€ μ˜¬λ°”λ₯΄κ²Œ μ„€μ •λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”
  • WebRTCλ₯Ό μ§€μ›ν•˜λŠ” μ΅œμ‹  λΈŒλΌμš°μ €λ₯Ό μ‚¬μš©ν•˜μ„Έμš”
  • HTTPS ν™˜κ²½μ—μ„œ 아바타 κΈ°λŠ₯이 졜적으둜 μž‘λ™ν•©λ‹ˆλ‹€

🀝 κΈ°μ—¬ν•˜κΈ°

  1. 이 μ €μž₯μ†Œλ₯Ό ν¬ν¬ν•˜μ„Έμš”
  2. μƒˆλ‘œμš΄ κΈ°λŠ₯ 브랜치λ₯Ό μƒμ„±ν•˜μ„Έμš” (git checkout -b feature/AmazingFeature)
  3. 변경사항을 μ»€λ°‹ν•˜μ„Έμš” (git commit -m 'Add some AmazingFeature')
  4. λΈŒλžœμΉ˜μ— ν‘Έμ‹œν•˜μ„Έμš” (git push origin feature/AmazingFeature)
  5. Pull Requestλ₯Ό μƒμ„±ν•˜μ„Έμš”

πŸ“„ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— λ°°ν¬λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.

πŸ“ž 지원

λ¬Έμ œκ°€ λ°œμƒν•˜κ±°λ‚˜ 질문이 μžˆμœΌμ‹œλ©΄ Issues에 λ“±λ‘ν•΄μ£Όμ„Έμš”.

πŸ”„ 버전 νžˆμŠ€ν† λ¦¬

  • v1.0.0: 초기 릴리즈
    • λ©€ν‹° μ—μ΄μ „νŠΈ μ‹œμŠ€ν…œ κ΅¬ν˜„
    • Azure AI Avatar 톡합
    • WebSocket μ‹€μ‹œκ°„ 톡신

About

AutoGen - Multi Agent

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •