이슈를 Jira로 마이그레이션하는 중입니다.
2023년 1월부터 Rasa Open Source의 이슈는 이 Jira 보드에 있습니다. 로그인하지 않고도 이슈를 찾아볼 수 있습니다. 이슈를 생성하려면 Jira 계정을 생성해야 합니다.
Rasa는 텍스트 및 음성 기반 대화를 자동화하는 오픈 소스 기계 학습 프레임워크입니다. Rasa를 사용하면 다음과 같은 상황별 도우미를 구축할 수 있습니다.
또는 다음과 같은 음성 도우미:
Rasa는 앞뒤로 여러 번 계층화된 대화를 나눌 수 있는 상황별 도우미를 구축하는 데 도움을 줍니다. 인간이 상황별 어시스턴트와 의미 있는 교환을 하려면 어시스턴트는 컨텍스트를 사용하여 이전에 논의된 내용을 기반으로 구축할 수 있어야 합니다. Rasa를 사용하면 확장 가능한 방식으로 이를 수행할 수 있는 어시스턴트를 구축할 수 있습니다.
이 블로그 게시물에는 더 많은 배경 정보가 있습니다.
? 라사에 대해 더 알아보기
? 문서 읽기
? 라사 설치
학습 센터에 대해 더 자세히 알아보세요.
? 기여하다
❓ 엔터프라이즈급 지원 받기
? 상용 플랫폼의 기능을 살펴보세요
Rasa를 활용한 연구 논문에 대해 자세히 알아보세요.
Rasa Docs에는 광범위한 문서가 있습니다. 설치한 버전에 대한 문서를 볼 수 있도록 올바른 버전을 선택했는지 확인하세요.
질문에 대한 빠른 답변을 원하시면 Rasa 커뮤니티 포럼을 이용해 주세요.
귀하의 기여를 받아 이 저장소에 병합하게 되어 매우 기쁩니다!
풀 요청을 통해 기여하려면 다음 단계를 따르세요.
코드 기여 방법에 대한 자세한 지침은 코드 기여자 지침을 확인하세요.
저희 웹사이트에서 Rasa에 기여하는 방법(다양한 방법으로!)에 대한 자세한 정보를 찾을 수 있습니다.
귀하의 끌어오기 요청은 관리자가 검토한 후 필요한 변경 사항이나 질문에 대해 귀하에게 연락할 것입니다. 또한 기여자 라이센스 계약에 서명하라는 메시지가 표시됩니다.
Rasa는 패키징 및 종속성 관리를 위해 Poetry를 사용합니다. 소스에서 빌드하려면 먼저 Poetry를 설치해야 합니다. 가능한 모든 옵션을 보려면 공식 가이드를 따르세요.
기존 시 버전을 현재 rasa에서 사용되는 버전으로 업데이트하려면 다음을 실행하세요.
poetry self update < version >
공식 Poetry 가이드에서는 pyenv 또는 기타 유사한 도구를 사용하여 Python 버전 간에 쉽게 전환할 것을 제안합니다. 이것이 수행되는 방법입니다:
pyenv install 3.10.10
pyenv local 3.10.10 # Activate Python 3.10.10 for the current project
참고 : 시스템에 특정 버전의 Python을 설치하는 데 문제가 있는 경우 지원되는 다른 버전을 시도해 볼 가치가 있습니다.
기본적으로 Poetry는 현재 활성화된 Python 버전을 사용하여 현재 프로젝트에 대한 가상 환경을 자동으로 생성하려고 시도합니다. 가상 환경을 수동으로 생성하고 활성화할 수도 있습니다. 이 경우 Poetry는 이를 선택하여 종속성을 설치하는 데 사용해야 합니다. 예를 들어:
python -m venv .venv
source .venv/bin/activate
실행하여 환경이 선택되었는지 확인할 수 있습니다.
poetry env info
편집 가능 모드에서 종속성과 rasa
자체를 설치하려면 다음을 실행하십시오.
make install
macOS 사용자를 위한 참고 사항 : macOS Big Sur에서는 종속성에 대한 몇 가지 컴파일러 문제가 확인되었습니다. 설치가 도움이 되기 전에 export SYSTEM_VERSION_COMPAT=1
사용하십시오.
rasa의 선택적 종속성을 설치하려면 다음을 실행해야 합니다.
make install-full
macOS 사용자를 위한 참고 사항 : make install-full
명령을 사용하면 tokenizers
설치하는 동안 오류가 발생할 수 있습니다(여기에서 자세히 설명된 문제).
이 문제를 해결하려면 다음 단계에 따라 Rust 컴파일러를 설치해야 합니다.
brew install rustup
rustup-init
Rust 컴파일러를 초기화한 후 콘솔을 다시 시작하고 설치를 확인해야 합니다.
rustc --version
PATH 변수가 자동으로 설정되지 않은 경우 다음을 실행하십시오.
export PATH= " $HOME /.cargo/bin: $PATH "
우선, 필요한 모든 종속성을 설치하십시오.
make install install-docs
설치가 완료된 후 다음을 사용하여 로컬에서 설명서를 실행하고 볼 수 있습니다.
make livedocs
브라우저에서 문서의 로컬 버전이 포함된 새 탭이 열립니다. 그렇지 않은 경우 브라우저에서 http://localhost:3000을 방문하세요. 이제 로컬에서 문서를 변경할 수 있으며 웹페이지가 자동으로 다시 로드되어 변경 사항을 적용합니다.
테스트를 실행하려면 개발 요구 사항이 설치되어 있는지 확인하세요.
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
그런 다음 테스트를 실행합니다.
make test
시간을 절약하기 위해 여러 작업에서 실행할 수도 있습니다.
JOBS=[n] make test
여기서 [n]
원하는 작업 수입니다. 생략하면 [n]
이 pytest에 의해 자동으로 선택됩니다.
통합 테스트를 실행하려면 개발 요구 사항이 설치되어 있는지 확인하세요.
make prepare-tests-ubuntu # Only on Ubuntu and Debian based systems
make prepare-tests-macos # Only on macOS
그런 다음 Docker Compose를 사용하는 다음 명령을 사용하여 서비스를 시작해야 합니다.
make run-integration-containers
마지막으로 다음과 같이 통합 테스트를 실행할 수 있습니다.
make test-integration
Poetry에는 기본적으로 잠금 파일 poetry.lock
의 병합 충돌을 해결하는 데 도움이 될 수 있는 솔루션이 포함되어 있지 않습니다. 그러나 poem-merge-lock이라는 훌륭한 도구가 있습니다. 설치 방법은 다음과 같습니다.
pip install poetry-merge-lock
poetry.lock
의 병합 충돌을 자동으로 해결하려면 다음 명령을 실행하세요.
poetry-merge-lock
로컬 머신에 Docker 이미지를 빌드하려면 다음 명령을 실행하십시오.
make build-docker
Docker 이미지는 로컬 머신에서 rasa:localdev
로 사용할 수 있습니다.
표준화된 코드 스타일을 보장하기 위해 포맷터 검정을 사용합니다. 유형 주석이 올바른지 확인하기 위해 유형 검사기 pytype을 사용합니다. 코드의 형식이 올바르지 않거나 검사를 입력하지 않으면 GitHub가 빌드되지 않습니다.
커밋할 때마다 자동으로 코드 형식을 지정하려면 사전 커밋을 사용할 수 있습니다. pip install pre-commit
통해 설치하고 루트 폴더에서 pre-commit install
실행하면 됩니다. 이렇게 하면 커밋할 때마다 파일 형식을 다시 지정하는 후크가 저장소에 추가됩니다.
수동으로 설정하려면 poetry install
통해 black을 설치하세요. 파일을 다시 포맷하려면 다음을 실행하세요.
make formatter
코드베이스에서 유형을 확인하려면 poetry install
사용하여 mypy
설치하세요. 유형을 확인하려면 실행
make types
우리는 Docusaurus v2
사용하여 태그가 지정된 버전과 main
분기에 대한 문서를 작성합니다. Docusaurus를 실행하려면 Node.js 12.x
설치하세요. 구축된 정적 사이트는 이 저장소의 documentation
분기로 푸시됩니다.
우리는 netlify에서 사이트를 호스팅하고 있습니다. main
브랜치 빌드( .github/workflows/documentation.yml
참조)에서는 빌드된 문서를 documentation
브랜치에 푸시합니다. Netlify는 해당 분기가 변경될 때마다 문서 페이지를 자동으로 재배포합니다.
Rasa는 버전 이름 지정과 메이저, 마이너 및 패치 릴리스의 릴리스 속도를 관리하는 강력한 정책을 구현했습니다.
지정된 버전 번호(MAJOR.MINOR.PATCH)의 값은 다음과 같이 증가됩니다.
다음 표에서는 버전 유형과 예상 출시 주기를 설명합니다.
버전 유형 | 설명 | 목표 케이던스 |
---|---|---|
주요한 | 중요한 변경 사항이 있거나 이전 버전과 호환되지 않는 변경 사항이 API 또는 데이터 모델에 도입된 경우. | 1~2년마다 |
미성년자 | 새로운 이전 버전과 호환되는 기능이 도입되면 사소한 기능이 도입되거나 더 작은 기능 세트가 출시되는 경우입니다. | +/- 분기별 |
반점 | 잘못된 동작을 수정하는 이전 버전과 호환되는 버그 수정입니다. | 필요에 따라 |
이 표는 목표 출시 빈도를 나타내지만 변화하는 시장 상황과 기술 요구 사항에 따라 수정할 권리가 있습니다.
당사의 수명 종료 정책은 특정 릴리스가 지원되는 것으로 간주되는 기간과 릴리스가 아직 개발 또는 유지 관리 중인 것으로 간주되는 기간을 정의합니다.
모든 릴리스의 유지 관리 기간과 수명 종료는 제품 출시 및 유지 관리 정책의 일부로 당사 웹사이트에 표시됩니다.
주요 릴리스가 완료된 후 다음 지침에 따라 설명서 업데이트를 완료하십시오.
패키지는 GitHub Actions에 의해 빌드 및 배포되므로 새 버전을 출시하는 것은 매우 간단합니다.
릴리스 단계 :
git checkout -b 1.2.x
git push origin 1.2.x
main
, 마이너 및 패치의 경우 <major>.<minor>.x
브랜치).pyproject.toml
의 rasa-sdk
항목을 새 릴리스 버전으로 업데이트하고 poetry update
실행하세요. 그러면 모든 종속성이 해결된 새로운 poetry.lock
파일이 생성됩니다.git commit -am "bump rasa-sdk dependency"
사용하여 변경 사항을 커밋하되 푸시하지는 마세요. 다음 단계에 따라 자동으로 선택됩니다.make release
실행1.2.x
)에 대한 PR 생성git checkout 1.2.x
git pull origin 1.2.x
git tag 1.2.0 -m " next release "
git push origin 1.2.0 --tags
product
채널)에 다음과 같은 메시지가 자동으로 게시되는 것을 볼 수 있습니다.event: push
및 branch: <version number>
(릴리스 2.4의 예는 여기에서 볼 수 있습니다)product
채널에 올바르게 게시된 후 이와 같은 Rasa 오픈 소스 릴리스와 관련된 경고가 있는지 product-engineering-alerts
채널에서도 확인하세요.패치 릴리스는 버그 수정만 포함하기 때문에 자르기가 더 간단합니다.
패치 릴리스를 잘라내기 위해 수행해야 할 유일한 작업은 다음과 같습니다.
2.0.4
패치를 자르는 경우 2.0.x
릴리스 브랜치에 수정 사항이 있어야 합니다). 모든 패치 릴리스는 .x
브랜치에서 나와야 합니다!make release
실행한 후 단계를 따르고 PR을 병합하세요..x
브랜치를 다시 당기고 태그를 푸시하세요!참고: 이는 릴리스된 버전이 사용 가능한 최고 버전인 경우에만 필요합니다. 예를 들어, 기본 버전 > 버전인 경우 다음 단계를 수행합니다.
새로 출시된 Rasa 버전과 최신 버전의 Rasa X/Enterprise 간의 호환성을 확인하기 위해 다음 단계를 수행합니다.
Rasa 제품 출시 및 유지 관리 정책 페이지를 참조하세요.
Apache 라이센스 버전 2.0에 따라 라이센스가 부여되었습니다. 저작권 2022 Rasa Technologies GmbH. 라이센스 사본.
프로젝트 종속성의 라이센스 목록은 라이브러리 요약 하단에서 확인할 수 있습니다.