Skip to content

Latest commit

 

History

History
517 lines (365 loc) · 23.1 KB

File metadata and controls

517 lines (365 loc) · 23.1 KB

목차

TEN 소개

TEN 은 실시간 멀티모달 대화형 AI 에이전트를 만들고, 커스터마이징하고, 배포하기 위한 오픈소스 생태계입니다. 음성, 영상, 아바타 상호작용을 모두 지원합니다.

TEN 에는 TEN Framework, TEN VAD, TEN Turn Detection, TEN Portal 이 포함됩니다. 자세한 내용은 TEN 생태계를 확인하세요.


커뮤니티 채널 설명
Follow on X X 에서 TEN Framework 소식과 공지를 받아보세요
Follow on LinkedIn LinkedIn 에서 TEN Framework 업데이트를 확인
Discord TEN Community Discord 커뮤니티에 참여해 개발자들과 소통
Hugging Face Space Hugging Face 에서 TEN 공간과 모델 탐색
WeChat 중국어 커뮤니티를 위한 WeChat 그룹

Tip

TEN 저장소에 ⭐️ 를 남겨주세요

새 릴리스와 업데이트 소식을 즉시 받아볼 수 있고, TEN 발전에 도움이 됩니다!


TEN star us gif



에이전트 예시


미리보기 특징
멀티 퍼포즈 보이스 어시스턴트 — 저지연·고품질 실시간 어시스턴트. 메모리, VAD, TEN Turn Detection 등으로 확장할 수 있습니다.
자세한 내용은 예제 코드를 확인하세요.
립싱크 아바타 — 여러 아바타 공급업체를 지원합니다. 데모에서는 Live2D 기반의 애니메이션 캐릭터 Kei 를 보여주며, Trulience, HeyGen, Tavus 의 실감형 아바타도 곧 지원됩니다.
예제 코드를 참고하세요.
SIP 통화 — TEN 기반 SIP 확장으로 전화 통화를 구현합니다.
예제 코드
발화자 분리 — 실시간으로 화자를 식별하고 라벨링합니다. "Who Likes What" 게임에서 인터랙티브한 사용 사례를 볼 수 있습니다. 예제 코드
전사 — 오디오를 텍스트로 변환합니다. 예제 코드
ESP32-S3 Korvo V3 — Espressif ESP32-S3 Korvo V3 개발 보드에서 TEN Agent 를 실행하여 LLM 과 하드웨어를 연동합니다.
통합 가이드를 확인하세요.


에이전트 예시로 빠르게 시작하기

로컬 환경

단계 ⓵ - 사전 준비

구분 요구 사항
• Agora App ID, App Certificate (매월 무료 분 제공)
OpenAI API 키 (OpenAI 호환 LLM)
Deepgram ASR (회원가입 시 무료 크레딧)
ElevenLabs TTS (회원가입 시 무료 크레딧)
설치 Docker / Docker Compose
Node.js (LTS) v18
최소 사양 • CPU ≥ 2 코어
• RAM ≥ 4 GB

divider

단계 ⓶ - VM 에서 예시 에이전트 빌드

1. 저장소를 클론하고 ai_agents 로 이동한 뒤 .env.example.env 로 복사
cd ai_agents
cp ./.env.example ./.env
2. .env 에 Agora App ID 와 App Certificate 설정
AGORA_APP_ID=
AGORA_APP_CERTIFICATE=

# 기본 보이스 어시스턴트 예시를 사용하는 경우
# Deepgram (STT)
DEEPGRAM_API_KEY=your_deepgram_api_key_here

# OpenAI (LLM)
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-4o

# ElevenLabs (TTS)
ELEVENLABS_TTS_KEY=your_elevenlabs_api_key_here
3. 개발용 컨테이너 실행
docker compose up -d
4. 컨테이너 접속
docker exec -it ten_agent_dev bash
5. 기본 예제로 에이전트 빌드 (약 5~8분)

추가 시나리오는 agents/examples 폴더에서 확인할 수 있습니다. 다음 기본 예제 중 하나로 시작하세요:

# 체인형 음성 어시스턴트 사용
cd agents/examples/voice-assistant

# 또는 실시간 음성-대-음성 어시스턴트 사용
cd agents/examples/voice-assistant-realtime
6. 웹 서버 실행

로컬 소스 코드를 수정했다면 먼저 task build 를 실행하세요. TypeScript, Go 등 컴파일 언어에서는 필수이며 Python 에서는 불필요합니다.

로컬 소스 코드를 수정했다면 먼저 task build 를 실행하세요. 이 단계는 TypeScript나 Go처럼 컴파일 언어에 필요하며, Python에서는 필요하지 않습니다.

task install
task run
7. 에이전트 접속
7. 에이전트 접속

에이전트 예제가 실행되면 아래 인터페이스를 통해 확인할 수 있습니다.

localhost:49483 스크린샷 1
localhost:3000 스크린샷 2

divider

단계 ⓷ - TMAN Designer로 에이전트 커스터마이징

localhost:49483 Screenshot 1
localhost:3000 Screenshot 2
  1. localhost:49483 을 엽니다.
  2. STT, LLM, TTS 확장 프로그램을 마우스 오른쪽 버튼으로 클릭합니다.
  3. 속성을 열고 해당 API 키를 입력합니다.
  4. 캔버스에서 마우스 오른쪽 버튼을 클릭한 뒤 Manage Apps 를 선택해 앱 관리자를 엽니다.
  5. Actions 열에서 ▶ 버튼을 눌러 앱을 실행합니다.
  6. Run with TEN Agent 를 선택하고 Run 을 클릭합니다.


