APIを使用してChatGPTのバージョン情報を取得する方法
こんにちは!今回は、特定のAPIモデル「gpt-4o-mini」を使用している際に、ChatGPTのバージョン情報を正確に取得する方法についてご紹介します。多くのユーザーが経験している問題として、API経由でモデルのバージョン情報を確認しようとすると、「3.0-3.5」と返答されることがあります。しかし、「gpt-4o」というモデルでは正しい情報が得られるようです。
問題点
PHPとopenai-php/clientライブラリを使用した場合、以下のコード例で示すように、「gpt-4o-mini」モデルを使用すると期待通りに動作しないことが報告されています。
foreach ($history as $message) {
$messages[] = [
'role' => $message->role,
'content' => $message->content,
];
}
$messages[] = [
'role' => 'user',
'content' => $this->userQuestion,
];
$stream = $client->chat()->createStreamed([
'model' => 'gpt-4o-mini',
'messages' => $messages,
]);
解決策
この問題に対処するためには、APIリクエスト内でシステムメッセージとして事前に必要な情報を設定することが有効です。例えば、ChatGPTウェブチャットやOpenAIプレイグラウンドダッシュボードと同様の動作を期待する場合は、システムメッセージとして以下の内容を追加してください。
“You are ChatGPT, a large language model trained by OpenAI”
これにより、API経由でも正確なバージョン情報やその他の自己紹介的な回答が得られやすくなります。また、温度(temperature)についても調整することでより自然な応答が得られます。
実装例
以下はシステムメッセージと温度設定を含めた実装例です:
$systemMessage = "You are ChatGPT, a large language model trained by OpenAI.";
$messages[] = [
'role' => 'system',
'content' => $systemMessage,
];
foreach ($history as $message) {
$messages[] = [
'role' => $message->role,
'content' => $message->content,
];
}
$messages[] = [
'role' => 'user',
'content' => $this->userQuestion,
];
$stream = $client->chat()->createStreamed([
'model' => 'gpt-4o-mini',
'messages' => $messages,
'temperature' => 0.7, // 適宜調整可能
]);
このように設定することで、Webチャットと同じような応答品質が期待できます。
結論
ChatGPT APIから正確なバージョン情報や自己紹介的な回答を得るためには、システムメッセージとして適切な指示文を追加し、また必要に応じて温度設定なども調整することが重要です。これによって、自分自身についての質問にも一貫して正しい回答が得られるでしょう。
この記事がお役に立てば幸いです。それではまた次回の記事でお会いしましょう!
Source link
GIPHY App Key not set. Please check settings