13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Azure OpenAI】gpt-4oのAPIが使えるようになったので試してみる

Last updated at Posted at 2024-05-23

はじめに

2024年5月22日にAzureOpenAIにてgpt-4oが正式にリリースされました。
APIの仕様等に大きな変化がないか検証するついでに記事を作成しています。
API検証のためのソースコードは前回の記事にて作成したものを流用しています。

モデルをデプロイしよう

現在、gpt-4oは6つのリージョンで使用可能です。
今回はeast usにてgpt-4oのデプロイを行います。
引用:Azure OpenAI Service models
image.png
はじめに、AzureOpenAI Studioを開き新しいデプロイの作成を押します。
image.png
モデル、モデルバージョン、デプロイ名の三点を指定してください。
デプロイ名は任意のもので大丈夫です。
入力が完了したら作成ボタンで作成をしましょう。
image.png
少し待つとモデルがデプロイされます。
image.png
これでモデルの準備は完了です。

メニューのチャットボタンからAzureOpenAI Studioでモデルのデモが可能です。
image.png
image.png

OCR検証

私は昔から字が汚くて読めないとよく言われるのですが、更に汚くしてどの程度読んでくれるのか検証してみました。

"o"が"0"になってしまった以外は完璧なのではないでしょうか!!
このクセ字をほぼ完ぺきに読めるのには正直驚きました。gpt-4o恐るべし...
image.png
一方でgpt-4 turboは....
image.png
まだ私の字を読ませるには早すぎたようです。
的外れな回答が返ってきました。

これだけでgpt-4oがどれだけ進化しているのかが分かりますね!!

APIの実装

今回は前回の記事に引き続きAzureOpenAIのNode.js用ライブラリを使用します。
使用しているライブラリやソースコードについての解説は前回の記事で行っているため割愛します。

"YOUR ○○○○"には対応する情報を入れてください。

index.js
const express = require('express');
const http = require('http');
const { OpenAIClient, AzureKeyCredential } = require('@azure/openai');
const app = express();
const server = http.Server(app);
const port = 3000;

server.listen(port, () => {
    console.log(`listening on port ${port}`);
    main()
});

async function main(){
    const endpoint = "YOUR ENDPOINT";
    const azureApiKey = "YOUR APIKEY";
    const deploymentId = "YOUR DEPLOYMENT NAME";
    const message = "YOUR PROMPT";
    
    const resp = await getAzureOpenAI(message,endpoint,azureApiKey,deploymentId);
    
    console.log(resp);
}

async function getAzureOpenAI(message,endpoint,azureApiKey,deploymentId) {

    const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey));
    const messages = [
        { role: "system", content: "あなたは優秀なアシスタントで幅広い分野について回答することができます。" },
        { role: "user", content: message }
    ];

    const result = await client.getChatCompletions(deploymentId, messages);
    const [choice] = result.choices;

    return choice.message.content;
};

起動すると
"YOUR PROMPT"の部分に入力したメッセージに対する回答が出力されます。
こちらは"Azureについて200文字程度で教えてください。"と入力した場合の応答です。

image.png

gpt-4oとgpt-4turboで
どの程度回答速度に差があるか計測してみました!

  4o 4turbo
1回目 4.72秒 8.03秒
2回目 4.07秒 8.05秒
3回目 4.23秒 8.41秒
4回目 3.71秒 8.76秒
5回目 3.41秒 11.99秒

[中央値]
gpt-4o :4.07秒
gpt-4turbo:8.41秒

先ほどと同様"Azureについて教えてください。"と入力した場合の応答速度です。

プロンプトによって結果は異なると思われますが今回の検証ではほぼ二倍の速さ....
gpt-4o進化しすぎでは...?

感想

gpt4-turbo 2024-04-09も十分に早かったですがそれを上回る速さに驚きました。

OCRの精度も飛躍的に向上しており手書き文字の場合も95%以上の精度で読み取ることができました。(私の汚い字を読むことができる)

こちらの記事にあるようにOpenAIのCEOが「さらなるプロダクトを近く発表する」とコメントされたそうなので今後もOpenAI関連のニュースに注目していきたいと思います。
引用:オープンAI、新AIモデル「GPT-4o」発表-低価格で高速

日々新しい情報が公開されていて飽きないですね!!最近は帰宅後も調べてしまうくらいに沼にハマっています。。

13
9
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
13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?