divider

단계 ⓷ - 에이전트 커스터마이징

  1. localhost:49483 을 엽니다.
  2. STT, LLM, TTS 확장을 마우스 오른쪽 버튼으로 클릭합니다.
  3. 속성을 열어 해당 API 키를 입력합니다.
  4. 캔버스에서 마우스 오른쪽 버튼을 클릭하고 Manage Apps 를 선택해 앱 관리자를 엽니다.
  5. Actions 열에서 ▶ 버튼을 눌러 앱을 실행합니다.
  6. Run with TEN Agent 를 선택하고 Run 을 클릭합니다.

divider


Codespaces

GitHub 는 저장소마다 무료 Codespace 를 제공합니다. Docker 없이 에이전트 예시를 실행할 수 있으며 로컬보다 빠르게 시작되는 경우가 많습니다.

자세한 내용은 가이드를 참고하세요.


에이전트 예시 자체 호스팅

Docker 로 배포

TMAN Designer 또는 property.json 편집으로 에이전트를 구성한 뒤, 배포용 Docker 이미지로 패키징할 수 있습니다.

릴리스 이미지 만들기

주의: 아래 명령은 컨테이너 밖에서 실행합니다.

Build
cd ai_agents
docker build -f agents/examples/<example-name>/Dockerfile -t example-app .
Run
docker run --rm -it --env-file .env -p 3000:3000 example-app

divider

Vercel 또는 Netlify 같은 플랫폼에 TEN을 호스팅하고 싶다면 배포를 두 부분으로 나눌 수 있습니다.

  1. Docker가 설치된 VM, Fly.io, Render, ECS, Cloud Run 등 컨테이너 지원 플랫폼에서 TEN 백엔드를 실행합니다. 예제 Docker 이미지를 수정 없이 사용하고 서비스의 8080 포트를 노출하세요.

  2. 프런트엔드만 Vercel 또는 Netlify에 배포합니다. 프로젝트 루트를 ai_agents/agents/examples/<example>/frontend 로 지정한 뒤 pnpm install(또는 bun install)을 실행하고, 이어서 pnpm build(또는 bun run build)를 실행해 기본 .next 출력 디렉터리를 유지합니다.

  3. 호스팅 대시보드에서 환경 변수를 설정하여 AGENT_SERVER_URL 이 백엔드 URL을 가리키도록 하고, UI에서 필요한 NEXT_PUBLIC_* 키(예: 브라우저에 노출할 Agora 자격 증명)를 추가합니다.

  4. 백엔드가 프런트엔드 오리진의 요청을 허용하도록 구성합니다. 개방형 CORS 정책을 적용하거나 내장 프록시 미들웨어를 사용하면 됩니다.

이 구성을 사용하면 백엔드가 장기 실행 작업을 처리하고, 호스팅된 프런트엔드는 API 트래픽을 전달하기만 하면 됩니다.


최신 소식

새 릴리스와 업데이트 소식을 바로 받아보고 TEN 개선에 힘을 보태 주세요!


Image



TEN 생태계


프로젝트 미리보기
️TEN Framework
실시간 멀티모달 대화형 AI 를 위한 오픈소스 프레임워크.

TEN VAD
저지연·경량·고성능 스트리밍 음성 활동 감지기.

️TEN Turn Detection
전이중 대화 통신을 가능하게 하는 기술.

TEN Portal
TEN Framework 공식 사이트 (문서와 블로그).

TEN Agent
TEN Framework 의 쇼케이스.

TMAN Designer
쉬운 워크플로우 UI 로 음성 에이전트를 만드는 로우/노코드 옵션.



질문

TEN Framework 는 AI 기반 Q&A 플랫폼에서도 만나볼 수 있습니다. 기본 설정부터 고급 구현까지 다양한 언어로 빠르게 답을 얻을 수 있습니다.

서비스 링크
DeepWiki Ask DeepWiki
ReadmeX ReadmeX

기여하기

버그 수정, 기능 추가, 문서 개선, 아이디어 공유 등 모든 형태의 오픈소스 기여를 환영합니다. GitHub Issues 와 Projects 를 확인하고 여러분의 역량을 보여 주세요. 함께 멋진 TEN 을 만들어 봅시다!


Tip

모든 기여를 환영합니다 🙏

코드와 문서 등 어떤 기여든 TEN 을 발전시킵니다. TEN Agent 프로젝트를 SNS 에 공유해 다른 개발자에게 영감을 주세요!

유지관리자 @elliotchen200 (𝕏) 또는 @cyfyifanchen (GitHub) 과 연결해 프로젝트 업데이트와 협업 기회를 얻을 수 있습니다.


divider

코드 기여자

TEN

기여 가이드

기여는 언제나 환영입니다! 먼저 기여 가이드를 읽어 주세요.


divider

라이선스

  1. TEN Framework 전체(아래에 명시적으로 언급된 폴더 제외)는 추가 제한 사항이 포함된 Apache License 2.0 하에 배포됩니다. 자세한 내용은 루트 디렉터리의 LICENSE를 참고하세요.
  2. packages 디렉터리 내 구성 요소는 Apache License 2.0 으로 배포됩니다. 각 패키지 루트의 LICENSE 파일을 확인하세요.
  3. TEN Framework 에서 사용하는 서드파티 라이브러리는 목록과 함께 설명되어 있습니다. third_party 폴더를 참조하세요.