中国AI「DeepSeek」がすごい件


はじめましての方もそうでないかたもこんにちは!
ひめみこです。

今回は中国企業発、AIモデルDeepSeek-R1/V3について、Webサービス版の使用感をお話します!

性能は結構良い…かも?

DeepSeekって何さ

DeepSeekは中国の杭州に拠点を置くAI開発企業です。開発されたモデルはオープンソースであり、誰でも自由に利用できるのが強みです。

2025年1月に、最新モデルである「DeepSeek-R1」が公開されました。このモデルはこのモデルはOpenAIの「o1」と同等の性能を持つとされています。

さらに、API使用料が非常に安価で提供されており、低コストで利用できるのが大きな特徴です。

また、ChatGPTやGeminiのようなWebサービスも展開されており(しかも無料…!)誰でも使いやすいモデルとなっています。

早速使ってみる

Webサービス版DeepSeek

今回私が利用したのはWebサービス版のDeepSeekです。基本的にはChatGPTと同じように使えます。

DeepSeekのサイトにアクセスし、StartNowクリックしてをアカウント登録をすれば無料で使用できます。

言語は中国語か英語のみですが、返答は日本語で返してくれますし、使用には問題はないと思います。

見てわかるようにUIはChatGPTに似てます(笑)使い方もはChatGPTと同じようにチャットベースのAIサービスになります。

デフォルトのモデルはV3で、チャット入力欄の左下のボタンを押せば、推論モデルのR1も使えます。隣のボタンはWebサーチの機能です。

ファイルの読み込みもできるようで、o1がPDFを読み込めない中R1はPDFの読み込みもできます(便利!)。

使用感もChatGPTと遜色ないレベルでo1が有料のことを考えると、無料でこれが使用できるのはすごいと思います。ただし、推論が中国語ベースのようで、翻訳時のズレが起こる可能性があります。また、中国特有のお国事情で返答によっては制限される可能性があるそうです。

ゲームを作ってみる

ゲームを作らせる

せっかくなので、DeepSeekに何か作らせてみましょう。今回は、ブラウザで動くもぐらたたきのゲームを作ってみました。最後にゲームページへのリンクを用意しましたので、よかったら試してみてください。

ゲームを作らせる

プロンプトは「ブラウザで動くモグラたたきゲームを作って」にしました。

ひめみこ

もぐらたたきゲームを作って

AI

コードが生成されました。

コード生成欄の右下に出てくるRun HTML
これをクリックすると…。

え?それは便利すぎない?

※生成されたコードの全文はこちら

HTML
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>もぐらたたきゲーム</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100vh;
            margin: 0;
            background-color: #f0f0f0;
        }

        h1 {
            margin-bottom: 20px;
        }

        #game {
            display: grid;
            grid-template-columns: repeat(3, 100px);
            grid-template-rows: repeat(3, 100px);
            gap: 10px;
        }

        .hole {
            width: 100px;
            height: 100px;
            background-color: #8B4513;
            border-radius: 50%;
            position: relative;
            overflow: hidden;
            cursor: pointer;
        }

        .mole {
            width: 80px;
            height: 80px;
            background-color: #333;
            border-radius: 50%;
            position: absolute;
            bottom: -80px;
            left: 10px;
            transition: bottom 0.3s ease;
        }

        .mole.up {
            bottom: 10px;
        }

        #score {
            margin-top: 20px;
            font-size: 1.5em;
        }

        #timer {
            margin-top: 10px;
            font-size: 1.2em;
        }
    </style>
