Jazzと読書の日々

iPadを筆記具として使う方法を模索します

TextwellでGeminiとチャットしてみた

これは苦労しました。

Gemini

TextwellにはChatGPTアクションがあるので、それをGeminiに書き換えてみました。 もちろん形式がいろいろと異なります。 いっぱい試行錯誤した。

とりあえず走るところまで来たので仕事納めとします。

Import Textwell ActionGemini

使い方

APIキーを取得してソースの初めに書き加えてください。 無料でOKです。

カーソル行を質問と受け取り、その回答を本文に追記します。 カーソル行が空行のときは全文をプロンプトと見なします。 これで「ディベート」にも対応できる。

たとえば「富士山の高さは?」と書いてGeminiアクションを実行すると:

こんなふうに返事が返ってきます。 えらいえらい。

詳しい説明

GeminiにPOST形式でリクエストを送ります。

https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent?key={API_key}

そのときのJSONは下記のようになります。

headerData: {
  'Content-Type': 'application/json'
},
data: {
  'contents':
  {'parts':
    {
      'text': 質問の内容
    }
  }
}

返ってくるresponseTextもJSON形式です。

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": 回答の内容
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP",
      "avgLogprobs": -0.100973621010780xx
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 5,
    "candidatesTokenCount": 32,
    "totalTokenCount": 37
  },
  "modelVersion": "gemini-1.5-flash-002"
}

具体例が書いてあるサイトがなかったので苦労しました。 どれが必須で、どれがオプションなんだか。

もしかしたら勘違いで重要な情報を送ってない可能性もある。 ちょっとこわごわです。

まとめ

gemini-2.0-flash-expというモデルを見かけたけど、これも有効?