반응형

현대의 비즈니스 환경은 글로벌화되어 있어, 🌐 다양한 언어와 문화를 가진 사람들이 함께 일하는 경우가 흔합니다. 이런 상황에서 언어의 장벽은 큰 도전으로 다가올 수 있습니다. 이 문제를 해결하고자 'Orca'라는 채팅 플랫폼 봇을 개발하였습니다.

Orca는 다양한 언어를 구사하는 팀원들 사이에서 원활한 의사소통과 협업을 가능하게 하기 위해 설계되었습니다. 이 봇은 고급 생성형 AI와 다국어 번역 기능을 통합, 언어와 문화의 장벽을 낮추어 더 효과적인 팀 작업을 지원합니다.

Orca는 Slack, Discord 등 다양한 채팅 플랫폼에서 활용 가능합니다. 어떤 언어를 사용하더라도, 어디서 작업하더라도 팀원들과 원활하게 소통하고 협업할 수 있습니다. 다양한 기능을 통해 여러분의 팀은 더 높은 생산성과 효율성을 누릴 수 있습니다. 마치 돌을 물에 던져 🌊파도가 일듯, Orca를 통한 커뮤니케이션과 협업은 단순한 대화에서 시작해 점점 퍼져 가며 전체 팀의 작업 효율을 높여 줍니다.


Orca 봇의 디렉토리 구조

Orca/
|-- config/
|   |-- __init__.py
|   |-- default_config.yaml
|-- common/
|   |-- translator.py
|   |-- openai_gpt.py
|   |-- openai_retrieval.py
|   |-- read_file.py
|-- db/
|   |-- db_setting.py
|   |-- db_operations.py
|   |-- reactions_mapping.json
|-- slackbot/
|   |-- __init__.py
|   |-- slack_handlers.py
|   |-- slack_blocks.py
|   |-- slack_modals.py
|-- discordbot/
|   |-- discord_bot.py
|-- main.py
|-- requirements.txt
더보기

config/

  • default_config.yaml: 기본 설정 정보를 저장하는 YAML 파일입니다.

common/

  • translator.py: 다양한 언어로의 번역 기능을 제공합니다.
  • openai_gpt.py: OpenAI의 GPT를 활용한 대화 생성 기능을 담당합니다.
  • openai_retrieval.py: ChatGPT Plugin Retrieval을 이용한 정보 검색을 담당합니다.
  • read_file.py: 파일을 읽어서 정보를 처리합니다.

db/

  • db_setting.py: 데이터베이스 설정을 담당합니다.
  • db_operations.py: 데이터베이스 작업을 수행합니다.
  • reactions_mapping.json: 사용자의 반응에 따른 데이터 매핑을 저장합니다.

slackbot/

  • slack_handlers.py: Slack 이벤트와 메시지 처리를 담당합니다.
  • slack_blocks.py: Slack 블록 요소를 정의합니다.
  • slack_modals.py: Slack 모달을 생성합니다.

discordbot/

  • discord_bot.py: Discord 봇의 로직을 담당합니다.

main.py: 이 파일은 전체 프로그램을 실행하는 엔트리 포인트입니다.
requirements.txt: 프로젝트에 필요한 패키지와 라이브러리가 명시되어 있습니다.

이제부터 Orca의 다양한 기능과 어떻게 이를 활용할 수 있는지에 대해 자세히 알아보겠습니다.


1. Orca 설정 방법

Orca 봇을 처음 사용하시는 경우, 기본 설정⚙️을 위해 다음의 단계를 따라주시면 됩니다.

1) Slash Command 실행: Orca 봇과 상호작용을 시작하려면 채팅창에서 /orca 명령어를 입력합니다.

2) Personal setting 버튼 선택: /orca 명령어를 입력하면 [Ask the AI] 버튼과 [Personal setting] 버튼 중 하나를 선택할 수 있습니다. 여기에서는 기본 설정을 위해 [Personal setting] 버튼을 클릭합니다.

