Documentation
Please see the documentation <https://digitalphonetics.github.io/adviser/>_ for more details.
Installation
Note: Adviser 2.0은 현재 Linux 및 Mac에서만 테스트됩니다 (M1 칩의 경우 이 파일 하단 근처 섹션을 참조하세요).
(Windows는 WSL2를 사용하거나 아래쪽의 실험적인 Windows 설정 지침을 확인하여 가능합니다)
Downloading the code
만약 기기에 Git이 설치되어 있지 않다면, relases 섹션에서 사용할 수 있는 Adviser 2.0 파일을 다운로드하세요. 그런 다음 압축을 풀고 메인 폴더로 이동하세요.
참고: 이 방법에는 몇 가지 단점(기본적인 텍스트-투-텍스트 터미널 대화만 실행할 수 있음)이 있습니다.
Cloning the repository (recommended)
만약 기기에 Git이 설치되어 있다면, 대신 터미널 창에 다음을 입력하여 리포지토리를 클론할 수 있습니다:
git clone https://github.com/DigitalPhonetics/adviser.git
System Library Requirements
- 음성 입/출력을 사용하려면
hdf5, portaudio, 그리고 sndfile 라이브러리가 설치되어 있는지 확인하세요.
- 함수
services.service.Service.draw_system_graph를 사용하려면 시스템의 패키지 관리자를 통해 graphviz 라이브러리를 설치해야 합니다.
설치할 수 없다면(충분한 사용자 권한이 없음), 스크립트에서 이 함수를 사용하지 마세요.
Ubuntu 예시:
sudo apt-get install graphviz
Mac의 경우, 다음을 실행하여 homebrew를 설치해야 합니다:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
그리고 나서 brew install graphviz를 호출합니다.
다른 OS의 경우 다음 링크를 참조하세요: https://graphviz.gitlab.io/download/.
pip으로 파이썬 요구사항 설치하기
ADvISER는 Python3 환경에서 실행되어야 합니다.
코드를 얻었다면, 상위 디렉토리로 이동하여 requirements_base.txt 파일을 찾을 수 있습니다. 이 파일에는 ADvISER의 기본적인 텍스트-투-텍스트 버전을 실행하는 데 필요한 모든 모듈이 나열되어 있습니다. 아래에 보이는 것처럼 상위 디렉토리에서 가상 환경(virtual environment)을 생성한 다음, 필요한 패키지를 설치할 것을 권장합니다.
- (pip 또는 pip3 필요) 다음 명령어를 실행하여 virtualenv가 설치되었는지 확인하세요:
.. code-block:: bash
python3 -m pip install --user virtualenv
2. 가상 환경 생성 (envname을 원하는 이름으로 대체):
.. code-block:: bash
python3 -m venv <path-to-env>
3. 환경 활성화 (새 터미널 세션에서 ADVISER를 사용하려는 매번 반복해야 함)
.. code-block:: bash
source <path-to-env>/bin/activate
4. 필수 패키지 설치
.. code-block:: bash
pip install -r requirements_base.txt
(참고: ASR / TTS를 사용하려면 requirements_multimodal.txt를 사용하세요)
- adviser 폴더로 이동
.. code-block:: bash
그리고 설치가 제대로 작동하는지 확인하기 위해 다음을 실행합니다:
.. code-block:: bash
python run_chat.py lecturers
텍스트를 입력하여 시스템과 채팅할 수 있습니다 (발화를 확정하려면 Enter 키를 한 번 누르세요) 또는 대화를 종료하려면 bye를 입력합니다 (이후 Enter 키를 한 번 누르세요).
사용 가능한 옵션을 더 보려면 다음을 실행하세요:
.. code-block:: bash
python run_chat.py --help
6. 선택 사항: ASR / TTS 등 멀티모달 기능을 사용하려면, 상위 폴더에서 찾을 수 있는 스크립트 download_models.sh를 통해 모델을 다운로드하세요.
.. code-block:: bash
참고: 이 과정에서는 4단계에서 requirements_multimodal.txt를 설치하는 것도 필요합니다.
ASR(자동 음성 인식)/TTS(텍스트 음성 변환)는 run_chat.py의 명령줄 옵션에 --asr와 --tts를 추가하여 활성화할 수 있습니다 (참고: TTS의 경우, 성능을 극대화하기 위해 CUDA가 활성화된 장치에서 코드를 실행하고 명령줄 옵션에 --cuda를 추가하는 것을 권장합니다).
- 선택 사항: 모든 서비스가 활성화된 상태로 데모를 실행하려면, 6단계가 완료되었고
requirements_multimodal.txt가 설치되었는지 확인하십시오. 그런 다음, 추가 요구사항은 직접 컴파일해야 합니다. 이 작업은 tools/OpenFace/how_to_install.md의 가이드를 따르십시오.
그런 다음, 실행을 시도합니다:
python run_demo_multidomain.py
M1 칩이 장착된 Mac용 지침
일반적으로 pip 대신 conda를 사용하면 모든 것이 작동해야 합니다.
pip 사용자의 경우, 다음 설치 지침이 작동했습니다:
-
위에서 설명한 시스템 라이브러리 요구사항을 설치합니다 (homebrew 사용).
-
추가 요구사항을 설치합니다: brew install rust 및 brew install portaudio
-
pip install -i https://pypi.anaconda.org/numba/label/wheels_experimental_m1/simple numba
-
requirements 파일에서 pyaudio를 제거하고 대신 다음 명령을 실행하여 pyaudio를 설치합니다:
.. code-block:: bash
python -m pip install --global-option='build_ext' --global-option='-I/opt/homebrew/Cellar/portaudio/19.7.0/include' --global-option='-L/opt/homebrew/Cellar/portaudio/19.7.0/lib' pyaudio
4. 위에서 설명한 대로 요구사항 설치를 진행합니다
-
adviser 폴더로 전환합니다: cd adviser (run_chat.py 파일 포함)
-
snd 라이브러리를 현재 폴더에 복사합니다:
.. code-block:: bash
cp /opt/homebrew/lib/libsndfile.dylib
실험적인 Windows 지침
참고: Windows 지원은 아직 충분히 테스트되지 않았으며 실험 단계입니다! 현재는 Windows 11에서만 테스트되었습니다.
파이썬 종속성 설치 시 일부 라이브러리 빌드 실패 오류 메시지가 발생하면 vcc 빌드 도구를 설치하고 실패한 단계를 반복해 보세요 (https://visualstudio.microsoft.com/de/visual-cpp-build-tools/, 설치 프로그램에서 C++용 데스크톱 개발 선택).
-
https://www.anaconda.com/에서 Anaconda를 설치합니다.
중요: 다음 명령어는 반드시 Anaconda 프롬프트에서 실행해야 합니다!
-
conda를 사용하여 python 3.8용 가상 환경을 생성합니다.
(작성 시점에는 최신 파이썬 버전에 대한 사전 컴파일된 pyaudio 패키지가 없습니다)
.. code-block:: bash
conda create -n YOURVIRTUALENV python=3.8
-
https://pytorch.org/get-started/locally/에서 pytorch를 설치합니다.
NVIDIA GPU가 있는 경우, 옵션 build: stable, os0: windows, package: conda, language: python, compute platform: cuda XX.X을 선택하고, 그렇지 않은 경우 platform: cpu를 선택합니다.
-
https://www.sqlite.org/download.html에서 Windows용 sqlite3 사전 컴파일 라이브러리를 다운로드합니다.
압축 해제한 후, sqlite3.dll 파일을 찾을 수 있습니다. 이 파일을 가상 환경의 DLL 폴더(일반적으로 C:\Users\YOURSELF\anaconda3\envs\YOURVIRTUALENV\DLLs\에 위치)로 복사합니다.
-
Windows용 grapviz 설치 프로그램 (버전 4.X)을 다운로드하고 설치합니다: https://www.graphviz.org/download/
다중 모드(multimodal) 설정이 필요하지 않은 경우, 5단계와 6단계는 건너뜁니다.
- pyaudio 사전 컴파일 버전을 설치합니다.
.. code-block:: bash
conda install pyaudio
-
http://adviserresources.ims.uni-stuttgart.de/models/adviser_models.zip에서 학습된 모델을 다운로드하고 adviser/resources/models에 압축 해제합니다 (초기에는 'models' 폴더가 존재하지 않습니다).
-
파일 requirements.txt와 requirements_multimodal.txt에서 torch, torchaudio, PyAudio로 시작하는 줄을 제거합니다.
-
멀티모달 설정을 원한다면 requirements.txt 또는 requirements_multimodal.txt에서 필요한 요구사항을 설치하세요.
문서화 구축 (Building the documentation)
-
requirements_doc.txt에서 Python 패키지를 설치하세요.
-
GitHub Pages에 직접 푸시하려면 PYTHONPATH=./adviser mkdocs build 또는 PYTHONPATH=./adviser mkdocs gh-deploy를 실행하세요.
지원 (Support)
[email protected]로 이메일을 보내 질문할 수 있습니다.
GitHub issues에 버그 보고서 및 기능 요청을 게시할 수도 있습니다.
.. _home:how_to_cite:
인용 방법 (How to cite)
이 소스 코드를 사용하거나 재구현하는 경우, 다음 논문을 인용해 주십시오:
.. code-block:: bibtex
@InProceedings{
title = {ADVISER: A Toolkit for Developing Multi-modal, Multi-domain and Socially-engaged Conversational Agents},
author = {Chia-Yu Li and Daniel Ortega and Dirk V{"a}th and Florian Lux and Lindsey Vanderlyn and Maximilian Schmidt and Michael Neumann and Moritz V{"o}lkel and Pavel Denisov and Sabrina Jenne and Zorica Karacevic and Ngoc Thang Vu},
booktitle = {Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics (ACL 2020) - System Demonstrations},
publisher = {Association for Computational Linguistics},
location = {Seattle, Washington, USA},
year = {2020}
}
라이선스 (License)
Adviser는 GNU GPL 3 라이선스 하에 게시되었습니다.