PHPでDeepSeek APIを使ってみた。
2025/02/18 (火) - 09:00 PHP&CMS
何かと話題だったDeepSeek。DeepSeek APIがずっとメンテナンスで使えなかったのですが、気がついたら動くようになっていたので軽く触ってみました。
APIを使う場合は予めDeepSeek API PlatformからAPIキーの取得を済ませておく必要があります。発行時にAPIキーは一度しか表示されないので忘れずにメモしましょう。今はAPIのプロモーションが終っているので、使う場合は課金しておく必要があります(追記 2025年2月現在は、課金が停止されているので、課金したくとも出来ない模様)。
DeepSeekの安全性や信頼性の是非はあるものの、料金体系がGPTやClaudeより安いので個人利用で試しに使うのはアリかなと。
コード例
入力フォームから質問したら次の画面に遷移して回答を表示する流れです。以下はHTMLコード。
<form method="POST" action="">
<label for="prompt">質問を入れてね:
<textarea name="prompt" id="prompt" placeholder="質問を入力"><?php echo $prompt; ?></textarea></label>
<input type="submit" value="質問する">
</form>
以下は対応するPHPのコード(エラーやセキュリティ対策は省いてます)。ほぼGPTと一緒ですね…なぜなら公式のドキュメントですらOpen AIのSDKが使えるよ、と言ってるくらいなので…これって…。
<?php
$API_KEY = '{取得したAPIキーを入れる}';
$API_URL = 'https://api.deepseek.com/chat/completions';
$prompt = htmlspecialchars($_POST['prompt'], ENT_QUOTES, 'UTF-8');
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = array(
'model' => 'deepseek-chat', //モデルを選択
'system' => [
['role' => 'system', 'content' => '語尾ににゃんを付けてください']
],
'messages' => [
['role' => 'user', 'content' => $prompt]
],
'max_tokens' => 1000
);
$headers = array(
'Content-Type: application/json',
'Authorization: Bearer ' . $API_KEY
);
$ch = curl_init($API_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if($httpcode===200){
$result = json_decode($response, true);
$answer = $result['choices'][0]['message']['content'];
echo nl2br($answer);
} else {
echo 'エラーが発生したにゃん:'.$response;
}
}
?>
また、利用モデルや料金体系などは以下のドキュメント参照のこと。
あなたは犬と猫どちらが好きですか?
にゃん、わたしは猫の方が好きにゃ!でも犬もかわいいにゃ~。あなたはどっちが好きにゃ?
犬派か猫派かでは猫派だそうです。
おしまい♥
おすすめ記事
- Astro + microCMSでOGPタグを設定する(トップ・記事詳細)
- Astro&WordPressで記事一覧(ページネーション)と記事詳細ページの実装
- WordPressのショートコードで他の記事情報を表示する
- さくらのレンタルサーバーのPHPとSQLiteを使ってみた
- Astro&microCMSで1ページ内にカテゴリごとの記事一覧を表示する
トラックバック & ピンバック
- この記事へのトラックバックURI:
- https://weblog.walk-life.me/php_deepseekapi/trackback/