English | 日本語
AI_Instruction_Kitsと連携して、技術・ビジネスコンテンツ向けの専門的でグラフィカルなプレゼンテーションをAI支援で作成するPythonベースのプレゼンテーション生成フレームワーク。
- AI支援会話モード: 自然言語での対話を通じてプレゼンテーションを作成
- 多様な図表タイプ:
diagrams、graphviz、networkxを使用したアーキテクチャ図、フローチャート、ネットワーク図 - 統計グラフ:
matplotlibとseabornを使用した折れ線グラフ、棒グラフ、散布図、円グラフ - バイリンガル対応: 適切なフォント処理による日本語・英語のプレゼンテーション
- テーマシステム: Corporate、Technical、Academicテーマ
- PowerPoint生成:
python-pptxによる専門的な.pptxファイル
- Python 3.8以上
- Graphviz(フローチャート用)
- uv - 高速なPythonパッケージインストーラー(推奨)
Linux/macOS:
curl -LsSf https://astral.sh/uv/install.sh | shWindows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"代替方法(pipを使用):
pip install uvUbuntu/Debian:
sudo apt-get install graphvizmacOS:
brew install graphvizWindows: https://graphviz.org/download/ からダウンロード
ワンライナーで自動セットアップ:
bash scripts/setup.shこのスクリプトが自動的に実行:
- uvまたはpipの検出
- 仮想環境の作成
- 依存関係のインストール
- インストール確認
# リポジトリのクローン
git clone https://github.com/dobachi/PresentationTemplate.git
cd PresentationTemplate
# AI_Instruction_Kitsサブモジュールの初期化
git submodule update --init --recursive
# 仮想環境の作成
uv venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# 依存関係のインストール(pyproject.tomlから自動読み込み)
uv pip install -e .# リポジトリのクローン
git clone https://github.com/dobachi/PresentationTemplate.git
cd PresentationTemplate
# AI_Instruction_Kitsサブモジュールの初期化
git submodule update --init --recursive
# 仮想環境の作成
python3 -m venv venv
# 仮想環境の有効化
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
# 依存関係のインストール(pyproject.tomlから自動読み込み)
pip install -e .# 初回セットアップ
make setup
# プレゼンテーションをビルド
make build SCRIPT=scripts/generate_presentation.py
# サンプルを生成
make examples
# その他のコマンドを確認
make helpCLAUDE.mdファイルを使ってClaudeと直接対話:
データスペース国際相互運用性について15分のプレゼンを作りたい。
日欧協力(OuranosとGaia-X)に焦点を当てて。
対象者は技術者、言語は日本語。
Claudeが以下を実行:
- 確認質問
- スライド構成の提案
- 図表の自動生成
- PowerPointファイルの作成
from src.core.presentation import PresentationBuilder
from src.diagrams.architecture import ArchitectureDiagram
from src.charts.statistical import StatisticalChart
# ビルダーの作成
builder = PresentationBuilder(theme='corporate', language='ja')
# タイトルスライドの追加
builder.add_title_slide(
title="データスペース国際相互運用性",
subtitle="日欧協力"
)
# アーキテクチャ図の生成と追加
arch_diagram = ArchitectureDiagram(language='ja')
diagram_path = arch_diagram.create_three_layer_architecture(
layers={
'application': ['アプリ1', 'アプリ2', 'アプリ3'],
'service': ['APIゲートウェイ', '認証サービス', 'データカタログ'],
'data': ['メタデータDB', 'データストレージ', 'オブジェクトストア']
}
)
builder.add_diagram_slide(
title="データスペース3層アーキテクチャ",
diagram_path=diagram_path
)
# グラフの生成と追加
chart = StatisticalChart(language='ja')
chart_path = chart.create_line_chart(
data={
'x': [2020, 2021, 2022, 2023, 2024],
'y_ouranos': [10, 25, 45, 80, 120],
'y_gaiax': [30, 60, 95, 140, 200]
},
labels={
'x_axis': '年度',
'y_axis': '採用率',
'y_ouranos': 'Ouranos',
'y_gaiax': 'Gaia-X'
},
title='データスペース採用トレンド'
)
builder.add_chart_slide(
title="採用トレンド",
chart_path=chart_path
)
# プレゼンテーションの保存
builder.save('output/DataSpace_Interoperability.pptx')YAMLファイルの作成:
presentation:
title: "データスペースアーキテクチャ"
author: "Dobachi"
language: "ja"
theme: "corporate"
slides:
- type: title
title: "データスペースアーキテクチャ"
subtitle: "概要とコンポーネント"
- type: content
title: "イントロダクション"
layout: "text"
bullets:
- "データスペースとは"
- "なぜ重要か"
- "主要コンポーネント"生成:
builder = PresentationBuilder()
builder.load_definition('my_presentation.yaml')
builder.build_from_definition(builder.load_definition('my_presentation.yaml'))
builder.save('output.pptx')- 3層アーキテクチャ(データ/サービス/アプリケーション)
- クラウドアーキテクチャ(AWS、Azure、GCP)
- マイクロサービスアーキテクチャ
- 国際相互運用性(Ouranos ↔ Gaia-X)
- プロセスフロー
- 決定木
- データフロー図
- ネットワークトポロジー
- 相互運用性ネットワーク
- 接続図
- 折れ線グラフ
- 棒グラフ(縦/横)
- 散布図
- 円グラフ
- 積み上げ棒グラフ
builder = PresentationBuilder(theme='corporate', language='ja')
builder.set_fonts(
title_font='Meiryo',
body_font='Meiryo'
)builder = PresentationBuilder(theme='corporate', language='en')
builder.set_fonts(
title_font='Arial',
body_font='Arial'
)builder = PresentationBuilder(theme='corporate', language='ja_en')
builder.add_title_slide(
title="Data Space Architecture",
subtitle="データスペースアーキテクチャ"
)3つの組み込みテーマ:
- Corporate: プロフェッショナルな青系テーマ
- Technical: ダークアクセントの技術テーマ
- Academic: アカデミックスタイル
カスタムテーマはconfig/themes/で作成可能。
examples/ディレクトリを参照:
architecture_example.py- アーキテクチャ図のサンプルfull_presentation_example.py- 完全なプレゼンテーションのサンプルexample_conversation.md- AIとの会話サンプル
instructions/modules/に専門的なAI指示モジュールを含む:
presentation_designer.md- 設計のための会話ガイドdiagram_generator.md- 図表作成指示presentation_workflow.md- エンドツーエンドのワークフロー
これらはAI_Instruction_Kitsフレームワークと連携します。
PresentationTemplate/
├── src/ # ライブラリコード(変更しない)
│ ├── core/ # コアプレゼンテーション構築
│ ├── diagrams/ # 図表生成ライブラリ
│ ├── charts/ # グラフ生成ライブラリ
│ ├── i18n/ # 国際化・フォント選択
│ ├── ai/ # AI会話フロー
│ └── utils/ # ユーティリティ
├── scripts/ # ユーザースクリプト(ここに作成)
│ ├── setup.sh # セットアップスクリプト
│ ├── check_dependencies.py # 依存関係確認
│ └── generate_*.py # プレゼンテーション生成スクリプト
├── config/
│ └── themes/ # テーマ設定
├── instructions/
│ ├── ai_instruction_kits/ # サブモジュール
│ └── modules/ # カスタム指示モジュール
├── examples/ # サンプルコード(参考用)
│ ├── architecture_example.py
│ └── full_presentation_example.py
├── output/ # 生成されたプレゼンテーション
└── templates/ # PowerPointテンプレート
src/: このテンプレートが提供するライブラリコード。変更しないscripts/: ユーザーがプレゼンテーション生成用に作成するスクリプト。ここに作成examples/: 使い方の参考となるサンプルコードoutput/: 生成された.pptxファイルが保存される場所
問題が発生した場合は、トラブルシューティングガイドを参照してください。
よくある問題:
- Graphvizエラー: システムにGraphvizがインストールされていることを確認
- 日本語フォントの問題: Meiryoまたは代替フォントがインストールされている必要があります
- 依存関係エラー:
uv pip install -e .で再インストール
MIT License
コントリビューション歓迎!ガイドラインはCONTRIBUTING.mdを参照してください。
Dobachi
- AI_Instruction_Kitsの上に構築
- python-pptxを使用
- diagramsによる図表生成