VertexAI 環境から現在試用中の"gemini-2.0-flash-thinking-exp-1219"を活用して日常業務の質を高める

:::note info
本記事は、Azure OpenAI、Anthropic Claude、Google Vertex AI Gemini などの生成 AI を活用して、日々の業務生産性を向上させたい方向けの内容です。特に、業界・業種・学生などを問わずおすすめです。🎯
:::

## 👤 著者プロフィール
| 項目 | 詳細 |
|:--|:--|
| 使用デバイス | 主にMac |
| 業務内容 | IT営業（提案書作成、製品デモ制作） |

## 🤔 よくある課題

皆さんも日々の業務で以下のような経験はありませんか？

*   GPT 4o や Claude 3.5 Sonnet などのモデルは確かに優秀で活用できてたけど、ここぞという思考を要する質問に対する回答があと一歩という感じ
*   できる限り良いモデルを利用したいけど、課金する程でも無いし、課金しても使いこなせるか不安
*   "gemini-2.0-flash-thinking-exp-1219" を試験的に自家製アプリや Terminal/コマンドプロンプトからサクッと利用したい

## 💡 解決策というか本題

Google AI Studio 経由でなく、あえて **Vertex AI** 経由でを Python を使って API 経由で活用する。

### なぜVertexAI？"gemini-2.0-flash-thinking-exp-1219"?

選定理由 📋

*   **Google Vertex AI 採用理由**: 会社契約の API が利用可能かつ、試験的なモデルは正式版が Vertex AI に追加されるので実装に即時対応できる
*   **"gemini-2.0-flash-thinking-exp-1219" 採用理由**: Chatbot Arena LLM Leaderboard であらゆるカテゴリで軒並み首位であるGeminiシリーズの最新モデルであり、OpenAI o1モデルと同じ思考型のモデル

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214013/2bf8b559-666b-3b13-8cba-ae14a88578bb.png)

# 🛠 実装方法

### システムの流れ
1.  Python コードを作成して利用（コードは下記）
2.  クリップボードへモデルへ質問したいテーマをコピー OR 入力してコピー
3.  Python コードを実行
4.  回答を確認する。

- 今回は、試験モデルなのでデプロイとかは不要です！
- 通常の Vertex AI を利用する通り、REGION や PROJECT_ID、仮想環境をご準備ください。

### コード実装
もちろん Vertex AI の GUI ページからサンプルコードは出力できるのですが、それだと絶妙に欲しい形の出力や、入力ができなかったので少し魔改造しました。

（環境変数は本来ベタ打ちしないですが、サンプル用に記載してます）
```Python:Python
import os
import base64
import pyperclip
from google import genai
from google.genai import types

system_prompt = """
あなたは有能なAIアシスタントです。以下の手順に従って問題を解決してください：

1. まず、与えられたテーマや意図を注意深く読み、理解してください
2. テーマの主要な要素を分解してください
3. テーマの理解や解決のための各ステップを考えてください
4. 明確な理由付けとともに解決策を提示してください
5. これまでの出力を批判的に評価して最終出力の質を高めてください

以下の点に注意してください：
- すべての過程を示してください
- 各ステップでの理由付けを説明してください
- 具体的かつ正確に記述してください
- エッジケースも考慮してください
"""

def generate():
    client = genai.Client(
        vertexai=True,
        project="ここにプロジェクト名を入れる",
        location="ここにロケーションを入れる"
    )
    contents = [
        types.Content(
            role="user",
            parts=[
                types.Part.from_text(pyperclip.paste())
            ]
        )
    ]
    generate_content_config = types.GenerateContentConfig(
        temperature = 0.1,
        top_p = 0.95,
        max_output_tokens = 8192,
        response_modalities = ["TEXT"],
        safety_settings = [types.SafetySetting(
          category="HARM_CATEGORY_HATE_SPEECH",
          threshold="OFF"
        ),types.SafetySetting(
          category="HARM_CATEGORY_DANGEROUS_CONTENT",
          threshold="OFF"
        ),types.SafetySetting(
          category="HARM_CATEGORY_SEXUALLY_EXPLICIT",
          threshold="OFF"
        ),types.SafetySetting(
          category="HARM_CATEGORY_HARASSMENT",
          threshold="OFF"
        )],
        system_instruction=[types.Part.from_text(system_prompt)],
    )
    response = client.models.generate_content(
        model = "gemini-2.0-flash-thinking-exp-1219",
        contents = contents,
        config=generate_content_config,
    )

    print(response.text)
    pyperclip.copy(response.text)

generate()
```

## 📸 出力イメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214013/7eec523b-4550-14e6-dbf8-5d6b3257e6ab.png)


（長いので記事の一番下にテキストをベタ貼りしてます）
うまくできました‼️

## 🔥 活用のコツ

