「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.11.23
XML
カテゴリ: VB.NET


以下に、VB.NET を使って **ChatGPT** と連携するサンプルコードを日本語で説明します。


### 前提条件:

1. **API キー**: OpenAI の API キーが必要です。OpenAI のウェブサイト([OpenAI公式サイト](https://platform.openai.com/signup))でサインアップして取得できます。



### 手順:

1. Visual Studio で **VB.NET コンソールアプリケーション**を作成します。

2. **Newtonsoft.Json** パッケージを NuGet からインストールします。

   - Visual Studio の **NuGet パッケージマネージャー**を開き、**Newtonsoft.Json** を検索してインストールします。


### サンプルコード:ChatGPT との連携


```vb

Imports System.Net.Http

Imports Newtonsoft.Json

Imports System.Text


Module Module1

    ' OpenAI API キーを設定(実際のキーに置き換えてください)

    Const apiKey As String = "your-api-key-here"

    Const apiUrl As String = "https://api.openai.com/v1/chat/completions"


    Sub Main()

        ' ユーザーからのメッセージ例

        Dim userMessage As String = "こんにちは、ChatGPT!元気ですか?"


        ' POST リクエストのペイロードを作成

        Dim requestData As New With {

            Key .model = "gpt-3.5-turbo", ' 使用するモデルを選択

            Key .messages = New Object() {

                New With {.role = "user", .content = userMessage}

            }

        }


        ' ペイロードを JSON にシリアライズ

        Dim jsonContent As String = JsonConvert.SerializeObject(requestData)


        ' HTTP リクエストを送信

        Dim result As String = MakeApiRequest(jsonContent).Result

        Console.WriteLine(result)

    End Sub


    ' API リクエストを送信し、レスポンスを取得する非同期関数

    Async Function MakeApiRequest(jsonContent As String) As Task(Of String)

        Using client As New HttpClient()

            ' 認証ヘッダーに API キーを追加

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " & apiKey)


            ' コンテンツタイプを application/json に設定

            Dim content As New StringContent(jsonContent, Encoding.UTF8, "application/json")


            ' OpenAI API に POST リクエストを送信

            Dim response As HttpResponseMessage = Await client.PostAsync(apiUrl, content)


            ' レスポンスを読み取り、返す

            If response.IsSuccessStatusCode Then

                Dim responseData As String = Await response.Content.ReadAsStringAsync()

                Return responseData

            Else

                Return "エラー: " & response.StatusCode.ToString()

            End If

        End Using

    End Function

End Module

```


### コードの説明:

1. **API キーと URL**: OpenAI API の URL(`https://api.openai.com/v1/chat/completions`)と、あなたの API キーを使用します。

2. **リクエストデータ**: `requestData` は、OpenAI の ChatGPT に送るメッセージの形式に従って作成されます。ここでは、ユーザーのメッセージを `messages` 配列として指定しています。

3. **HttpClient**: `HttpClient` を使用して POST リクエストを OpenAI API に送信します。

4. **レスポンスの処理**: API が正常に応答した場合、その結果(JSON)を受け取ってコンソールに表示します。


### 出力例:

実行すると、ChatGPT からのレスポンスが JSON 形式でコンソールに表示されます。例えば:


```json

{

  "id": "chatcmpl-xyz123",

  "object": "chat.completion",

  "created": 1688451252,

  "model": "gpt-3.5-turbo",

  "choices": [

    {

      "message": {

        "role": "assistant",

        "content": "こんにちは!元気です、ありがとうございます!今日はどんなお手伝いができますか?"

      },

      "finish_reason": "stop",

      "index": 0

    }

  ]

}

```


---


### 注意点:

- `"your-api-key-here"` は実際の API キーに置き換えてください。

- サンプルコードでは `gpt-3.5-turbo` モデルを使用していますが、他のモデルに変更することもできます。

- エラーハンドリングは最小限に留めているため、API のレスポンスに応じたエラーメッセージを適切に表示するための追加処理が推奨されます。


この方法で、VB.NET アプリケーション内で ChatGPT と簡単に連携することができます。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.11.23 23:33:35


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: