AI 기반 교육 시스템
Act 2: Education는 LangGraph와 LangChain을 활용한 AI 기반 교육 시스템입니다. 이 프로젝트는 교육 콘텐츠를 자동으로 생성하고 관리할 수 있는 도구를 제공합니다.
- AI 기반 교육 콘텐츠 생성
- 포커스 그룹 인터뷰 분석 및 활용
- Source Person Interview 관리 및 통찰 추출
- 교육 마케팅 전략 수립 및 콘텐츠 생성
- LangGraph를 활용한 Workflow 관리
- Python 3.11 이상
- uv (의존성 관리)
- Flake8, Black, Isort (PEP8 스타일 포맷팅)
$ git clone https://github.com/Proact0/Act2-Marketing.git
$ cd Act2-Marketing
$ uv venv
전체 패키지를 전부 설치하고 싶을 때
$ uv sync --all-packages
- pyproject.toml의 [tool.uv.workspace] 설정을 참고하여 PACKAGE NAME에 기입
$ uv sync --package <PACKAGE NAME>
ex) marketing의 경우
$ uv sync --package marketing
- langgraph.json에 노드 수정 (예:Marketing만 설치할 경우)
{
"dependencies": ["."],
"graphs": {
"main": "./agents/workflow.py:main_workflow",
// "focus_group_interview": "./agents/focus_group_interview/workflow.py:focus_group_interview_workflow",
"marketing": "./agents/marketing/workflow.py:marketing_workflow"
// "source_person_interview": "./agents/source_person_interview/workflow.py:source_person_interview_workflow"
},
"env": ".env"
}
$ uv run langgraph dev
- API: http://127.0.0.1:2024
- Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
- API 문서: http://127.0.0.1:2024/docs
참고: 이 서버는 개발 및 테스트용으로 설계된 인메모리 서버입니다. 프로덕션 환경에서는 LangGraph Cloud를 사용하는 것이 권장됩니다.
실행 화면
- 각 Agent 별
State
에 정의된 Attribute에 따라 변수를 입력합니다. GraphState
는agents/{agent_type}/modules/state.py:{state_name}
에서 개별 관리됩니다.
- 터미널에서 종료
- window:
ctrl + c
, macOS:cmd + c
프로젝트는 pre-commit을 사용하여 코드 스타일과 품질을 관리합니다. 다음 툴들이 자동으로 실행됩니다:
- flake8: 코드 품질 검사
- black: 코드 포맷팅
- isort: import 문 정렬
- uv-lock: 의존성 파일 동기화
- pre-commit 초기화:
$ uv run pre-commit install
- 모든 파일에 대해 수동으로 실행:
$ uv run pre-commit run --all-files
- 커밋 시 자동 실행:
$ git commit -m "your commit message"
참고:
- pre-commit은 커밋 전에 자동으로 실행되며, 검사에 실패하면 커밋이 중단됩니다. 모든 검사를 통과해야만 커밋이 완료됩니다.
- VSCode나 Cursor의 Git Graph를 사용하여 커밋할 때도 pre-commit이 자동으로 실행됩니다.
- Git 클라이언트와 관계없이 모든 커밋 시점에서 pre-commit이 동작합니다.