トップページ(目次)

607.ChatGPTへ質問を送り回答を受け取る_ChatGPT_API使用

ChatGPT for Excel という、エクセルの関数でChatGPTと質問&回答のやり取りができる エクセルのアプリ(拡張機能)もあります。ケースによってはこちらの方が効果的。 https://appsource.microsoft.com/ja-jp/product/office/wa200005271?tab=overview
Sub ChatGPTへセルA1の質問を送りセルA2に回答を受け取る_ChatGPT_API使用()
 
    '※ChatGPT API key の挿入が必須です
    API_Key = ""
     
    '最大文字数を指定(文字数で課金されるため念のため指定)
    最大文字数 = 1000
     
    '何種類かあるが、これが一番優秀で値段も高い
    ChatGPT_API_ver = "text-davinci-003"
     
    'これは固定
    API_URL = "https://api.openai.com/v1/completions"
     
    '質問したい内容をここに入れる、例でセルA1で質問、セルA2で回答
    質問内容 = Range("A1")
     
    'API接続するための下準備
    Set GetChatGPT = CreateObject("MSXML2.XMLHTTP")
     
    With GetChatGPT
         
        'APIキーを使って接続している
        .Open "POST", API_URL, False
        .setRequestHeader "Content-Type", "application/json"
        .setRequestHeader "Authorization", "Bearer " & API_Key
         
        'ここでChatGPT師匠へ質問を投げる
        リクエスト文 = "{""model"":""" & ChatGPT_API_ver & _
                    """, ""prompt"":""" & 質問内容 & _
                    """, ""max_tokens"":" & 最大文字数 & _
                      ", ""temperature"":0.5, ""top_p"":1}"
         
        .send リクエスト文
         
        'レス4が入るまで繰り返して待つ
        Do While .readyState <> 4: DoEvents: Loop
         
        '回答が返ってきた
        返答原文 = .responseText
         
    End With
         
    '帰ってきた返答を、わかりやすくするため、仮でA2へ代入。色々おまけ付き
    Range("A2") = 返答原文
    'これを無理にVBAで加工する必要はなく、関数で処理しても可能

End Sub

Copyright © 2021 https://excel3000.web.fc2.com/ All Rights Reserved.
    inserted by FC2 system