AI 비서 (통합 어시스턴트)

"실벗아 ~"라고 부르면 모든 기능을 연결

23
"어르신, '실벗아'라고 부르세요.
모든 기능을 음성 하나로 해드릴게요."
9:16📶 🔋
🤖

듣고 있어요...

"실벗아, 딸한테 전화해줘" 같이 말해보세요

예시 명령

"약 먹었어"
"딸한테 전화"
"오늘 동네 행사 알려줘"
"병원 예약해줘"
"어제 뭐 했었나"

AI 비서의 능력 (Intent Map)

사용자 발화실행 기능
"약 먹었어"med_log 기록 + 가족 알림
"딸한테 전화"WebRTC 영상통화 시작
"심심해"AI 말벗 또는 동네 추천
"어디 아파"건강 기록 + 병원 추천
"보이스피싱 같아"안전센터 + 경고 + 119 안내
"내일 일정"캘린더 조회 + 음성 안내
"손주 사진 보여줘"가족 앨범 열기
"오늘 날씨"날씨 음성 + 옷차림 추천
"키오스크 못쓰겠어"화상으로 도우미 연결
"자서전 쓸래"인생2막 자서전 모드

기술 구조

1) 음성 입력 (Web Speech API)
2) STT → 텍스트
3) DeepSeek Function Calling → Intent 추출
4) 해당 기능 API 호출
5) 결과를 자연어로 변환 → TTS
6) 화면 표시 + 음성 안내

Wake Word

  • "실벗아", "실벗" 부르면 자동 활성화
  • Picovoice 또는 자체 구현
  • 홈 화면 우하단 플로팅 마이크 버튼으로도 활성화

Function Calling 예시

// DeepSeek Function Calling
const tools = [
  {
    name: 'log_medication',
    description: '사용자가 약을 먹었음을 기록',
    parameters: { medication_name: 'string', taken_at: 'datetime' }
  },
  {
    name: 'call_family',
    description: '가족에게 영상통화 시작',
    parameters: { family_role: 'enum[딸,아들,손주,배우자]' }
  },
  {
    name: 'trigger_sos',
    description: '긴급 SOS 발동 (사용자가 위험하다고 명시할 때만)',
    parameters: {}
  },
  {
    name: 'show_local_events',
    description: '동네 행사 검색',
    parameters: { category: 'string?' }
  }
  // ... 20+ tools
];

async function handleVoice(transcript){
  const r = await deepseek.chat({
    messages:[{role:'user', content:transcript}],
    tools, tool_choice:'auto'
  });
  if(r.tool_calls){
    for(const call of r.tool_calls)
      await executeFunction(call.name, call.arguments);
  }
  speak(r.message); // TTS 응답
}