1. **外部アプリ/サービス連携**: Pythonを活用してAPI経由で呼び出せるので、Input/Outputを他の既存アプリやサービスと連携してサービス体験を拡張できる 🔀
2. **エイリアス設定**: `python sample.py`などをショートカット化 ⌨️
3. **プロンプト設計**: 体感ですが、詳細な要件や振り返り事項、期待する出力形式を記載することで、しっかり命令を反映してくれています。他のモデルだと特に重要なものを反映するだけだったり、出力量をサボる傾向がある 📝


## ⚠️ 注意点

:::note warn
- Google VertexAIの環境設定は別途必要です
- 社内のセキュリティポリシーに準拠したAPI利用を心がけましょう
- いつ試験が終了し課金が必要になるか分からないので注意！
:::

## 🎉 まとめ
Google VertexAIは、高度なAI機能を必要とする様々な分野・業務に最適なソリューションです。
適切な実装と利用戦略により、以下のメリットが得られます：
- 業務プロセスの効率化
- より深い分析と洞察の獲得
- スケーラブルなAIソリューションの構築

#### ぜひ皆様の業務効率化にお役立てください！ 🙌

#### 上記Python出力テキストのベタ貼り 🖼️
```出力内容:出力内容
Input = "VertexAI を日本の大手製造業（ディスクリート：多品種少量生産）で採用するべきか？"
Output =

はい、日本の大手製造業（ディスクリート：多品種少量生産）において、Vertex AI の採用は検討に値する選択肢です。ただし、導入にあたっては慎重な評価と計画が必要です。以下に、採用を検討する上での主要な観点と、具体的なステップ、理由付けを説明します。

**1. Vertex AI 採用の潜在的なメリット**

日本の大手製造業（ディスクリート：多品種少量生産）が Vertex AI を採用することで、以下の様なメリットが期待できます。

*   **品質管理の高度化:**
    *   **異常検知:** 製造ラインのセンサーデータや画像データを活用し、不良品の発生を早期に検知し、歩留まりを向上させることができます。Vertex AI の異常検知モデルや画像認識モデルを活用できます。
    *   **原因分析:** 不良発生時のデータを分析し、根本原因を特定することで、再発防止策を講じることができます。Vertex AI のデータ分析ツールや機械学習モデルを活用できます。
*   **生産計画の最適化:**
    *   **需要予測:** 過去の販売データ、市場トレンド、外部要因などを分析し、より精度の高い需要予測を行うことで、過剰在庫や欠品を抑制できます。Vertex AI の時系列予測モデルや AutoML Tables を活用できます。
    *   **スケジューリング最適化:** 生産能力、納期、リソース制約などを考慮し、最適な生産スケジュールを立案することで、リードタイム短縮や生産効率向上に貢献します。Vertex AI の最適化モデルや強化学習モデルの活用が考えられます。
*   **設備保全の効率化:**
    *   **予知保全:** 設備のセンサーデータや稼働データを分析し、故障の兆候を早期に検知することで、計画的なメンテナンスを実施し、ダウンタイムを削減できます。Vertex AI の異常検知モデルや時系列分析モデルを活用できます。
*   **サプライチェーンの最適化:**
    *   **サプライヤーリスク管理:** サプライヤーの情報を分析し、リスクを早期に検知することで、安定的な部品調達を確保できます。Vertex AI の自然言語処理モデルやグラフニューラルネットワークを活用できます。
*   **設計・開発の効率化:**
    *   **類似設計検索:** 過去の設計データや技術情報を分析し、類似の設計を効率的に検索することで、設計期間を短縮できます。Vertex AI のベクトル検索や自然言語処理モデルを活用できます。
*   **従業員のスキル向上支援:**
    *   **作業手順の最適化:** 作業員の行動データやセンサーデータを分析し、最適な作業手順を特定することで、作業効率を向上させることができます。Vertex AI の行動認識モデルや強化学習モデルを活用できます。
    *   **教育・訓練の個別化:** 作業員のスキルデータや学習履歴を分析し、個々のニーズに合わせた教育・訓練プログラムを提供できます。Vertex AI のレコメンデーションシステムを活用できます。

**2. 導入検討における重要な観点**

Vertex AI の導入を検討する際には、以下の点を考慮する必要があります。

*   **データ準備:**
    *   **データ収集:** 上記のメリットを実現するためには、様々な種類のデータを収集する必要があります。製造現場のセンサーデータ、設備データ、品質データ、販売データ、顧客データなど、必要なデータを特定し、収集体制を構築する必要があります。
    *   **データの前処理:** 収集したデータは、そのままでは機械学習に利用できない場合があります。欠損値の処理、外れ値の処理、データ形式の変換など、適切な前処理を行う必要があります。
    *   **データガバナンス:** データの品質を維持し、セキュリティを確保するためのデータガバナンス体制を構築する必要があります。
*   **人材:**
    *   **データサイエンティスト:** 機械学習モデルの構築、評価、運用を行うための専門知識を持つ人材が必要です。
    *   **機械学習エンジニア:** 機械学習モデルを本番環境にデプロイし、安定的に運用するための専門知識を持つ人材が必要です。
    *   **ドメインエキスパート:** 製造現場の業務知識を持つ人材と、データサイエンティストや機械学習エンジニアが連携することで、より効果的なモデルを構築できます。
    *   **人材育成:** 社内人材の育成や、外部の専門家の活用を検討する必要があります。
*   **コスト:**
    *   **プラットフォーム利用料:** Vertex AI の利用料金が発生します。利用するサービスやリソースによって料金体系が異なります。
    *   **インフラコスト:** モデルの学習や推論に必要なコンピューティングリソースの費用が発生します。
    *   **データストレージコスト:** 収集したデータを保存するための費用が発生します。
    *   **人件費:** データサイエンティストや機械学習エンジニアの人件費が発生します。
    *   **導入・運用コスト:** システム構築や運用にかかる費用が発生します。
*   **既存システムとの連携:**
    *   製造現場の既存システム（MES、PLC、ERPなど）とのデータ連携が必要になります。連携方法やデータ形式の互換性を確認する必要があります。
*   **セキュリティ:**
    *   機密性の高い製造データを扱うため、セキュリティ対策は非常に重要です。Vertex AI のセキュリティ機能だけでなく、データアクセス権限の管理や暗号化などの対策を講じる必要があります。
*   **PoC (Proof of Concept) の実施:**
    *   本格導入前に、特定の課題に対して Vertex AI を活用した PoC を実施し、効果や課題を検証することをお勧めします。

**3. 導入ステップの提案**

Vertex AI の導入を検討する際には、以下のステップで進めることを推奨します。

1.  **目的の明確化:** Vertex AI を導入することで、どのような課題を解決したいのか、具体的な目標を設定します。（例：不良品率の〇〇%削減、生産リードタイムの〇〇%短縮など）
2.  **ユースケースの特定と優先順位付け:** 達成したい目標に基づき、Vertex AI を活用できる具体的なユースケースを洗い出し、実現可能性や効果に基づいて優先順位をつけます。
3.  **データアセスメント:** 特定したユースケースに必要なデータを特定し、データの可用性、品質、量を評価します。
4.  **PoC の計画と実施:** 優先順位の高いユースケースに対して、小規模な PoC を実施します。Vertex AI の機能を実際に試し、技術的な実現可能性や効果を検証します。
5.  **費用対効果の評価:** PoC の結果に基づいて、本格導入した場合の費用対効果を詳細に評価します。
6.  **導入計画の策定:** 本格導入に向けて、必要なリソース（人材、予算、インフラ）、スケジュール、体制などを具体的に計画します。
7.  **段階的な導入:** 最初から大規模な導入を行うのではなく、PoC で成功したユースケースから段階的に導入を進めることを推奨します。
8.  **運用・保守体制の構築:** 導入後のシステムを安定的に運用・保守するための体制を構築します。
9.  **継続的な改善:** 導入後も、効果測定を行い、改善点を見つけて継続的に改善していくことが重要です。

**4. 日本の大手製造業（ディスクリート：多品種少量生産）特有の考慮事項**

*   **多品種少量生産の特性:** 品種ごとにデータ量が少ない場合や、頻繁に製品仕様が変更される場合があります。Vertex AI の AutoML 機能や、少量のデータでも学習可能な手法の活用を検討する必要があります。
*   **熟練技能者の知識の活用:** 熟練技能者が持つ暗黙知をデータ化し、Vertex AI のモデルに組み込むことで、より高度な分析や予測が可能になる場合があります。
*   **現場との連携:** 製造現場の担当者との密な連携が不可欠です。現場のニーズを理解し、現場で活用できるようなシステムを構築する必要があります。

**結論**

日本の大手製造業（ディスクリート：多品種少量生産）において、Vertex AI の採用は、品質向上、生産効率化、コスト削減など、多くのメリットをもたらす可能性があります。しかし、導入にはデータ準備、人材育成、コスト、既存システムとの連携など、様々な課題も存在します。

まずは、具体的な課題や目標を明確にし、PoC を通じて Vertex AI の有効性を検証することをお勧めします。その上で、費用対効果を慎重に評価し、段階的な導入を進めることが、成功への鍵となります。

最終的な判断は、企業の具体的な状況や戦略に基づいて行う必要がありますが、Vertex AI は検討に値する強力なツールであると言えるでしょう。

```

> 本記事へのご質問やご意見がありましたら、コメントにてお気軽にお寄せください。