</head>
<body>
    <h1>もぐらたたきゲーム</h1>
    <div id="game">
        <div class="hole" data-index="0">
            <div class="mole"></div>
        </div>
        <div class="hole" data-index="1">
            <div class="mole"></div>
        </div>
        <div class="hole" data-index="2">
            <div class="mole"></div>
        </div>
        <div class="hole" data-index="3">
            <div class="mole"></div>
        </div>
        <div class="hole" data-index="4">
            <div class="mole"></div>
        </div>
        <div class="hole" data-index="5">
            <div class="mole"></div>
        </div>
        <div class="hole" data-index="6">
            <div class="mole"></div>
        </div>
        <div class="hole" data-index="7">
            <div class="mole"></div>
        </div>
        <div class="hole" data-index="8">
            <div class="mole"></div>
        </div>
    </div>
    <div id="score">スコア: 0</div>
    <div id="timer">残り時間: 30 秒</div>

    <script>
        const holes = document.querySelectorAll('.hole');
        const moles = document.querySelectorAll('.mole');
        const scoreDisplay = document.getElementById('score');
        const timerDisplay = document.getElementById('timer');
        let score = 0;
        let timeLeft = 30;
        let timerId;
        let moleTimerId;

        function randomTime(min, max) {
            return Math.round(Math.random() * (max - min) + min);
        }

        function randomHole() {
            const index = Math.floor(Math.random() * holes.length);
            return holes[index];
        }

        function peep() {
            const hole = randomHole();
            const mole = hole.querySelector('.mole');
            const time = randomTime(500, 1000);

            mole.classList.add('up');
            setTimeout(() => {
                mole.classList.remove('up');
                if (timeLeft > 0) {
                    peep();
                }
            }, time);
        }

        function startGame() {
            score = 0;
            timeLeft = 30;
            scoreDisplay.textContent = 'スコア: 0';
            timerDisplay.textContent = '残り時間: 30 秒';
            clearInterval(timerId);
            clearTimeout(moleTimerId);
            peep();
            timerId = setInterval(updateTimer, 1000);
        }

        function updateTimer() {
            timeLeft--;
            timerDisplay.textContent = `残り時間: ${timeLeft} 秒`;
            if (timeLeft === 0) {
                clearInterval(timerId);
                alert(`ゲーム終了! スコア: ${score}`);
            }
        }

        function whack(e) {
            if (!e.isTrusted) return; // ユーザーによるクリックか確認
            if (this.querySelector('.mole').classList.contains('up')) {
                score++;
                scoreDisplay.textContent = `スコア: ${score}`;
                this.querySelector('.mole').classList.remove('up');
            }
        }

        holes.forEach(hole => hole.addEventListener('click', whack));
        startGame();
    </script>
</body>
</html>

さすがに1度で完璧なコードは出てきませんでしたが、とりあえずゲームとして成り立つものが作成されました。しかもtransitionを使ってそれっぽく見せてる。すごい。
以前ChatGPTに同じ内容を生成させたときは丸がついたり消えたりするだけで、上下の運動はなかったはず…。すごい。

ここから更に改良するように指示を加え、もぐらたたきゲームを完成させてもらいました。すべてAI生成です。私は一切コードを直してません。
よかったらプレイしてみてください。

感触が良い

ここまで、簡単なコード生成を行ってもらいましたが、非常に感触がよいです。普段はChatGPTを使用しているのですが、遜色ないレベルだと思います。推論モデルを無料で使用できるのは非常に良いと思います。

無料の範囲だと使用制限があるようですが、リリースされたばかりで情報がなく、何回までは不明。今のところ制限には達していないため、日常的な使用であれば問題がないと思います。

中国製なのがちょっとこわい

問題点を上げるとしたら中国製なこと。ニュース記事などによると、返答内容に政治的偏りがあるそうです。

私も試しに聞いてみました。

返答なし!

まあ、そういうことでしょう…。あまり深くは言及しません。

また、当たり前のことですが個人情報は入れてはだめです。データの収集先が不明なので危ないと思います。中国製のソフトウェアは個人情報ダダ漏れという事はよくあることですし…。

使用する際は、ある程度のリスクを考慮したうえで使用してください。このモデルに限らずAIに個人情報を渡すのはやめましょう。

まとめ

オープンソースのLLMでは相当レベルが高いモデルだと思います。

o1と同等とのことですが、使用した感じあながち嘘でもないかもしれません。特にコード生成において、高い生成能力があると感じました。これを無料で使用できるのは素晴らしいと思います。

また、API使用料が非常に安いため、ローカルでLLM構築する方にも良いモデルが出たな感じました。

しかし、中国製であるため、翻訳の問題や安全上のリスクは捨てきれないと思います。使用は自己責任になってしまいますが、そのあたりは値段と天秤にかけて使用する感じですかね。

まだリリースされたばかりで情報が少ないですが、間違いなくAI業界の新勢力として力をつけていくモデルになるでしょう。

読んでくれてありがとうございました!

ぜひシェアをよろしくお願いします…!

コメント欄です!