3) 모달 화면: [Personal setting] 버튼을 클릭하면 모달 화면이 활성화됩니다. 이 화면에서 다음과 같은 설정을 할 수 있습니다.

  • 자동 번역 기능: 자동 번역 기능을 활성화 또는 비활성화할 수 있습니다.
  • 사용자 언어 설정: 본인이 사용하는 언어를 설정할 수 있습니다.
  • 번역할 언어 선택: 팀원들과의 소통을 위해 번역할 언어를 선택할 수 있습니다. 다중 번역이 가능하므로 여러 언어를 선택할 수 있습니다.

2. 번역 기능

Orca 봇은 googletrans 라이브러리를 사용하여 실시간 🔄 자동 번역 기능을 제공하고 다양한 언어 설정과 멀티번역이 가능합니다.

1) 실시간 자동 번역
사용자가 텍스트를 입력하면, 하단에 자동으로 번역된 내용이 표시됩니다. 복잡한 과정 없이 단순히 메시지를 보내기만 하면, 선택한 다양한 언어로 번역이 진행됩니다.

2) 멀티번역
선택된 여러 언어로의 번역이 가능하여, 다양한 언어를 사용하는 팀원들과의 커뮤니케이션이 더욱 원활해집니다.

3) 효율성과 시간 절약
기존에는 번역기를 통해 번역한 후, 그 결과를 복사하여 다시 붙여넣어야 했습니다. 그러나 Orca 봇을 통해 이런 번거로움이 사라졌습니다. 메시지를 보내기만 하면, 몇 초 안에 모든 채널의 구성원들이 번역된 내용을 볼 수 있습니다.

하지만 번역에는 한계가 있습니다. 예를들어 “함수의 반환 값은 무엇인가요”라고 입력하면 번역기는 다음과 같이 번역됩니다. 이 번역은 정확하지 않습니다. 번역기는 "함수(function)"를 베트남어로 "기능"이라는 일반적인 의미를 번역했습니다. 이러한 번역은 상대방에게 혼란을 줄 수 있습니다. 또한 이러한 유형의 오류는 특히 기술적 대화에서 빈번하게 발생할 수 있으며, 이 밖에도 번역기는 용어의 정확성, 구문의 복잡성, 컨텍스트 손실, 문화적 차이 등의 이유로 잘못 번역될 수 있습니다.

3. AI Assistance 기능

Orca 봇의 🤖 AI Assistance 기능은 단순한 언어 번역을 넘어, 대화의 맥락과 뉘앙스를 파악하여 더 정확하고 이해하기 쉬운 번역과 함께 설명을 제공합니다.

1) 맥락의 이해와 설명
AI Assistance는 대화의 맥락을 분석하며, 이를 통해 번역의 정확도를 높이고, 대화 참여자들 사이의 미묘한 의미 전달을 돕습니다. 이 기능은 특히 문맥이 중요한 업무 커뮤니케이션에서 큰 도움이 됩니다. 또한, AI Assistance의 결과는 사용자에게만 표시되므로, 상대방에게 물어보기 어려운 내용을 자유롭게 확인할 수 있습니다.

2) 공유
필요한 경우에는 'Expose' 버튼을 통해 이 내용을 다른 대화 참여자와 공유할 수 있습니다.

4. 파일 분석 기능: 문서 요약부터 코드 검사까지

Orca 봇의 파일 분석 기능은 Generate AI의 능력을 활용하여 다양한 파일을 분석하는 서비스를 제공합니다. 더욱 특별한 점은, 분석 결과는 사용자가 설정한 언어로 제공되므로 언어의 장벽 없이 편하게 이용할 수 있습니다.

1) 문서 요약
시간이 부족하거나 긴 문서를 빠르게 이해하고 싶을 때, 이 기능을 이용해 문서를 요약할 수 있습니다. 분석 결과는 단 몇 분 안에 제공되며, 사용자가 설정한 언어로 받을 수 있습니다. 빠른 의사결정과 정보 파악이 가능합니다.

