Home 고용노동 공모전-모전 프로젝트 구조
Post
Cancel

고용노동 공모전-모전 프로젝트 구조

Services

Backend(Fast-api)

DB(MySQL)

Nginx

구조

각 디렉토리와 파일의 역할 설명

  1. backend/app/alembic: 데이터베이스 마이그레이션을 위한 Alembic 설정.
  2. backend/app/core: 애플리케이션 설정 및 공통 유틸리티.
  3. backend/app/db: 데이터베이스 관련 코드 (세션 관리, 초기화 등).
  4. backend/app/llm: LangChain 관련 코드 (로더, 벡터 데이터베이스, 에이전트, 그래프).
  5. backend/app/models: SQLAlchemy 모델 정의.
  6. backend/app/routers: FastAPI 라우터 정의.
  7. backend/app/schemas: Pydantic 스키마 정의.
  8. backend/app/dependencies: 의존성 주입 관련 코드.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
.
├── alembic.ini
├── backend
│   ├── Dockerfile
│   ├── app
│   │   ├── __pycache__
│   │   │   └── main.cpython-312.pyc
│   │   ├── alembic
│   │   │   ├── env.py
│   │   │   └── versions
│   │   ├── core
│   │   │   ├── __pycache__
│   │   │   └── config.py
│   │   ├── crud
│   │   │   ├── __pycache__
│   │   │   └── user.py
│   │   ├── db
│   │   │   ├── __pycache__
│   │   │   ├── base.py
│   │   │   ├── init_db.py
│   │   │   └── session.py
│   │   ├── dependencies
│   │   │   ├── __pycache__
│   │   │   └── db.py
│   │   ├── llm
│   │   │   ├── agents
│   │   │   ├── graphs
│   │   │   ├── loaders
│   │   │   └── vectorstores
│   │   ├── main.py
│   │   ├── models
│   │   │   ├── __pycache__
│   │   │   └── user.py
│   │   ├── routers
│   │   │   ├── __pycache__
│   │   │   ├── chatbot.py
│   │   │   └── user.py
│   │   ├── schemas
│   │   │   ├── __pycache__
│   │   │   └── user.py
│   │   └── tests
│   │       └── user_test.py
│   └── environment.yml
├── compose.yaml
├── frontend
│   └── Dockerfile
├── nginx
│   └── nginx.conf
└── proxy
    ├── Dockerfile
    └── nginx.conf

SQLAlchemy

  • Python ORM(Object-Relational Mapping) 라이브러리

Alembic

  • SQLAlchemy를 기반으로 하는 데이터베이스 마이그레이션 도구

역할:

  • 데이터베이스 스키마 마이그레이션:

    • Alembic은 데이터베이스 스키마 변경을 관리
      • 예를 들어, 새로운 테이블을 추가하거나 기존 테이블의 구조를 변경하는 작업을 수행
    • 각 스키마 변경을 마이그레이션 스크립트로 기록
  • 마이그레이션 스크립트 생성:

    • 데이터베이스 스키마 변경 사항을 자동으로 감지하고, 이를 기반으로 마이그레이션 스크립트를 생성
  • 데이터베이스 업그레이드 및 다운그레이드:

    • 마이그레이션 스크립트를 실행하여 데이터베이스 스키마를 업그레이드하거나 다운그레이드
This post is licensed under CC BY 4.0 by the author.

RAG Test Web + 문서(pdf 등) 내 시각 자료와 텍스트의 추출 및 활용 연구

AI talk show 2024