1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Go言語でOpenAI APIを使ってみよう!簡単スタートガイド

Posted at

この記事ではOpenAIのAPIをGo言語でどのように使用するのかを解説していきます。簡単なリクエストまでの解説なので、それ以降は適宜カスタマイズしていただければと思います。

OpenAI APIの概要

OpenAI APIを用いることで、GPT-3などの言語モデルにアクセスができるようになります。これにより、テキスト補完、要約、翻訳などの様々な自然言語処理機能を自身のWebアプリに追加することができます。

OpenAI APIのセットアップ手順

APIキーの取得

まずはAPIキーを取得します。OpenAPIにアクセスしてアカウントを作成して、ログインします。

ログインすると下記のような選択画面が表示されるので、「API」をクリックします。
image.png

右上に表示されるアイコンをクリックし、メニュー中の「View API keys」をクリックします。
image.png

続いて「Create new secret key」をクリックし、APIキーを作成します。こちらのキーは後ほど使用するので、どこかに控えておくかタブを消さずに置いておいてください。
image.png

Goプロジェクトの作成

続いてGoの実行環境を整えていきます。本記事では私が以前に作成した下記リポジトリを使用することとします。

ローカルにクローンして、実行用コンテナを立ち上げます。

# 学習用リポジトリをローカルにクローン
$ git clone https://github.com/fumiakikobayashi/go-learning-environment

# コンテナを立ち上げる
$ make up

go-openaiのインストール

今回はOpenAI APIを使用するにあたって下記のgo-openaiを使用します。

$ go get github.com/sashabaranov/go-openai

これでAPIを使用する準備は完了です。続いて簡単なリクエストをしてみます。

GoからOpenAI APIに対して基本的なリクエスト(例えばテキスト生成)を送信する具体的なコード例

READMEに書いてある下記のコードを実行してみます。「your token」と書いてある箇所に先ほど取得したAPIキーを入れてください。

src/main.go
package main

import (
	"context"
	"fmt"
	"github.com/sashabaranov/go-openai"
)

func main() {
	client := openai.NewClient("your token")
	resp, err := client.CreateChatCompletion(
		context.Background(),
		openai.ChatCompletionRequest{
			Model: openai.GPT3Dot5Turbo,
			Messages: []openai.ChatCompletionMessage{
				{
					Role:    openai.ChatMessageRoleUser,
					Content: "Hello!",
				},
			},
		},
	)

	if err != nil {
		fmt.Printf("ChatCompletion error: %v\n", err)
		return
	}

	fmt.Println(resp.Choices[0].Message.Content)
}

実行すると下記のような結果が返ってきます。

/go/src # go run main.go
Hello! How can I assist you today?

これでOpenAI APIのリクエストは完了です。

記事の要点のまとめ

以上、簡単にですが、Go言語でOpenAI APIを叩くまでの流れを解説しました。下記にOpenAI APIのリファレンスを載せているので、詳細は確認してみてください。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?