--- title: test emoji: 🚀 colorFrom: blue colorTo: green sdk: gradio sdk_version: 4.42.0 app_file: work/spaces/test/app.py pinned: false --- > 🔔上記はHuggingfaceのSpacesの設定です。 Spacesを作成する場合は各リポジトリごとに以上を書き換えてください。 詳細な説明は[Huggingface Spacesの設定](#huggingface-spacesの設定)にて記載しています。 # 🚀 Almondo PoC Template このリポジトリは、PoCプロジェクトのための包括的なテンプレートです。本READMEでは、プロジェクトのセットアップから開発プロセス、ディレクトリ構造まで、詳細かつ分かりやすく説明します。 ## 📑 目次 - [🚀 Almondo PoC Template](#-almondo-poc-template) - [📑 目次](#-目次) - [🛠 セットアップ](#-セットアップ) - [前提条件](#前提条件) - [セットアップ手順](#セットアップ手順) - [Dockerの基本操作](#dockerの基本操作) - [パッケージの管理](#パッケージの管理) - [🔄 開発の手順](#-開発の手順) - [開発フロー](#開発フロー) - [📂 ディレクトリ構造](#-ディレクトリ構造) - [主要ディレクトリの説明](#主要ディレクトリの説明) - [`work/`](#work) - [`data/`](#data) - [VSCode上での作業(Dev container)](#vscode上での作業dev-container) - [前提条件](#前提条件-1) - [🔧 セットアップ手順](#-セットアップ手順) - [1️⃣ 拡張機能のインストール](#1️⃣-拡張機能のインストール) - [2️⃣ プロジェクトを開く](#2️⃣-プロジェクトを開く) - [3️⃣ Dev Containerの設定](#3️⃣-dev-containerの設定) - [4️⃣ Dev Container内でプロジェクトを再オープン](#4️⃣-dev-container内でプロジェクトを再オープン) - [5️⃣ 開発開始](#5️⃣-開発開始) - [Huggingface Spacesの設定](#huggingface-spacesの設定) ## 🛠 セットアップ #### 前提条件 - git,dockerのインストール #### セットアップ手順 1. **リポジトリのクローン** ```bash git clone [リポジトリのurl] cd [ディレクトリ名] ``` 2. **デフォルトブランチの確認** ```bash git branch ``` > 💡 `develop`ブランチがアクティブであることを確認してください。 ``` * develop main ``` 3. **環境設定ファイルの作成** ```bash cp .env.dev.template .env.dev ``` > ⚠️ `.env.dev`ファイルを編集し、必要な環境変数を設定してください。 4. **Dockerコンテナの起動** ```bash docker-compose run development bash ``` > 🔔 初回実行時はイメージのビルドが行われるため、時間がかかる場合があります。 5. **パッケージのインストール** ```bash poetry install ``` > 📘 これにより、`pyproject.toml`に定義された全ての依存パッケージがインストールされます。 ### Dockerの基本操作 | コマンド | 説明 | | -------------------------------------- | -------------------------- | | `docker ps` | 実行中のコンテナ一覧を表示 | | `docker compose exec development bash` | 実行中のコンテナに接続 | | `docker-compose down` | コンテナを停止し削除 | ### パッケージの管理 Poetryを使用してパッケージを管理します。 - **パッケージの追加**: ```bash poetry add [パッケージ名] ``` - **パッケージの削除**: ```bash poetry remove [パッケージ名] ``` - **lock fileの更新**: ```bash poetry lock ``` > 📝 パッケージの追加や削除を行った後は必ずlock fileを更新して、poetry.lockとpyproject.tomlの差分をコミットしてください ## 🔄 開発の手順 本プロジェクトでは、効率的かつ体系的な開発を行うため、Issue driven開発手法を採用しています。 > 📚 詳細は[Issue driven運用のドキュメント](https://www.notion.so/Issue-driven-5378336f66c243f7933b52a15ce15ee7)をご参照ください。 ### 開発フロー 1. **Issueの作成** - リポジトリの「Issues」タブから新規Issueを作成 - タスクの詳細、目的、期待される結果を明確に記述 2. **ブランチの作成** 作成したIssueからGUI上でbranchを作成してください - 命名規則: - 新機能追加: `feature/[機能名]` - バグ修正/改善: `fix/[修正内容]` 3. **開発作業** GUI上で作成したbranchをローカルにfetchします ```bash git fetch origin git checkout [branch名] ``` - コードの実装 - ユニットテストの作成・実行 4. **変更内容のコミットとプッシュ** blackとisortをコミット前に実行 ```bash isort . black . git add . git commit -m "commit message" git push origin [branch名] ``` 6. **プルリクエスト(PR)の作成** - GitHub上で「Compare & pull request」ボタンをクリック - PRの説明を記入する 7. **コードレビュー** - PjMがコードをチェック - フィードバックがある場合は修正を行い、再度プッシュ 8. **マージと後処理** - レビュー承認後、GUI上で`develop`ブランチにマージ - GUI上で作業ブランチの削除 > 💡 **Tip**: 常に`develop`ブランチの最新状態を維持するよう心がけましょう。作業開始前に以下のコマンドを実行することをおすすめします: > ```bash > git checkout develop > git pull origin develop > git switch [branch名] > git merge —no-ff develop > ``` ## 📂 ディレクトリ構造 ``` root/ ├── .github/ │ └── workflows/ # CI/CDワークフロー定義 │ └── pysen-python-app.yaml ├── data/ # データ関連ファイル (Gitで管理されません) │ ├── models/ # 学習済みモデル (.pth等) │ ├── preprocessed/ # 前処理済みデータ (CSV等) │ ├── raw/ # 生データ (提供されたExcel等) │ └── results/ # 解析結果 ├── work/ # プロジェクトのメインコード │ ├── example/ # デモやサンプルコード │ ├── experiments/ # 実験用コード │ ├── src/ # 共通ライブラリやユーティリティ │ └── tests/ # テストコード ├── .env.dev.template # 開発環境変数テンプレート ├── .gitignore # Git除外設定 ├── Dockerfile # Dockerイメージ定義 ├── README.md # プロジェクト説明 (本ファイル) ├── docker-compose.yml # Docker Compose設定 ├── entrypoint.sh # Dockerエントリーポイントスクリプト ├── poetry.lock # 依存関係ロックファイル ├── pyproject.toml # Poetryプロジェクト設定 └── LICENSE # ライセンス情報 ``` ### 主要ディレクトリの説明 #### `work/` - **example/**: クリーンなデモ用コード、Spaces用スクリプトなど - **experiments/**: 実験的コードや一時的なスクリプト - **src/**: プロジェクト共通の基本クラスやユーティリティ - **tests/**: 単体テストコード #### `data/` - **models/**: 学習済みモデル(.pthファイルなど) - **preprocessed/**: 前処理済みデータ(CSVやテキストファイル) - **raw/**: 元データ(提供されたExcelファイルなど) - **results/**: 各タスクの出力結果 > ⚠️ 注意: `data/`ディレクトリの内容はGitで管理されません。dataディレクトリからdata.zipファイルに圧縮しgoogledriveにて保管してください。 ## VSCode上での作業(Dev container) vscode上でdocker環境で作業する方法に[Dev container]という拡張機能があるのでご紹介します ### 前提条件 以下のツールがインストールされていることを確認してください: - ✅ [Visual Studio Code](https://code.visualstudio.com/) - ✅ [Docker Desktop](https://www.docker.com/products/docker-desktop) (起動済みであること) ### 🔧 セットアップ手順 #### 1️⃣ 拡張機能のインストール
詳細手順を表示 1. VSCodeを開く 2. 左サイドバーの拡張機能アイコン(🧩)をクリック(または `Ctrl+Shift+X` / `Cmd+Shift+X`) 3. 検索バーに "Remote Development" と入力 4. 表示された拡張機能をインストール ![説明画像](https://github.com/user-attachments/assets/286afaf7-c755-47c5-a4e4-b7241aafaaa5)
#### 2️⃣ プロジェクトを開く
詳細手順を表示 1. VSCodeで開発したいプロジェクトのフォルダを開く(`File > Open Folder`)
#### 3️⃣ Dev Containerの設定
詳細手順を表示 1. コマンドパレットを開く(`Ctrl+Shift+P` または `Cmd+Shift+P`) 2. "Dev containers:Add Dev Containers Configuration Files..." と入力し選択 3. プロジェクトに適したテンプレートを選択(例:Python, Node.js など) ![説明画像](https://github.com/user-attachments/assets/05911c98-8ed6-41ea-818f-329033b4d348)
#### 4️⃣ Dev Container内でプロジェクトを再オープン
詳細手順を表示 1. コマンドパレットを再度開く 2. "Dev-Containers: Reopen in Container" を選択 3. VSCodeがコンテナをビルドし、プロジェクトを開くのを待つ ![説明画像](https://github.com/user-attachments/assets/6a0c3c46-f267-4936-b2a7-a5fac0cf2fe5)
#### 5️⃣ 開発開始 - 🎉 コンテナ内でVSCodeが起動したら、開発を開始できます - 💻 ターミナルも自動的にコンテナ内で動作します 🔗 詳細情報は[公式VSCode Dev Containersドキュメント](https://code.visualstudio.com/docs/remote/containers)をご覧ください。 ## Huggingface Spacesの設定 以下の設定を書き換えてくささい