OpenAIのGPT-4は、人間のような自然なテキストを生成することで知られています。今回は、Go言語を利用してこの強力なAPIにアクセスし、AIにテキストを生成させる方法を解説します。本記事では、GoでのOpenAI GPT-4 APIの設定方法、API呼び出し方法、そして得られた結果の解析方法について詳しく説明します。
OpenAI APIキーの取得
GPT-4を利用するためにはまず、OpenAIのウェブサイトからAPIキーを取得する必要があります。こちらからサインアップしてAPIキーを取得しましょう。
OpenAIのGPT APIを使いこなす:効率的なAIアプリケーション開発への一歩
GoによるOpenAI GPT-4 APIの利用
では実際にGo言語でOpenAIのGPT-4 APIを呼び出すコードを見てみましょう。以下のコードスニペットは、APIキーを利用してOpenAI APIに接続し、テキスト生成リクエストを行う例です。
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
type GptRequest struct {
Model string `json:"model"`
Messages []struct {
Role string `json:"role"`
Content string `json:"content"`
} `json:"messages"`
}
type GptResponse struct {
Choices []struct {
Message struct {
Content string `json:"content"`
} `json:"message"`
} `json:"choices"`
}
func main() {
var prompt string
fmt.Println("Enter the topic:")
fmt.Scanln(&prompt)
url := "https://api.openai.com/v1/chat/completions"
payload := &GptRequest{
Model: "gpt-4",
Messages: []struct {
Role string `json:"role"`
Content string `json:"content"`
}{
{
Role: "user",
Content: prompt,
},
},
}
jsonPayload, err := json.Marshal(payload)
if err != nil {
fmt.Println("error!")
return
}
// Create a new HTTP request
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonPayload))
if err != nil {
fmt.Println("error!")
return
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", "あなたのAPIキー"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
fmt.Println("error!")
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("error!")
return
}
var gpt4Response GptResponse
err = json.Unmarshal(body, &gpt4Response)
if err != nil {
fmt.Println("error!")
return
}
text := gpt4Response.Choices[0].Message.Content
fmt.Println("----------")
fmt.Println(text)
fmt.Println("----------")
}
このコードでは、プロンプトに入力した質問から回答を出力するシンプルなアプリケーションです。
APIへのアクセスに関してはnet/http
を利用して通信しています。
go run main.goコマンドを実行すると下記のようになります
go run main.go
Enter the topic:
日本の首都はどこですか?
----------
日本の首都は東京です。
----------
上記では日本の首都はどこですか?との質問にGPT-4から「日本の首都は東京です。」との回答が返ってきています
まとめ
この記事では、Go言語を使ってOpenAIのGPT-4 APIを利用する方法について解説しました。OpenAI APIを利用すると、人間のような自然なテキストを生成することが可能となります。Go言語の強力な機能と組み合わせれば、より高度なAIアプリケーションを開発することが可能になります。
それぞれの環境や目的に合わせて、上記のコードを適宜カスタマイズし、AIとの対話を楽しんでみてください。
なお、OpenAIのAPI利用には制限がありますので、詳細はOpenAIの公式ドキュメントをご参照ください。