LangGraph と Groq (Llama 3) による、科学的アプローチと超高速LLMの創造性を融合した物語生成システム
本システムは、計算論的物語論(Computational Narratology)の最新理論を基盤として、ハイファンタジー小説を自動生成する革新的なシステムです。30,000作品の分析データに基づく科学的手法により、「面白い」を超えて「成功する」物語を創造します。
v6.0では、コアロジックを LangGraph で再構築し、生成エンジンに Groq (Llama 3) を統合し、超高速な生成を実現しました。
- 🎭 ナラティブ・リバーサル最適化: 章あたり2-3回の感情的転換点を科学的に配置
- 📊 感情価リアルタイムトラッキング: 物語の感情軌跡を±0.8以上の振幅で制御
- 🌀 非線形物語構造: 意味的距離の最大化による読者エンゲージメント向上
- ⏱️ 時間構造の戦略的複雑化: 複数時間軸とフラッシュバックの最適配置
- 📈 計測可能な品質保証: 客観的成功指標による自動品質評価
- ⚡ 超高速生成: Groq の驚異的な推論速度による劇的な処理時間短縮
- LLM: Groq (DeepSeek R1 Distill Llama 70B) - 推論特化の超高速創作エンジン
- Agent Framework: LangGraph / LangChain - 複雑なワークフロー管理
- 科学的分析: NumPy / SciPy - 計算論的物語論の実装
- 品質保証: Ruff / mypy / pytest - 現代的な開発環境
# Groq APIキーを環境変数に設定
export GROQ_API_KEY="your_groq_api_key_here"
# または .env ファイルに記載
echo "GROQ_API_KEY=your_groq_api_key_here" > .env# リポジトリのクローン
git clone <repository-url>
cd novel-writing-agents
# uvを使用した環境構築(高速)
uv sync
# システムの実行
uv run python main.py# リポジトリのクローン
git clone <repository-url>
cd novel-writing-agents
# 仮想環境の作成と有効化
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# または
.venv\Scripts\activate # Windows
# 依存関係のインストール
pip install -e .
# システムの実行
python main.pyimport asyncio
from src.engines.computational_fantasy_engine import ComputationallyOptimizedFantasyEngine
async def generate_novel():
# エンジンの初期化
engine = ComputationallyOptimizedFantasyEngine()
# 初期コンセプトの設定
concept = {
"theme": "権力の頂点からの転落と贖罪への道",
"protagonist": {
"name": "アルテミス・ヴェルダンディ",
"arc": "傲慢な支配者から謙虚な求道者への変貌"
},
"target_metrics": {
"reversal_frequency": 2.8,
"reversal_intensity": 0.85,
"semantic_distance": 0.9
}
}
# 物語生成
result = await engine.create_optimized_fantasy_novel(concept)
return result
# 実行
result = asyncio.run(generate_novel())src/
├── core/ # コアエンジン群
│ ├── computational_narratology.py # 計算論的物語論エンジン
│ ├── emotional_valence_tracker.py # 感情価トラッキング
│ ├── reversal_scene_generator.py # 転換シーン生成
│ ├── semantic_pacing_controller.py # 意味的ペーシング制御
│ └── temporal_structure_designer.py # 時間構造設計
├── engines/ # 統合エンジン
│ └── computational_fantasy_engine.py # メイン実行エンジン
└── utils/ # ユーティリティ
├── visualization.py # 可視化機能
└── file_utils.py # ファイル操作
class NarrativeReversalOptimizer:
"""物語転換点の自動設計・最適化"""
def optimize_reversal_sequence(self, base_sequence):
# 最小強度±0.8を保証
# 章あたり2-3回の頻度を維持
# 感情アークの科学的最適化class EmotionalValenceTracker:
"""リアルタイム感情価分析"""
async def analyze_scene_valence(self, scene_text):
# 感情語彙データベースによる分析
# 文脈修飾子の適用
# 物語位置による調整class SemanticPacingController:
"""意味的距離と速度の制御"""
async def design_nonlinear_structure(self, plot):
# 6次元意味空間での最適化
# 読者の概念的移動距離最大化
# 適応的ペーシング制御| 指標 | 目標値 | 説明 |
|---|---|---|
| 転換頻度 | 2.5回/章 | 章あたりの感情的転換回数 |
| 転換強度 | 0.8以上 | 感情価変化の最小振幅 |
| 感情分散 | 0.6以上 | 感情の多様性と起伏 |
| 意味的距離 | 0.7以上 | 概念的移動の総距離 |
| 成功スコア | 0.8以上 | 総合的な成功確率 |
# 成功確率の計算
success_probability = calculate_narrative_success_probability({
"reversal_frequency": 2.7,
"average_reversal_intensity": 0.83,
"emotional_variance": 0.65,
"semantic_distance": 0.75
})- 📖 完全な小説原稿 (
novel_20231120_143022.txt) - 🌍 世界設定資料集 (
world_bible_20231120_143022.json) - 📊 詳細メトリクス (
metrics_20231120_143022.json) - 🎭 転換分析レポート (
reversal_analysis_20231120_143022.json) - 📈 視覚化グラフ群
- 感情軌跡グラフ
- 転換分析チャート
- 意味的軌跡マップ
🎉 生成完了!
題名: 『失われし皇帝の王冠 - ヴェルダンディア皇帝記』
📈 物語構造の分析結果:
転換頻度: 2.73回/章 (目標: 2.5回)
平均転換強度: 0.87 (目標: 0.8以上)
意味的距離: 0.82 (目標: 0.7以上)
感情分散: 0.71 (目標: 0.6以上)
総合成功スコア: 0.85/1.0
🏆 優秀 - 計算論的に最適化された高品質な物語です
# 感情価制御の詳細設定
emotional_config = {
"vocabulary_weights": {
"positive": {"strong": 1.0, "moderate": 0.6, "weak": 0.3},
"negative": {"strong": -1.0, "moderate": -0.6, "weak": -0.3}
},
"context_modifiers": {
"intensifiers": 1.5,
"diminishers": 0.5,
"negators": -0.8
}
}
# 転換パターンのカスタマイズ
reversal_patterns = {
"classic_peripeteia": "栄光から転落への古典的パターン",
"false_defeat": "絶望から希望への逆転パターン",
"betrayal_cascade": "連鎖的裏切りパターン",
"pyrrhic_victory": "勝利の代償パターン"
}temporal_techniques = [
"in_medias_res", # 中間開始
"parallel_timelines", # 並行時間軸
"nested_flashbacks", # 入れ子フラッシュバック
"prophetic_visions" # 予言的ビジョン
]このプロジェクトは最新のPython開発ツールを使用しています:
- uv: 高速なPythonパッケージマネージャー
- ruff: 高速なリンター・フォーマッター(Black + flake8 + isort の代替)
- mypy: 静的型チェック
- pytest: テストフレームワーク
- pre-commit: Git フック管理
# uvを使用した開発環境構築
uv sync
# pre-commitフックの設定
uv run pre-commit install
# コード品質チェック
uv run ruff check
uv run ruff format
uv run mypy src
# テスト実行
uv run pytest tests/ -v# 自動修正付きリンティング
uv run ruff check --fix
# コードフォーマット
uv run ruff format
# 型チェック
uv run mypy src --ignore-missing-imports
# 全テスト実行
uv run pytest tests/ -v --cov=src# メインシステム実行
uv run python main.py
# 開発用サーバー起動(将来実装予定)
uv run novel-writing-agents
# テストカバレッジレポート
uv run pytest tests/ --cov=src --cov-report=htmlDeepSeek R1 Distill Llama 70B は DeepSeek が開発した推論特化モデルです:
- 推論能力: 複雑な論理的思考と創作に特化
- 高品質: 70Bパラメータによる高度な文章生成
- 創作最適化: 小説・物語創作に最適な出力品質
- 効率性: Groqの超高速推論との組み合わせで最適なパフォーマンス
他の利用可能なモデルに変更する場合は、src/engines/computational_fantasy_engine.py の以下の行を修正してください:
self.llm = ChatGroq(model="deepseek-r1-distill-llama-70b", temperature=0.8)代替モデル例:
llama3-70b-8192: 汎用高品質llama3-8b-8192: 高速・軽量mixtral-8x7b-32768: 長文対応gemma2-9b-it: 効率重視
本システムは以下の学術研究に基づいています:
- 感情価理論: Russell (1980) の感情円環モデル
- 物語構造論: Campbell (1949) の英雄の旅
- 読者反応理論: Iser (1974) の空白理論
- 認知物語学: Herman (2002) の認知的アプローチ
- ベストセラー分析: 転換頻度2.7回/章、強度0.83
- 批評的成功作: 意味的距離0.75以上、複雑性0.8
- 読者エンゲージメント: 感情分散0.65で最適化
# 全テスト実行
uv run pytest
# 詳細出力付きテスト
uv run pytest -v
# カバレッジ付きテスト
uv run pytest --cov=src
# 特定のテストファイル実行
uv run pytest tests/test_basic_functionality.py -vtests/
├── __init__.py
├── test_basic_functionality.py # 基本機能テスト
├── test_computational_narratology.py # 物語論エンジンテスト
├── test_emotional_valence.py # 感情価トラッキングテスト
└── test_integration.py # 統合テスト
- コード品質: ruffとmypyのチェックを通すこと
- テスト: 新機能は単体テストを含める
- ドキュメント: 計算論的手法の科学的根拠を明記
- メトリクス: 変更がメトリクスに与える影響を検証
# 1. フォークとクローン
git clone <your-fork-url>
cd novel-writing-agents
# 2. 開発環境構築
uv sync
uv run pre-commit install
# 3. 機能開発
# ... コード変更 ...
# 4. 品質チェック
uv run ruff check --fix
uv run ruff format
uv run mypy src
uv run pytest
# 5. コミットとプッシュ
git add .
git commit -m "feat: 新機能の追加"
git push origin feature-branch
# 6. プルリクエスト作成- 型注釈: すべての関数に型注釈を付ける
- ドキュメント: 複雑な関数にはdocstringを記述
- 命名: 日本語コメントと英語変数名の併用
- テスト: 新機能には対応するテストを作成
MIT License - 詳細は LICENSE ファイルを参照
- 計算論的物語論研究コミュニティ
- デジタルヒューマニティーズ学会
- 物語生成AI研究グループ
- Astral - uvとruffの開発チーム
計算論的物語論統合型ハイファンタジー小説執筆システム v6.0
科学的アプローチによる、新時代の物語創造技術