Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ai-x-4-a1-final/narrativa_ml

Narrativa ML Repository
https://github.com/ai-x-4-a1-final/narrativa_ml

openai python

Last synced: about 1 month ago
JSON representation

Narrativa ML Repository

Awesome Lists containing this project

README

        

![NARRATIVA-TITLE](https://github.com/user-attachments/assets/97538156-f202-4b48-8543-9bbf835fda0e)

# Narrativa ML

![Python](https://img.shields.io/badge/Python-v3.12.7-3776AB?style=for-the-badge&logo=python&logoColor=white)
![PyTorch](https://img.shields.io/badge/PyTorch-v2.5.1-EE4C2C?style=for-the-badge&logo=pytorch&logoColor=white)
![FastAPI](https://img.shields.io/badge/FastAPI-v0.115.4-009688?style=for-the-badge&logo=fastapi&logoColor=white)

## πŸ—οΈ ν”„λ‘œμ νŠΈ μ†Œκ°œ

`Narrativa ML`은 AI 기반 μŠ€ν† λ¦¬ 생성 ν”Œλž«νΌμΈ Narrativa ν”„λ‘œμ νŠΈμ˜ AI API λͺ¨λ“ˆμž…λ‹ˆλ‹€.

μ‚¬μš©μžμ˜ μž…λ ₯을 기반으둜 이야기, 이미지, μŒμ•…μ„ μƒμ„±ν•˜λŠ” 톡합 AI μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•©λ‹ˆλ‹€.

### μ£Όμš” κΈ°λŠ₯
- ν…μŠ€νŠΈ 기반 μŠ€ν† λ¦¬ 생성
- μŠ€ν† λ¦¬ 기반 이미지 생성
- λΆ„μœ„κΈ°μ— λ§žλŠ” λ°°κ²½μŒμ•… 생성

## πŸ—οΈ μ„€μΉ˜ κ°€μ΄λ“œ

Narrativa_ML ν”„λ‘œμ νŠΈλ₯Ό 둜컬 ν™˜κ²½μ—μ„œ ν΄λ‘ ν•˜κ³ , λΉŒλ“œ 및 μ‹€ν–‰ν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€.

### 1. ν”„λ‘œμ νŠΈ 클둠
```bash
$ git clone https://github.com/AI-X-4-A1-FINAL/Narrativa_ML.git
$ cd narrativa-ml
```

### 2. ν™˜κ²½ μ„€μ •
> PyTorch 및 기타 μ˜μ‘΄μ„± μ„€μΉ˜λ₯Ό μœ„ν•΄ Minicondaλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 아직 Condaλ₯Ό μ„€μΉ˜ν•˜μ§€ μ•Šμ•˜λ‹€λ©΄, μ•„λž˜ λ§ν¬μ—μ„œ λ‹€μš΄λ‘œλ“œν•˜μ—¬ μ„€μΉ˜ν•˜μ„Έμš”.
+ [Miniconda λ‹€μš΄λ‘œλ“œ](https://conda-forge.org/download/)
```bash
# Python 3.12 λ²„μ „μ˜ κ°€μƒν™˜κ²½ 생성
$ conda create -n narrativa_ml python=3.12

# κ°€μƒν™˜κ²½ ν™œμ„±ν™”
$ conda activate narrativa_ml

# PyTorch μ„€μΉ˜
$ conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

# μ˜μ‘΄μ„± μ„€μΉ˜
$ pip install -r requirements.txt
```

### 3. μ‹€ν–‰
```bash
$ uvicorn main:app --reload

# http://localhost:8000
```

## πŸ—οΈ 브랜치 관리 κ·œμΉ™

### 브랜치 ꡬ쑰
1. **메인 브랜치 (main)**
- ν”„λ‘œλ•μ…˜ 배포용 μ•ˆμ • 브랜치
- PR을 ν†΅ν•΄μ„œλ§Œ 병합 κ°€λŠ₯

2. **개발 브랜치 (dev)**
- 개발 쀑인 κΈ°λŠ₯ 톡합 브랜치
- 배포 μ „ μ΅œμ’… ν…ŒμŠ€νŠΈ 진행

3. **κΈ°λŠ₯ 브랜치 (feat/)**
- μƒˆλ‘œμš΄ κΈ°λŠ₯ 개발용
- λͺ…λͺ…κ·œμΉ™: `feat/{κΈ°λŠ₯λͺ…}`
- 예: `feat/social-login`

4. **κΈ΄κΈ‰ μˆ˜μ • 브랜치 (hotfix/)**
- ν”„λ‘œλ•μ…˜ κΈ΄κΈ‰ 버그 μˆ˜μ •μš©
- λͺ…λͺ…κ·œμΉ™: `hotfix/{이슈번호}`
- 예: `hotfix/critical-bug`

### 브랜치 μ‚¬μš© μ˜ˆμ‹œ
```bash
# κΈ°λŠ₯ 브랜치 생성
git checkout -b feat/social-login

# κΈ΄κΈ‰ μˆ˜μ • 브랜치 생성
git checkout -b hotfix/critical-bug
```

## πŸ—οΈ API 섀계 κ·œμΉ™

### RESTful API ν‘œμ€€

#### HTTP λ©”μ„œλ“œ
- `GET`: 데이터 쑰회
- `POST`: 데이터 생성
- `PUT`: 데이터 μˆ˜μ •
- `DELETE`: 데이터 μ‚­μ œ

#### μƒνƒœ μ½”λ“œ
- `200`: μš”μ²­ 성곡
- `201`: 생성 성곡
- `204`: 성곡 (응닡 데이터 μ—†μŒ)
- `400`: 잘λͺ»λœ μš”μ²­
- `401`: 인증 μ‹€νŒ¨
- `403`: κΆŒν•œ μ—†μŒ
- `404`: λ¦¬μ†ŒμŠ€ μ—†μŒ
- `409`: 데이터 좩돌
- `500`: μ„œλ²„ 였λ₯˜

### μ—”λ“œν¬μΈνŠΈ κ·œμΉ™
- μ†Œλ¬Έμž 및 μΌ€λ°₯ μΌ€μ΄μŠ€ μ‚¬μš©
- λ³΅μˆ˜ν˜• λ¦¬μ†ŒμŠ€ λͺ…사 μ‚¬μš©
- μ˜ˆμ‹œ:
- `/users/{user-id}`
- `/games/{game-id}/sessions`

### νŒŒλΌλ―Έν„° κ·œμΉ™
- 쿼리: 카멜 μΌ€μ΄μŠ€
- `?startDate=2024-11-14`
- 경둜: μΌ€λ°₯ μΌ€μ΄μŠ€
- `/users/{user-id}`

## πŸ—οΈ 디렉토리 ꡬ쑰

```bash
narrativa-ml/
β”œβ”€β”€ api/
β”‚ β”œβ”€β”€ routes/
β”‚ β”‚ β”œβ”€β”€ story.py
β”‚ β”‚ β”œβ”€β”€ image.py
β”‚ β”‚ └── music.py
β”‚ └── dependencies.py
β”œβ”€β”€ core/
β”‚ β”œβ”€β”€ config.py
β”‚ └── security.py
β”œβ”€β”€ models/
β”‚ β”œβ”€β”€ story_generator.py
β”‚ β”œβ”€β”€ image_generator.py
β”‚ └── music_generator.py
β”œβ”€β”€ tests/
β”‚ └── test_api.py
β”œβ”€β”€ main.py
└── requirements.txt
```

## πŸ—οΈ νŒ€ 정보

### **Team Member**


st
hs
hy


js
se
ys

## πŸ—οΈ 문의 및 κΈ°μ—¬

ν”„λ‘œμ νŠΈμ— λŒ€ν•œ λ¬Έμ˜μ‚¬ν•­μ΄λ‚˜ κ°œμ„  μ œμ•ˆμ€ 이슈 탭에 λ“±λ‘ν•΄μ£Όμ„Έμš”.

κΈ°μ—¬λ₯Ό μ›ν•˜μ‹œλŠ” 뢄은 Fork & Pull Requestλ₯Ό 톡해 μ°Έμ—¬ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

## πŸ—οΈ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” [MIT λΌμ΄μ„ μŠ€](LICENSE)λ₯Ό λ”°λ¦…λ‹ˆλ‹€.




![footer](https://github.com/user-attachments/assets/c30abbd9-8e89-4a4e-8823-33fe0cf843c9)