이 프로젝트는 Langchain의 React-Voice-Agent을 기반으로 하여 OpenAI API를 통해 Realtime 대화를 구현한 프로젝트입니다.
LangChain 도구를 활용하여 모델이 도구를 확장하여 호출할 수 있게 작성되었습니다.
Python 3.10 이상을 실행 중인지 확인한 다음, 프로젝트를 실행할 수 있도록 uv
를 설치하세요.
pip install uv
그리고 OPENAI_API_KEY
와 TAVILY_API_KEY
환경 변수가 설정되어 있는지 확인해주세요.
export OPENAI_API_KEY=your_openai_api_key
export TAVILY_API_KEY=your_tavily_api_key
Note Tavily API 키는 Tavily 검색 엔진을 위한 것이며, 여기에서 API 키를 받을 수 있습니다. 이 도구는 예시일 뿐이므로, 사용하지 않아도 됩니다 (자신만의 도구 추가하기 참조).
다음 명령어를 실행하세요:
uv run src/server/app.py
이제 브라우저를 열고 http://localhost:3000
으로 이동하여 실행 중인 프로젝트를 볼 수 있습니다.
브라우저가 마이크에 접근할 수 있도록 해야 할 수 있습니다.
src/langchain_openai_voice/tools.py
파일에 Tool의 코드를 작성해서 추가해주세요.
src/langchain_openai_voice/prompt.py
파일에 Instruction을 수정해주세요.
WebSocket connection: HTTP 403
- 이 오류는 OpenAI 측의 계정 권한 때문입니다. 계정에 실시간 API에 대한 접근 권한이 없거나 충전금이 부족합니다.
- 우선, 여기에서 실시간 API 접근 권한이 있는지 확인하세요.