diff --git a/lib/main.dart b/lib/main.dart index e79db1e..838a5ef 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -10,13 +10,8 @@ import 'screens/main_screen.dart'; import 'screens/license_screen.dart'; import 'services/migration_service.dart'; -/// Pro版かLite版かを判定するビルド時フラグ -/// -/// ビルドコマンド: -/// - Pro版: flutter build apk --release --dart-define=IS_PRO_VERSION=true -/// - Lite版: flutter build apk --release --dart-define=IS_PRO_VERSION=false -/// -/// デフォルトはfalse(Lite版) ※ponshu_room_liteディレクトリのため +/// ビルド時Pro解放フラグ(現在未使用 — 実行時ライセンスはisProProviderで管理) +/// 将来的に削除予定。isProProvider (license_provider.dart) を使うこと。 const bool isProVersion = bool.fromEnvironment('IS_PRO_VERSION', defaultValue: false); /// 店舗向けビルドかどうかを判定するビルド時フラグ diff --git a/lib/services/gemini_service.dart b/lib/services/gemini_service.dart index 728f675..730dd24 100644 --- a/lib/services/gemini_service.dart +++ b/lib/services/gemini_service.dart @@ -57,83 +57,6 @@ class GeminiService { ); } - /// OCRテキストと画像のハイブリッド解析 - Future analyzeSakeHybrid(String extractedText, List imagePaths) async { - final prompt = ''' -あなたは日本酒の専門家(ソムリエ)です。 - -以下のOCR抽出テキストは参考情報です(誤字・脱落あり)。 -OCRテキストはあくまで補助的なヒントとして扱い、添付の画像を優先して全項目を必ず埋めてください。 - -OCRテキスト(参考のみ): -""" -$extractedText -""" - -添付の日本酒ラベル画像を分析し、以下のJSON形式で情報を抽出してください。 - -{ - "name": "銘柄名", - "brand": "蔵元名", - "prefecture": "都道府県名", - "type": "特定名称(純米大吟醸など)", - "description": "味や特徴の魅力的な説明文(100文字程度)", - "catchCopy": "短いキャッチコピー(20文字以内)", - "confidenceScore": 80, - "flavorTags": ["フルーティー", "辛口", "華やか"], - "tasteStats": {"aroma":3,"sweetness":3,"acidity":3,"bitterness":3,"body":3}, - "alcoholContent": 15.0, - "polishingRatio": 50, - "sakeMeterValue": 3.0, - "riceVariety": "山田錦", - "yeast": "きょうかい9号", - "manufacturingYearMonth": "2023.10" -} - -★重要な指示: -- "name"(銘柄名)と "brand"(蔵元名)は、ラベルに明記されている文字を**そのまま**使用してください。知識から補完・推測・変更しないでください。例:ラベルに「東魁」とあれば「東魁盛」に変えない。 -- tasteStats(香り、甘味、酸味、苦味、ボディ)は必ず1-5の整数で埋めてください。不明な場合は3を設定してください。 -- alcoholContent, polishingRatio, sakeMeterValue などの詳細項目も、画像から読み取れる場合は必ず設定してください。 -- その他の値が不明な場合は null または 適切な推測値を入れてください。 -'''; - - return _callProxyApi(imagePaths: imagePaths, customPrompt: prompt); - } - - /// テキストのみの解析 (画像なし) - Future analyzeSakeText(String extractedText) async { - final prompt = ''' -以下のOCRで抽出された日本酒ラベルのテキスト情報を分析してください。 -誤字やノイズが含まれることがありますが、"name"(銘柄名)と"brand"(蔵元名)はテキストに記載された文字をそのまま使用し、知識から補完・変更しないでください。 - -抽出テキスト: -""" -$extractedText -""" - -以下の情報をJSON形式で返してください: -{ - "name": "銘柄名", - "brand": "蔵元名", - "prefecture": "都道府県名", - "type": "特定名称", - "description": "特徴(100文字)", - "catchCopy": "キャッチコピー(20文字)", - "confidenceScore": 0-100, - "flavorTags": ["タグ"], - "tasteStats": {"aroma":3,"sweetness":3,"acidity":3,"bitterness":3,"body":3}, - "alcoholContent": 15.5, - "polishingRatio": 50, - "sakeMeterValue": 3.0, - "riceVariety": "山田錦", - "yeast": "きょうかい9号", - "manufacturingYearMonth": "2023.10" -} -'''; - - return _callProxyApi(imagePaths: [], customPrompt: prompt); - } - /// 共通実装: ProxyへのAPIコール Future _callProxyApi({ required List imagePaths, diff --git a/pubspec.yaml b/pubspec.yaml index dae9166..615878a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.27+34 +version: 1.0.28+35 environment: sdk: ^3.10.1