-
Notifications
You must be signed in to change notification settings - Fork 5
Project Directory
유종열 edited this page Mar 30, 2025
·
1 revision
📂 AInfo-Backend/
│
├── .github/ # GitHub 관련 설정 (CI/CD 및 이슈 템플릿)
│ ├── ISSUE_TEMPLATE/ # GitHub 이슈 템플릿
│ │ ├── bug_report.md # 버그 리포트 양식
│ │ ├── documentation.md # 문서화 관련 템플릿
│ │ └── feature_request.md # 기능 요청 양식
│ │
│ └── workflows/ # GitHub Actions 설정
│ ├── ci.yml # CI 관련 설정
│ └── cd.yml # CD 관련 설정
│
├── accounts/ # 사용자 인증 및 관리
│ ├── migrations/ # DB 마이그레이션 파일
│ ├── templates/ # 메일인증 및 render 를 위한 템플릿
│ │ └── account/
│ │ ├── activate_email.html
│ │ ├── password_reset_email.html
│ │ └── password_reset.html
│ ├── admin.py # Django 관리자 페이지 설정
│ ├── apps.py # 앱 설정 파일
│ ├── models.py # 사용자 관련 모델 정의
│ ├── serializers.py # 데이터 직렬화 로직
│ ├── tasks.py
│ ├── tests.py # accounts 관련 테스트 코드
│ ├── tokens.py # 인증링크 조작 방지를 위한 토큰생성을 위한 파일
│ ├── urls.py # accounts 관련 URL 라우팅
│ └── views.py # accounts 관련 뷰 로직
│
├── chatbot/ # AI 챗봇 관련 기능
│ ├── migrations/ # DB 마이그레이션 파일
│ ├── admin.py # 챗봇 관리자 페이지 설정
│ ├── apps.py # 챗봇 앱 설정 파일
│ ├── consumers.py # WebSocket 컨슈머
│ ├── middleware.py # JWT 인증 미들웨어 (WebSocket 연결 시 인증 처리)
│ ├── models.py # 챗봇 관련 데이터 모델 (선택적으로 사용)
│ ├── routing.py # WebSocket 라우팅 설정
│ ├── retriever.py # RAG 검색 리트리버 (Chroma 등)
│ ├── serializers.py # chatroom 및 메시지 유효성 검사
│ ├── tests.py # 챗봇 기능 테스트 코드
│ ├── urls.py # chatroom REST API 라우팅 설정
│ ├── views.py # chatroom REST API 뷰
│ │
│ ├── langchain_flow/ # LangChain 기반 에이전트 구성
│ │ ├── prompts/ # LangChain 전용 프롬프트 (optional)
│ │ │ └── search_prompt.py
│ │ ├── tools/ # LangChain용 단일 툴 모듈
│ │ │ └── tavily_news_tool.py
│ │ ├── chains/ # 체인 및 Executor 구성
│ │ │ └── news_search_executor.py
│ │ ├── memory.py # 멀티턴 memory 관리
│ │ ├── filter_utils.py # Chroma 필터 문법 변환
│ │ └── run.py # LangChain 최상위 실행 지점
│ │
│ └── crew_wrapper/ # CrewAI 기반 멀티에이전트 구조 구성 디렉토리
│ ├── tests/ # 통합 테스트 코드 디렉토리
│ │ ├── __init__.py
│ │ └── flows/
│ │ ├── __init__.py
│ │ └── test_policy_flow.py # 정책 추천 Flow 테스트 코드
│ │
│ ├── crews/ # 기능별 크루(Crew) 정의 디렉토리
│ │ ├── __init__.py
│ │ ├── compare_crew/ # 비교 분석 크루 (예: 서비스 비교, 정책 비교)
│ │ │ ├── __init__.py
│ │ │ ├── config/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── compare_agent.py # 비교 분석용 에이전트 정의
│ │ │ │ ├── compare_task.py # 비교 Task 정의
│ │ │ │ └── prompts.py # 비교용 프롬프트 정의
│ │ │ └── compare_crew.py # 비교 크루 구성
│ │ ├── rag_crew/ # RAG 기반 정책 추천 크루
│ │ │ ├── __init__.py
│ │ │ ├── config/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── prompts.py # 정책 추천용 프롬프트
│ │ │ │ ├── rag_search_input.py # RAG 검색 입력 스키마 정의
│ │ │ │ ├── rag_search_task.py # RAG 검색 Task 정의
│ │ │ │ └── reg_agent.py # 정책 추천 RAG 에이전트
│ │ │ └── rag_crew.py # RAG 크루 구성
│ │ ├── report_crew/ # 리포트 요약 및 생성 크루
│ │ │ ├── __init__.py
│ │ │ ├── config/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── prompts.py # 보고서 생성용 프롬프트
│ │ │ │ ├── report_agent.py # 보고서 생성 Agent 정의
│ │ │ │ └── report_task.py # 보고서 Task 정의
│ │ │ └── report_crew.py # 리포트 크루 구성
│ │ ├── strategy_crew/ # 맞춤형 전략 제안 크루
│ │ │ ├── __init__.py
│ │ │ ├── config/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── prompts.py # 전략 제안 프롬프트
│ │ │ │ ├── strategy_agent.py # 전략 제안 Agent 정의
│ │ │ │ └── strategy_task.py # 전략 Task 정의
│ │ │ └── strategy_crew.py # 전략 크루 구성
│ │ └── web_crew/ # 웹 검색 기반 정보 수집 크루
│ │ ├── __init__.py
│ │ ├── config/
│ │ │ ├── __init__.py
│ │ │ ├── compare_agent.py # 외부 정보 비교 Agent 정의
│ │ │ ├── compare_task.py # 외부 비교 Task 정의
│ │ │ ├── compare_task.py # 외부 정보 프롬프트
│ │ │ └── prompts.py # 웹 기반 비교 크루 구성
│ │ └── compare_crew.py
│ ├── flows/ # 다양한 크루들의 실행 흐름(Flow) 정의
│ │ ├── __init__.py
│ │ └── policy_flow.py # 정책 추천을 위한 크루 실행 흐름 정의
│ │
│ └── tools/ # CrewAI Task에서 사용하는 공통 툴 정의
│ ├── __init__.py
│ ├── rag_search_tool.py # 벡터 기반 RAG 검색 툴
│ └── web_search_tool.py # 웹 검색용 API 툴
│
├── config/ # 프로젝트 설정 및 환경 변수
│ ├── init.py # 설정 패키지 초기화
│ ├── asgi.py # ASGI 서버 설정
│ ├── celery.py
│ ├── settings.py # Django 프로젝트 설정
│ ├── urls.py # 프로젝트 전체 URL 매핑
│ └── wsgi.py # WSGI 서버 설정
│
├── notifications/ # 메일, 알림 관련 기능
│ ├── migrations/ # DB 마이그레이션 파일
│ ├── admin.py # notifications 관리자 페이지 설정
│ ├── apps.py # notifications 앱 설정 파일
│ ├── models.py # notifications 관련 데이터 모델
│ ├── tasks.py # 비동기 처리를 위한 task 설정
│ ├── tests.py # notifications 기능 테스트 코드
│ ├── urls.py # REST API 라우팅 설정
│ └── views.py # notifications REST API 방식의 뷰
│
├── payments/ # 결제 관련 기능
│ ├── migrations/ # DB 마이그레이션 파일
│ ├── admin.py # payments 관리자 페이지 설정
│ ├── apps.py # payments 앱 설정 파일
│ ├── models.py # payments 관련 데이터 모델
│ ├── tests.py # payments 기능 테스트 코드
│ ├── urls.py # REST API 라우팅 설정
│ └── views.py # payments REST API 방식의 뷰
│
├── data/ # 데이터 관련 폴더
│ └── pdf/ # PDF 데이터 저장
│ └── 2025년_중앙부처_및_지자체_창업지원사업_안내책자.pdf
├── dataload/
│ ├── common.py # ChromaDB 및 임베딩 관련 공통 유틸리티
│ ├── load_data.py # 모든 데이터 로더를 통합 실행하는 메인 스크립트
│ ├── load_employment_data.py # 고용24 API 데이터 로더
│ ├── load_gov24_data.py # 정부24 API 데이터 로더
│ ├── load_pdf_data.py # Kstartup PDF 데이터 로더
│ ├── load_youth_policy_data.py # 청년정책 API 데이터 로더
│ ├── admin.py # dataload 관리자 페이지 설정
│ ├── apps.py # dataload 앱 설정 파일
│ ├── models.py # dataload 관련 데이터 모델
│ ├── tests.py # dataload 기능 테스트 코드
│ ├── tasks.py # 비동기 처리를 위한 task 설정
│ └── views.py # dataload REST API 방식의 뷰
│
│
├── .flake8 # 코드 스타일 규칙
├── .gitignore # Git에 포함되지 않을 파일 설정
├── README.md # 프로젝트 설명 파일
├── manage.py # Django 실행 파일
├── pyproject.toml # Python 프로젝트 설정
└── requirements.txt # 필수 패키지 목록