cyberagent-deepseek-r1-distill-qwen-14b-japaneseをVSCODEで使いました

2025/02/03に公開

Deepseekが登場してVSCODEでDeepseekを使うという投稿が、Xで散見されるようになりました。
私も、LMStudioを使っていますので、試したいと思いました。
今回は、(株)サイバーエージェントがDeepseekをベースに開発したモデルを蒸留して作られたcyberagent-deepseek-r1-distill-qwen-14b-japaneseを使いました。
https://huggingface.co/mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-14B-Japanese-gguf
このモデルのお陰で、私のノートパソコンでもDeepseekを使うことができます。

私のノートパソコンのスペック

グラフィックボード

NVIDIA RTX3060 laptop
VRAM6GB

CPU

12th Gen Intel(R) Core(TM) i7-1280P 2.00 GHz

本体メモリ

RAM16GB

OS

Windows11 HOME

試したこと

参考にした記事

https://qiita.com/QA_tonchan/items/68fe5b27ffabb42498b2

VSCODEにcontinueをインストール

LMStudioを先に起動してモデルを読み込みしておいてから、VSCODEにcontinueをインストールしました。

LMStudioを選択して、モデルのところをautoにしました。

自動でLMStudioで使っているモデルを読み込み、一覧表示できました。

使用例

今回HTML5のテンプレートをテストで、作ってもらいました。
このような回答で、コードが出力されました。
回答が遅く私が別の拡張機能にアクセスしてしまったので、回答が途中で止まってしまいました。

こちらが回答です。


HTML5ではセマンティックタグが重要です。header、nav、section、articleなどを使うべきでしょう。レスポンシブデザインに対応しているかどうかもポイントですね。最近はモバイルファーストの設計が主流なので、メディアクエリも含めると良いかもしれません。

スタイルをどのように管理するか。CSSを外部ファイルに分けるか、内部スタイリングにするか。今回はシンプルさを優先してHTMLとCSSを一つのファイルにまとめた方が使いやすいかも。ただし、ユーザーがカスタマイズしやすくするためにクラス名は分かりやすくしておく必要がありますね。

ヘッダー部分にはナビゲーションバーを入れる必要があります。ロゴやメニュー項目があり、レスポンシブ対応でモバイルではドロップダウンになるような構造が一般的です。メニューアイコンを非表示にしておくのも良いかもしれません。

メインコンテンツはセクションに分けられるでしょう。hero部分、about、services、contactなど、主要なセクションを配置します。各セクションには目立つ見出しとテキストを入れます。

フッターも忘れずに。©opyrightやソーシャルメディアリンクが含まれると親切です。レスポンシブ対応のため、メディアクエリを使ってモバイル表示を調整します。例えば、ナビゲーションメニューを固定ヘッダーに移動したり、カラム数を減らすなど。

CSSでは、グリッドレイアウトやFlexboxを使うと構造が明確になります。色合いも考慮して、アクセシブルなコントラスト比になるようにします。フォントのサイズや行間も調整しやすいようパーセンテージを使います。

最後に、ユーザーがカスタマイズしやすくするためにコメントを入れたり、変数化できる部分をマークします。例えば、カラーパレットをCSS変数で定義すると簡単に変えられますね。

これらを踏まえて、具体的なコードを作成します。HTMLの構造と必要なクラス名を明確にし、スタイリングでレスポンシブ対応を実装します。サンプルとして見出しやメニュー、メインコンテンツ、フッターを配置したテンプレートを作成すると良いでしょう。

以下はHTML5を使ったモダンなウェブサイトの基本テンプレートです。セマンティックタグを使用し、レスポンシブデザインに対応しています。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- フォントの読み込み -->
    <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap" rel="stylesheet">
    
    <title>Webサイトテンプレート</title>

    <style>
        /* レスポンシブデザインの基本設定 */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'Noto Sans JP', sans-serif;
            line-height: 1.6;
        }

        /* グリッドレイアウトの基盤 */
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* ヘッダー部分 */
        header {
            background-color: #f8f9fa;
            padding: 1rem 0;
        }

        nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-size: 2rem;
            font-weight: bold;
        }

        .main-nav {
            display: flex;
            gap: 1.5rem;
            list-style: none;
        }

        /* メインコンテンツ */
        main {
            padding: 2rem 0;
        }

        section {
            margin-bottom: 4rem;
        }

        h1, h2 {
            font-size: 1.6rem;
            margin-bottom: 1rem;
        }

        .hero-image {
            height: 50vh;
            background-size: cover;
            background-position: center;
        }

        /* フッター */
        footer {
            background-color: #343a40;
            color: white;
            padding: 2rem 0;
            margin-top: 4rem;
        }

        .social-links {
            display: flex;
            gap: 1.5rem;
            justify-content: center;
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            nav {
                flex-direction: column;
                text-align: center;
            }

            .main-nav {
                display: none;
            }
            
            .logo {
                font-size: 2rem;
                margin-bottom: 1.5rem;
            }
        }

        @media (max-width: 480px) {
            .hero-image {
                height: 60vh;
            }
        }
    </style>
</head>
<body>
    <header>
        <nav class="container">
            <div class="logo">YourBrand</div>
            <ul class="main-nav">
                <li><a href="#home">ホーム</a></li>
                <li><a href="#about">会社概要</a></li>
                <li><a href="#services">サービス</a></li>
                <li><a href="#contact">お問い合わせ</a></li>
            </ul>
        </nav>
    </header>

    <main class="container">
        <section id="home" class="hero-image" style="background-image: url('your-background-image.jpg')"></section>

        <section id="about">
            <h2>会社概要</h2>
            <p>ここで会社の紹介文を記載します。</p>
        </section>

        <section id="services">
            <h2>サービス内容</h2>
            <!-- サービス項目用のグリッドレイアウト -->
            <div class="grid-container">
                <article class="service-item">
                    <h3>サービス1</h3>
                    <p>詳細説明...</p>
                </article>
                <!-- 他のサービスアイテムを追加 -->
            </div>
        </section>

        <section id="contact">
            <h2>Contact Us</h2>
            <form>
                <!-- フォーム項目を記載 -->
            </form>
        </section>
    </main>

    <footer>
        <div class="container">
            <p>&copy; 2024 YourBrand. All rights reserved.</p>
            <div class="social-links">
                <a href="#"><i class="fab fa-twitter"></i></a>
                <a href="#"><i class="fab fa-facebook"></i></a>
                <a href="#"><i class="fab fa-instagram"></i></a>
            </div>
        </div>
    </footer>
</body>
</html>

このテンプレートの特徴:

セマンティックタグ(header, nav, section, articleなど)を活用
レスポンシブデザイン対応
CSS Grid/Flexboxを使用したレイアウト
外部CSS変数に対応可能
アクセシブルなナビゲーション構造
セキュリティを考慮したフォーム設計
Google Fontsとの統合
主なコンポーネント:

フィックスヘッダーとレスポンシブナビゲーション
グラデーションや背景画像


途中で回答を止めてしまったのでが、詳しく回答してくれました。
このコードのプレビューは、こちらです。

今回の回答のコードは、簡単にVSCODEで開いているファイルに挿入できます。

Applyというボタンをクリックすると、コードを挿入できました。

まとめ

簡単ですが、今体験したことをまとめました。
私はOllamaも使っていますが、内蔵SSDの空き容量が少ないので、モデルを外部のドライブに保存ができるLMStudioを使いたいと思い、今回ネットで調べて試しました。

Discussion