2) 소스코드 검사
구문 및 논리 오류, 코드 리팩토링 및 품질, 성능 최적화, 보안 취약점에 이르기까지 다양한 관점에서 의견을 제공합니다. 코드의 효율성과 가독성뿐만 아니라, Best practices에 대한 지침까지 제공하여 프로젝트의 전반적인 품질을 향상시킬 수 있습니다. 분석 내용 역시 사용자가 설정한 언어로 제공되기 때문에 더욱 편리합니다.

5. Orca 봇의 지능형 업무 지원: AI와 Retrieval AI로 다양한 답변 제공

Orca 봇은 /ask_orca라는 slash command를 통해 사용자들에게 모달 화면을 제공합니다. 이 화면에서는 두 가지 모드, 즉 AI와 Retrieval AI가 선택 가능합니다.

1) AI 모드: ChatGPT로 답변하기
AI 모드에서는 ChatGPT 기술을 활용하여 사용자의 질문에 응답합니다. 이 모드는 자연어 처리 기술을 기반으로 하여, 사용자의 문제를 빠르고 정확하게 이해하고 답변을 제공합니다.

생성형 AI의 기술은 강력하긴 하지만, 일부 한계점이 있습니다. 아래의 예시는 잘못된 답변입니다. 현재까지 생성형 AI는 이미 잘 알려진 문제인 hallucination을 포함하여 한계가 있습니다. 일반적인 정보와 기본적인 질문에 대해 잘 응답할 수 있지만, 특수한 비즈니스 용어나 업무 관련 질문에 대한 답변은 제한적일 수 있고 ChatGPT는 기업이 보유한 특화된 데이터베이스나 내부 문서에 접근하지 못하므로, 그러한 정보에 기반한 질문에는 답변을 제공할 수 없습니다. 또한 실시간 업데이트에 대응하지 못하며, 오래된 정보를 기반으로 답변을 제공합니다. 이런 한계를 극복하기 위해, Orca는 ChatGPT Retrieval Plugin을 이용한 AI 모드를 제공합니다.

2) Retrieval AI 모드: ChatGPT Plugin과 Vector Database 사용
Retrieval AI 모드에서는 ChatGPT Plugin Retrieval과 Vector Database를 활용하여 업무 관련 문서나 데이터를 신속하고 정확하게 검색하여 답변을 제공합니다. 이 모드는 기업의 내부 정보를 안전하게 보호하면서도, 필요한 정보를 즉시 찾아 응답합니다.

  • 유연한 대응: 두 가지 모드를 통해 다양한 업무 상황에 빠르게 대응할 수 있습니다.
  • 정확성과 안전성: 각 모드는 고유의 기술을 활용하여 정확한 정보를 제공하며, 기업의 정보도 철저히 보호됩니다.
  • 실시간 정보 업데이트: Retrieval AI 모드는 새로운 데이터가 추가되거나 갱신될 경우 즉시 반영이 가능합니다.

ChatGPT Retrieval Plugin Architecture

6. Orca 확장성

마지막으로 Orca의 특징 중 하나인 확장성에 대해 말씀드리겠습니다. 이 플랫폼은 다양한 번역 도구, 파일 분석 방법, 그리고 AI Assistance 기능을 통합할 수 있는 구조를 가지고 있어, 기업의 특정 요구에 맞게 사용할 수 있습니다. 그리고 다양한 Slack, Discord와 같은 협업툴에 Add하여 사용할 수 있습니다.

1) 번역 기능 확장
현재 Orca는 googletrans 라이브러리를 이용한 번역 기능을 제공하고 있지만, Papago, DeepL 등 다양한 번역 도구를 추가하여 더 다양하고 정확한 번역 서비스를 제공할 수 있습니다.

2) 파일 분석 확장
현재는 텍스트와 코드 분석을 지원하지만, 향후 엑셀, 이미지 파일 등 다양한 파일 형식의 분석을 추가할 수 있어, 사용자의 요구에 더욱 유연하게 대응할 수 있습니다.

3) AI Assistance 확장
현재는 ChatGPT를 기반으로 한 AI Assistance 기능을 제공하고 있지만, Bard, CLOVA X, Llama 등 다른 AI 모델을 추가함으로써, 더 다양한 지식 기반과 대화 스타일을 제공할 수 있습니다.

반응형