설치 및 설정 방법 - ssingi/open-source-project GitHub Wiki

필수 조건 :

  • 운영 체제 : Windows 10 이상 / macOS / Linux
  • Python 3.10 이상
  • VS Code 설치
  • Google Cloud Platform 계정 (Gemini API 키 필요) 및 Discord Developr Portal에서 생성한 봇 토큰 -> 자세한 내용은 API 사용법 확인

설치 단계 :

  • 프로젝트 클론 - git clone https://github.com/ssingi/open-source-project.git git clone

  • 필요한 패키지 설치 - pip install -r requirements.txt pip install -r requirements

  • 가상환경 설정 - python -m venv venv / source venv/bin/activate #Windows는 venv\Scripts\activate

환경 설정 :

.env 파일 예시
# .env
GEMINI_API_KEY=your_google_api_key
DISCORD_TOKEN=your_discord_token
config.yml 파일 예시
version: "3.1"

recipe: default.v1 # Rasa에서 제공하는 기본 레시피(설정 템플릿) 사용
assistant_id: 20250509-001644-burgundy-martin # (자동 생성된 챗봇 고유 ID)

language: ko

# 사용자의 입력을 처리하는 단계별 구성(파이프라인)
pipeline:
  - name: WhitespaceTokenizer           # 문장을 띄어쓰기 기준으로 나눔
  - name: RegexFeaturizer               # 정규표현식 기반 특징 추출
  - name: LexicalSyntacticFeaturizer    # 문법적 특징 추출
  - name: CountVectorsFeaturizer        # 단어/문자 빈도 기반 특징 추출
    analyzer: "char_wb"                 # 문자 단위로 분석
    min_ngram: 1                        # 최소 n-gram 크기
    max_ngram: 4                        # 최대 n-gram 크기
  - name: RegexEntityExtractor          # 정규표현식으로 엔티티 추출
  - name: DIETClassifier                # 의도(intent)와 엔티티(entity) 분류를 위한 딥러닝 모델
    epochs: 100                         # 학습 반복 횟수
    entity_recognition: True            # 엔티티 인식 활성화
  - name: EntitySynonymMapper           # 엔티티의 동의어 처리
  - name: ResponseSelector              # 적절한 답변(response) 선택
    epochs: 100
  - name: FallbackClassifier            # 챗봇이 이해하지 못할 때 fallback(예비 답변) 처리
    threshold: 0.5                      # 의도 인식 신뢰도 임계값
    ambiguity_threshold: 0.1            # 애매한 경우 처리 임계값
    fallback_intent_name: "fallback"    # fallback으로 사용할 intent 이름

# 대화 정책(챗봇이 어떤 규칙/기억/학습을 바탕으로 대화를 이어갈지)에 대한 설정
policies:
  - name: RulePolicy                      # 규칙 기반 정책(정해진 규칙대로 동작)
  - name: MemoizationPolicy               # 과거 대화(시나리오) 기억
  - name: UnexpecTEDIntentPolicy          # 예상치 못한 의도 처리
    max_history: 5                        # 최근 5개의 대화만 기억
    epochs: 100                           # 학습 반복 횟수
  - name: TEDPolicy                       # 대화 흐름을 예측하는 딥러닝 정책
    max_history: 5
    epochs: 100
⚠️ **GitHub.com Fallback** ⚠️