No description
## 修正した問題 1. **`logger` が null** — `FoundryLocalManager.CreateAsync()` に `Microsoft.Extensions.Logging.ILogger` の実装を渡すよう修正。`LoggerFactory.Create()` + `AddSerilog()` でロガーを作成 2. **Serilog バージョンダウングレード** — `Serilog` を 3.1.0 → 4.2.0 にアップグレード 3. **`Serilog.Extensions.Logging` パッケージを追加** 4. **`LogLevel` の曖昧さ** — `Microsoft.Extensions.Logging.LogLevel` で完全修飾 ## パッケージ構成 - `Microsoft.AI.Foundry.Local.WinML 0.8.0.1` — メインSDK(`Betalgo.Ranul.OpenAI` は自動依存関係) - `Serilog 4.2.0` + `Serilog.Extensions.Logging 10.0.0` — ロギング - `OpenAI` パッケージは不要(SDK内部でBetalgoを使用) |
||
|---|---|---|
| LocalMeetingNotesApp | ||
| TypeChecker | ||
| .gitignore | ||
| baseicon2048x2048.png | ||
| build.bat | ||
| cleaned-Gemini_Generated_Image_qh0db8qh0db8qh0d.png | ||
| favicon.ico | ||
| Gemini_Generated_Image_qh0db8qh0db8qh0d.png | ||
| generate_llm_service.py | ||
| Program.cs | ||
| publish.bat | ||
| README.md | ||
| write_llm_service.ps1 | ||
| プロジェクト概要.txt | ||
LocalMeetingNotes - ローカルAI議事録ジェネレーター
LiquidAI LFM2.5-JPを使用したローカルAI議事録生成アプリケーション
📋 概要
LocalMeetingNotesは、文字起こしテキストから正式な議事録を自動生成するWPFアプリケーションです。LiquidAI社のLFM2.5-JP (1.2B パラメータ) ONNXモデルを使用し、完全にローカル環境で動作します。インターネット接続不要で、プライバシーを保護しながら議事録を作成できます。
✨ 主な機能
📥 入力方式
- テキストペースト: クリップボードから直接貼り付け
- ファイルインポート: .txtファイルの読み込み
- 直接入力: TextBoxでの手入力
- 複数段落サポート: 改行やセクション分けのあるテキストに対応
📝 プロンプトテンプレート
5種類のビルトインテンプレート:
- ビジネス会議 - 正式な会議議事録(決定事項、アクションアイテム)
- セミナー・講義 - 参加者向けサマリー(要点箇条書き、専門用語解説)
- 営業・顧客対応 - 営業報告書(顧客ニーズ、提案内容、次のステップ)
- プロジェクト管理 - タスク一覧とマイルストーン抽出
- カジュアル・チームミーティング - カジュアルな文体のメモ
カスタムプロンプト:
- ユーザー独自のプロンプトを作成・保存・管理
- テンプレート変数 (
{input_text},{date},{time},{datetime}) のサポート
🧹 テキスト前処理
- ハルシネーション(誤認識パターン)の除去
- ノイズパターン(タグ、マーカー)のクリーニング
- 連続する句読点の正規化
- 余分な空白・改行の削除
- 長文の自動分割(2000文字ごと)
⚙️ 推論パラメータ調整
- Temperature: 0.3 ~ 1.0(生成の多様性)
- Top P: 0.7 ~ 1.0(サンプリング範囲)
- Max Tokens: 256 ~ 2048(最大生成トークン数)
💾 出力機能
- 画面表示: 広いテキストボックスでスクロール対応
- クリップボードコピー: ワンクリックでコピー
- ファイル保存: UTF-8 BOM付き.txtファイル
- デフォルトファイル名:
議事録_YYYYMMdd_HHmmss.txt - 保存先:
%UserProfile%\Documents\LocalMeetingNotes\
- デフォルトファイル名:
- 自動保存: 生成完了後、自動的に一時ファイルに保存(オプション)
🎨 UI設定
- テーマ: ライト/ダーク切り替え
- フォントサイズ: 入力・出力エリアを個別に調整
- ウィンドウ状態: サイズ・位置を自動保存/復元
🖥️ システム要件
必須環境
- OS: Windows 10 / Windows 11
- RAM: 8GB 以上推奨
- ディスク空き容量: 3GB以上(モデルキャッシュ含む)
- .NET: .NET 8.0 Runtime(アプリケーションに同梱)
推奨環境
- RAM: 16GB
- CPU: Intel Core i5 / AMD Ryzen 5 以上
- SSD: 推奨(モデル読み込み高速化)
🚀 インストールと起動
1. 初回起動
LocalMeetingNotes.exeをダブルクリック- 初回起動時、LFM2.5-JP ONNXモデルが自動ダウンロードされます(約2.5GB)
- ダウンロード完了後、アプリケーションが起動します
2. モデルキャッシュ
モデルは以下の場所にキャッシュされます:
%UserProfile%\models\lfm25jp\
├── model.onnx
└── tokenizer.json
3. 設定ファイル
設定は以下の場所に保存されます:
%LocalAppData%\LocalMeetingNotes\
├── settings.ini
├── CustomPrompts.json
└── logs\
└── app.log
📖 使い方
基本的な使用フロー
-
テキスト入力
- 文字起こしテキストを「入力テキスト」エリアに貼り付け
- または「ファイル」→「テキストファイルをインポート」で.txtファイルを読み込み
-
プロンプト選択
- 「プロンプトテンプレート」ドロップダウンから用途に合ったテンプレートを選択
- カスタムプロンプトを作成している場合はそちらも選択可能
-
パラメータ調整(オプション)
- Temperature、Top P、Max Tokensを必要に応じて調整
- 「前処理を有効化」チェックボックスでテキストクリーニングのON/OFF切り替え
-
推論実行
- 「推論実行」ボタンをクリック
- 進捗バーで進行状況を確認
- 推論完了後、「出力結果」エリアに議事録が表示されます
-
保存・共有
- 「クリップボードにコピー」でコピー
- または「ファイルに保存...」で.txtファイルとして保存
カスタムプロンプトの作成
- メニューバーから「プロンプト」→「カスタムプロンプト管理...」を選択
- 「新規作成」ボタンをクリック
- プロンプト名と内容を入力
{input_text}: 入力テキストに置換{date}: 現在の日付(yyyy年MM月dd日){time}: 現在の時刻(HH:mm){datetime}: 現在の日時(yyyy年MM月dd日 HH:mm)
- 「保存」ボタンをクリック
サンプルカスタムプロンプト:
以下の会話から、営業日報を以下のフォーマットで作成してください:
【担当者】
【訪問先】
【対応内容】
【成果・受注】
【課題・気づき】
【明日の予定】
入力テキスト:
{input_text}
⚙️ 設定
「設定」→「設定...」から各種設定が可能です。
推論設定
- デフォルトのTemperature、Top P、Max Tokensを設定
- テキスト前処理の有効/無効
UI設定
- テーマ(ライト/ダーク)
- 入力・出力エリアのフォントサイズ
出力設定
- 自動保存の有効/無効
- デフォルト保存先ディレクトリ
詳細設定
- デバッグモード(
debug.logにログ出力) - モデルキャッシュのクリア
🔧 トラブルシューティング
モデルダウンロードに失敗する
- インターネット接続を確認してください
- ファイアウォール/プロキシ設定を確認してください
- 「設定」→「詳細」→「モデルキャッシュをクリア」を実行後、再起動してください
推論が遅い
- PCのRAMが8GB未満の場合、パフォーマンスが低下する可能性があります
- 他のアプリケーションを終了してメモリを確保してください
- Max Tokensを小さくしてください
生成結果が期待と異なる
- プロンプトテンプレートを変更してみてください
- Temperatureを調整してください(低い値 = より決定的、高い値 = より多様)
- 入力テキストに不要な情報が含まれていないか確認してください
エラーが発生した
- ログファイルを確認してください:
%LocalAppData%\LocalMeetingNotes\logs\app.log - デバッグモードを有効化すると、より詳細なログが出力されます
📄 ライセンス
本アプリケーションはMITライセンスの下で配布されています。詳細はLICENSE.txtを参照してください。
使用ライブラリ
- Microsoft.ML.OnnxRuntime - MIT License
- Serilog - Apache License 2.0
- Newtonsoft.Json - MIT License
- .NET 8.0 - MIT License
使用モデル
- LiquidAI LFM2.5-JP ONNX - ライセンス詳細は
LICENSE_LFM25JP.txtを参照
各ライセンスの詳細は、対応するLICENSE_*.txtファイルを参照してください。
🤝 サポート・フィードバック
- バグ報告・機能要望: GitHubのIssuesで受け付けています
- 質問・ディスカッション: GitHubのDiscussionsをご利用ください
📝 更新履歴
v1.0.0 (2026-01-16)
- 初回リリース
- 5種類のビルトインプロンプトテンプレート
- カスタムプロンプト作成・管理機能
- テキスト前処理機能
- LFM2.5-JP ONNX推論エンジン
- 自動モデルダウンロード機能
- ライト/ダークテーマ対応
👨💻 開発者向け情報
ビルド
cd LocalMeetingNotesApp
dotnet restore
dotnet build -c Release
パブリッシュ
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=false
デバッグモード
settings.iniに以下を追加:
[General]
DebugMode=true
プロジェクト構造
LocalMeetingNotesApp/
├── Models/ # データモデル
├── ViewModels/ # ViewModelクラス
├── Views/ # WPFウィンドウ
├── Services/ # ビジネスロジック
│ ├── LFM25EngineService.cs
│ ├── ModelDownloader.cs
│ ├── PromptTemplateService.cs
│ ├── SettingsService.cs
│ └── TextPreprocessor.cs
└── Resources/ # リソースファイル
├── BuiltinPrompts.json
└── Icons/
Developed with ❤️ for efficient meeting note-taking