Tutor-GPT는 Plastic Labs에서 개발한 LLM 기반 학습 동반자입니다. 귀하의 학습 요구 사항에 대해 동적으로 추론하고 귀하에게 가장 적합한 서비스를 제공하기 위해 자체 프롬프트를 업데이트합니다 .
우리는 정신 실험 이론에 의지했고 이제는 단순한 읽기 쓰기 교사 그 이상이며 광범위한 학습 동반자입니다. 여기에서 작동 방식에 대해 자세히 알아보세요.
Tutor-GPT는 Honcho를 통해 강력한 사용자 표현을 구축하고 각 사용자에 대한 개인화된 경험을 생성합니다.
tutor-gpt
의 호스팅 버전은 Benjamin Bloom의 Two Sigma Problem에 대한 고개를 끄덕이면서 Bloom이라고 불립니다.
또는 아래 지침에 따라 자체 봇 인스턴스를 실행할 수 있습니다.
tutorial-gpt 프로젝트는 다양한 클라이언트에 대한 백엔드 로직을 분할하는 여러 다른 모듈로 분할됩니다.
agent/
- 여기에는 핵심 논리와 프롬프트 아키텍처가 포함되어 있습니다.bot/
- 여기에는 불일치 봇 구현이 포함되어 있습니다.api/
- agent/
로직을 노출하는 FastAPI API 인터페이스가 포함되어 있습니다.www/
- API 인터페이스에 연결할 수 있는 NextJS
웹 프런트 엔드가 포함되어 있습니다.supabase/
- 로컬 supabase를 설정하는 데 필요한 SQL 스크립트가 포함되어 있습니다. NextJS 애플리케이션을 제외하고 대부분의 프로젝트는 Python을 사용하여 개발되었습니다. Python의 경우 uv
종속성 관리에 사용되고 웹 인터페이스에는 pnpm
사용합니다.
bot/
및 api/
모듈은 모두 agent/
종속성으로 사용하고 uv
사용하여 로컬 패키지로 로드합니다.
참고 웹 인터페이스에 대한 자세한 내용은 www/README에서 확인할 수 있습니다. 이 README에는 주로 tutorial-gpt의 백엔드와 교사의 핵심 로직에 대한 정보가 포함되어 있습니다.
agent
, bot
및 api
모듈은 모두 uv
작업 공간을 사용하여 관리됩니다.
이 섹션에서는 Tutor-GPT를 실행하기 위해 Python 환경을 설정하는 방법에 대해 설명합니다. 이를 통해 Discord 봇을 실행하거나 FastAPI 애플리케이션을 실행하거나 agent
코드를 개발할 수 있습니다.
아래 명령은 tutorial-gpt 프로젝트를 실행하는 데 필요한 모든 종속성을 설치합니다. 프로젝트의 가상 환경을 설정하려면 uv를 사용하는 것이 좋습니다.
git clone https://github.com/plastic-labs/tutor-gpt.git && cd tutor-gpt
uv sync # set up the workspace
source .venv/bin/activate # activate the virtual environment
여기에서 실행하려는 프로젝트의 일부에 따라 적절한 디렉토리에서 uv sync
실행해야 합니다. 예를 들어 FastAPI 애플리케이션을 실행하려면 디렉터리로 이동하여 동기화를 다시 실행해야 합니다.
cd api/
uv sync
이전에 아직 설치되지 않은 경우 종속성이 해결 및/또는 설치되었음을 나타내는 메시지가 표시됩니다.
또는(권장되는 방법) 이 프로젝트를 docker로 빌드하고 실행할 수 있습니다. 계속 진행하기 전에 docker를 설치하고 실행 중인지 확인하세요.
웹 프런트 엔드는 코드베이스의 나머지 부분과 별도로 구축되고 실행됩니다. 다음은 Discord 봇 또는 FastAPI 엔드포인트를 실행하는 데 필요한 종속성을 포함하는 tutorial-gpt 프로젝트의 핵심을 구축하기 위한 명령입니다.
git clone https://github.com/plastic-labs/tutor-gpt.git
cd tutor-gpt
docker build -t tutor-gpt-core .
마찬가지로 웹 인터페이스를 빌드하려면 아래 명령을 실행하십시오.
tutorial-gpt의 각 인터페이스는 제대로 작동하려면 서로 다른 환경 변수가 필요합니다. bot/
및 api/
모듈에는 시작점으로 사용할 수 있는 .env.template
파일이 포함되어 있습니다. .env.template
복사하고 이름을 .env
로 바꿉니다.
다음은 환경 변수에 대한 자세한 설명입니다.
OPENAI_API_KEY
— OpenAI 호환 API를 사용하는 Openrouter용 API 키MODEL
— 사용할 오픈라우터 모델NextJS 및 fastAPI
URL
— 프런트엔드 Next.js 애플리케이션의 URL 끝점HONCHO_URL
— 사용 중인 Honcho 인스턴스의 기본 URLHONCHO_APP_NAME
— Tutor-GPT에 사용할 Honcho 애플리케이션의 이름선택적 추가 사항
SENTRY_DSN_API
— 선택적 오류 보고를 위한 Sentry DSNBOT_TOKEN
— 디스코드 봇 토큰입니다. pycord 문서에서 봇을 생성하고 토큰을 생성하는 방법에 대한 지침을 찾을 수 있습니다.THOUGHT_CHANNEL_ID
— 봇이 생각을 출력하는 디스코드 채널입니다. 서버에 채널을 만들고 채널을 마우스 오른쪽 버튼으로 클릭한 후 링크를 복사하여 ID를 복사하세요. 채널 ID는 링크의 마지막 숫자 문자열입니다. 선택적으로 Docker 컨테이너를 사용하여 애플리케이션을 로컬로 실행할 수도 있습니다. 다음은 docker 컨테이너 내에 없는 .env
파일을 사용하여 로컬로 discord 봇을 실행하는 명령입니다. docker 컨테이너에 .env
추가하지 않도록 주의하세요. 이는 안전하지 않으며 비밀이 유출될 수 있습니다.
docker run --env-file .env tutor-gpt-core python bot/app.py
webui를 실행하려면 백엔드 FastAPI
와 프런트엔드 NextJS
컨테이너를 별도로 실행해야 합니다. 두 개의 별도 터미널 인스턴스에서 다음 명령을 실행하여 두 애플리케이션을 모두 실행합니다. 현재 동작은 로컬 저장소의 .env
파일을 활용하고 봇을 실행합니다.
docker run -p 8000:8000 --env-file .env tutor-gpt-core python -m uvicorn api.main:app --host 0.0.0.0 --port 8000 # FastAPI Backend
docker run tutor-gpt-web
참고: 코어용 docker 파일의 기본 실행 명령은 FastAPI 백엔드를 실행하므로 docker run --env-file .env tutorial-gpt-core를 실행할 수 있습니다.
이 프로젝트는 완전한 오픈 소스이며 모든 오픈 소스 기여를 환영합니다. 기여를 위한 워크플로는 저장소를 포크하는 것입니다. 문제 탭에서 문제를 주장하거나 새 스레드를 시작하여 작업 중인 기능이나 버그 수정을 나타낼 수 있습니다.
기여를 마친 후 staging
브랜치를 가리키는 PR을 작성하면 프로젝트 관리자가 이를 검토합니다. 변경 사항에 대해 논의하거나 도움을 받으려면 언제든지 우리의 디스코드에 참여하세요.
변경 사항이 승인되고 스테이징에 병합되면 업스트림을 main
으로 진입하기 전에 실시간 테스트 기간을 거치게 됩니다.
Tutor-GPT는 GPL-3.0 라이선스에 따라 라이선스가 부여됩니다. 라이센스 파일에서 자세히 알아보기