Rasa는 텍스트 및 음성 기반 어시스턴트를 구축하기 위해 설계된 오픈소스 대화형 AI 프레임워크입니다. 자연어 이해(NLU), 대화 관리, 다양한 메시징 플랫폼과의 통합을 위한 포괄적인 도구 세트를 제공하여 개발자가 상황에 맞는 대화형 AI 에이전트를 만들 수 있게 합니다. 이 프레임워크는 의도 분류와 엔티티 추출을 위한 Rasa NLU와 대화 관리 및 정책 학습을 위한 Rasa Core라는 두 가지 주요 구성 요소를 중심으로 구축되었습니다.
Rasa는 2016년 독일 회사인 Rasa Technologies GmbH에 의해 처음 출시되었으며, Alan Nichol과 Alex Weidauer가 공동 창업했습니다. 이 프레임워크는 Python으로 작성되었으며 Apache 2.0 라이선스 하에 배포되어 상업적 및 비상업적 용도로 자유롭게 사용할 수 있습니다. Rasa는 많은 다른 대화형 AI 플랫폼과 달리 완전한 온프레미스 배포를 허용한다는 점에서 차별화되며, 이는 엄격한 데이터 개인정보 보호 및 보안 요구 사항이 있는 조직에 특히 매력적입니다.
아키텍처 및 구성 요소
Rasa 프레임워크는 사용자 입력을 처리하고 응답을 생성하기 위해 함께 작동하는 여러 모듈식 구성 요소로 구성됩니다. 핵심 아키텍처에는 토큰화, 특징 추출, 의도 분류, 엔티티 인식과 같은 작업을 처리하는 NLU 파이프라인이 포함됩니다. Rasa Core로 알려진 대화 관리 구성 요소는 정책 기반 접근 방식을 사용하여 현재 대화 상태와 사용자 입력에 따라 다음 작업을 결정합니다.
Rasa는 NLU 파이프라인을 위해 전통적인 머신러닝 모델과 현대적인 Deep learning 접근 방식을 모두 지원합니다. 개발자는 2020년에 도입된 다중 작업 트랜스포머 기반 모델인 DIET 분류기(이중 의도 및 엔티티 트랜스포머)를 포함한 다양한 구성 요소를 선택할 수 있습니다. DIET는 의도 분류와 엔티티 추출을 단일 아키텍처로 결합하여 효율성과 정확성을 향상시킵니다. 대화 관리의 경우 Rasa Core는 훈련 스토리에서 학습하는 메모이제이션 정책과 트랜스포머 기반 임베딩을 사용하여 다음 작업을 예측하는 TED 정책(트랜스포머 임베딩 대화 정책)과 같은 정책을 사용합니다.
개발 워크플로우
Rasa로 대화형 어시스턴트를 만드는 것은 일반적으로 예제 사용자 메시지, 의도, 엔티티, 대화 스토리가 포함된 YAML 또는 Markdown 형식의 훈련 데이터를 정의하는 것을 포함합니다. 이 프레임워크는 모델 훈련, 테스트용 로컬 서버 실행, 채팅 인터페이스를 통한 어시스턴트 상호작용을 위한 명령줄 인터페이스(CLI)를 제공합니다. Rasa는 또한 2019년에 도입된 Rasa X라는 시각적 인터페이스를 제공하여 개발자가 대화를 검토하고, 데이터를 주석 처리하고, 인간 피드백을 통해 모델 성능을 개선할 수 있게 합니다.
이 프레임워크는 사용자 정의 커넥터를 통해 Slack, Facebook Messenger, Telegram과 같은 인기 있는 메시징 플랫폼과 통합됩니다. 음성 기반 어시스턴트의 경우 Rasa는 음성-텍스트 및 텍스트-음성 서비스와 결합될 수 있습니다. Rasa SDK는 외부 API 호출, 데이터베이스 쿼리, 또는 서버 측 로직 수행이 가능한 Python 함수인 사용자 정의 작업의 실행을 가능하게 합니다.
엔터프라이즈 및 커뮤니티 생태계
Rasa는 은행, 보험사, 의료 서비스 제공업체를 포함한 고객을 두고 엔터프라이즈 부문에서 상당한 채택을 얻었습니다. 이 회사는 역할 기반 접근 제어, 배포 자동화, 전용 지원과 같은 추가 기능을 제공하는 상업용 제품인 Rasa Enterprise를 제공합니다. 2021년 Rasa는 StepStone Group이 주도한 시리즈 B 자금 조달 라운드에서 3천만 달러를 모금하여 총 자금을 4천만 달러 이상으로 늘렸습니다.
Rasa 주변의 오픈소스 커뮤니티는 활발하며 전 세계 개발자들의 기여가 이루어지고 있습니다. 이 프레임워크는 포괄적인 문서 사이트, 포럼, 사용자가 모범 사례와 사용자 정의 구성 요소를 공유하는 전용 커뮤니티 공간을 보유하고 있습니다. Rasa는 또한 다양한 사용 사례에 맞게 조정할 수 있는 사전 훈련된 모델 및 파이프라인 컬렉션을 유지 관리하여 초기 개발 노력을 줄입니다.
다른 플랫폼과의 비교
Rasa는 종종 Google의 Dialogflow 및 Microsoft의 Azure Bot Service와 같은 독점 대화형 AI 플랫폼과 비교됩니다. 이러한 클라우드 기반 서비스와 달리 Rasa는 기본 모델과 데이터에 대한 완전한 제어를 제공하며, 이는 온프레미스 배포가 필요하거나 특정 규정 준수 요구 사항이 있는 조직에 핵심적인 이점입니다. 그러나 이러한 유연성은 인프라와 모델 훈련을 직접 관리해야 하므로 기술적 복잡성이 증가하는 대가를 수반합니다.
더 넓은 Artificial intelligence 환경에서 Rasa는 OpenAI 또는 Anthropic이 개발한 것과 같은 일반적인 Large language model 플랫폼과 구별되는 대화형 인터페이스를 위한 특수 도구를 나타냅니다. 대규모 언어 모델은 인간과 유사한 텍스트를 생성할 수 있지만, Rasa는 다중 턴 대화 처리, 컨텍스트 관리, 비즈니스 로직 통합을 위한 구조화된 프레임워크를 제공하며, 이는 순수 생성 모델에게 여전히 과제로 남아 있습니다.
향후 방향
2024년 현재 Rasa 팀은 대화 관리 파이프라인에 대규모 언어 모델 통합을 개선하는 데 초점을 맞추며 프레임워크를 계속 발전시키고 있습니다. 2023년에 도입된 CALM(언어 모델을 사용한 대화형 AI) 접근 방식은 규칙 기반 대화 관리의 강점과 언어 모델의 유연성을 결합하여 보다 자연스럽고 적응 가능한 대화를 가능하게 하는 것을 목표로 합니다. 이 하이브리드 접근 방식은 어시스턴트의 동작에 대한 제어를 유지하면서 광범위한 훈련 데이터의 필요성을 줄이도록 설계되었습니다.
프레임워크의 로드맵에는 NLU 파이프라인 개선, 다국어 모델 지원 강화, 배포된 어시스턴트 테스트 및 모니터링을 위한 도구 개선이 포함됩니다. Rasa의 오픈소스 개발에 대한 헌신과 활발한 커뮤니티는 가까운 미래에도 대화형 AI 분야에서 중요한 플레이어로 남을 것임을 시사합니다.