Skip to content

1인 창업자부터 기업까지, 모든 규모의 서비스가 사용자 중심으로 발전할 수 있도록

License

Notifications You must be signed in to change notification settings

Proact0/Act2-Marketing

Repository files navigation

Act 2: Education

AI 기반 교육 시스템

프로젝트 소개

Act 2: Education는 LangGraph와 LangChain을 활용한 AI 기반 교육 시스템입니다. 이 프로젝트는 교육 콘텐츠를 자동으로 생성하고 관리할 수 있는 도구를 제공합니다.

주요 기능

  • AI 기반 교육 콘텐츠 생성
  • 포커스 그룹 인터뷰 분석 및 활용
  • Source Person Interview 관리 및 통찰 추출
  • 교육 마케팅 전략 수립 및 콘텐츠 생성
  • LangGraph를 활용한 Workflow 관리

설치 방법

시스템 요구사항

  • Python 3.11 이상
  • uv (의존성 관리)
  • Flake8, Black, Isort (PEP8 스타일 포맷팅)

설치 절차

1. 저장소 클론

$ git clone https://github.com/Proact0/Act2-Marketing.git
$ cd Act2-Marketing

2. uv 설치 (아직 설치되지 않은 경우)

🔗 uv 설치 방법 링크

3. 가상 환경 셋팅

$ uv venv

4. 개발 환경 셋팅

전체 패키지를 전부 설치하고 싶을 때

$ 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"
}

5. LangGraph 서버 실행

$ uv run langgraph dev

서버가 실행되면 다음 URL에서 접근할 수 있습니다:

참고: 이 서버는 개발 및 테스트용으로 설계된 인메모리 서버입니다. 프로덕션 환경에서는 LangGraph Cloud를 사용하는 것이 권장됩니다.

실행 화면

변수에 따른 값 입력 후 실행

  • 각 Agent 별 State에 정의된 Attribute에 따라 변수를 입력합니다.
  • GraphStateagents/{agent_type}/modules/state.py:{state_name}에서 개별 관리됩니다.

실행 화면

  1. 터미널에서 종료
  • window: ctrl + c, macOS: cmd + c

코드 스타일 및 품질 관리

프로젝트는 pre-commit을 사용하여 코드 스타일과 품질을 관리합니다. 다음 툴들이 자동으로 실행됩니다:

  • flake8: 코드 품질 검사
  • black: 코드 포맷팅
  • isort: import 문 정렬
  • uv-lock: 의존성 파일 동기화

pre-commit 설정

  1. pre-commit 초기화:
$ uv run pre-commit install
  1. 모든 파일에 대해 수동으로 실행:
$ uv run pre-commit run --all-files
  1. 커밋 시 자동 실행:
$ git commit -m "your commit message"

참고:

  • pre-commit은 커밋 전에 자동으로 실행되며, 검사에 실패하면 커밋이 중단됩니다. 모든 검사를 통과해야만 커밋이 완료됩니다.
  • VSCode나 Cursor의 Git Graph를 사용하여 커밋할 때도 pre-commit이 자동으로 실행됩니다.
  • Git 클라이언트와 관계없이 모든 커밋 시점에서 pre-commit이 동작합니다.

💡 NOTE:

  • 형식 및 가이드에 맞춰서 Commit Message, Issue, Pull Request를 작성해주세요. 상세 설명은 여기(내부 링크)를 참조하세요 :)
  • 본 프로젝트에서 PR 후 merge하는 경우, github action으로 포맷팅 검사를 진행합니다. vscode 및 cursor에서 포맷팅 세팅은 여기를 참조하세요 :)

About

1인 창업자부터 기업까지, 모든 규모의 서비스가 사용자 중심으로 발전할 수 있도록

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages