나는 파이썬으로 Knowledge Graphs, BERT Emotion Detection, Face Recognition, NASA API를 활용해 실제 JARVIS를 구축했습니다

발행: (2026년 2월 28일 오후 11:55 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

소개

아이언맨을 보면서 “나도 실제로 만들 수 있을까?”라고 생각한 적 있나요? 저는 만들었고, 몇 달간 작업한 결과가 여기 있습니다.
GitHub 저장소

이렇게 만들게 된 이유

JARVIS가 세션을 넘어 나에 대한 정보를 기억하도록 하고 싶었고, 그 결과 프로젝트를 차별화하는 세 가지 핵심 아키텍처 결정을 내리게 되었습니다.

개인 지식 그래프 (NetworkX)

import networkx as nx

pythonG = nx.DiGraph()
pythonG.add_node(
    "User",
    type="Person",
    name="YOUR_NAME",
    age="YOUR_AGE"
)

“내가 가장 좋아하는 영화가 뭐야?”라고 물으면 JARVIS는 하드코딩된 변수를 찾는 대신 그래프를 탐색해 답을 찾아냅니다. 새로운 사실과 관계를 추가하는 것이 매우 간단해집니다—노드와 엣지만 추가하면 됩니다.

감정 및 의도 감지를 위한 BERT

시스템은 HuggingFace Transformers의 BERT 모델을 사용해 사용자 의도와 감정 톤을 감지합니다.

얼굴 및 제스처 인식 (OpenCV)

OpenCV가 얼굴 감지와 제스처 인식을 담당해 보다 자연스러운 상호작용을 가능하게 합니다.

할 수 있는 일

  • 🧠 개인 지식 그래프 — 선호도, 생일, 관계 등을 기억
  • Google Speech Recognition을 통한 음성 입력
  • pyttsx3를 이용한 음성 출력
  • NLTK VADER를 활용한 감정 분석
  • NASA API를 통한 우주 데이터 조회
  • Ollama를 통한 선택적 로컬 LLM 지원

기술 스택

구성 요소기술
언어Python 3.8+
NLP / 의도BERT (HuggingFace Transformers)
감정 분석NLTK VADER
지식 그래프NetworkX
컴퓨터 비전OpenCV
음성 입력Google Speech Recognition
음성 출력pyttsx3
우주 데이터NASA API
로컬 LLM (선택)Ollama

현재 제한 사항

  • Windows 전용: os.startfiletaskkill을 사용하기 때문에 Windows에만 동작합니다. 크로스 플랫폼 지원이 다음 큰 목표입니다.

앞으로의 계획

  • Linux 및 macOS용 크로스 플랫폼 지원 추가
  • 지식 그래프 아키텍처 개선

직접 사용해 보기

GitHub 저장소

피드백

피드백을 환영합니다—특히 지식 그래프 아키텍처에 관한 의견을 주세요. 이 사용 사례에 NetworkX가 적절한 선택일까요? 다른 방식을 선택하셨다면 알려주세요. 아래에 댓글을 남겨 주세요.

0 조회
Back to Blog

관련 글

더 보기 »

일이 정신 건강 위험이 될 때

markdown !Ravi Mishrahttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fu...