ブラウザ上でローカルLLMと対話したい#1|テキスト入力と送信ボタン

0 アクセス

はじめに

このブログでは、これまでにOllamaを使って、ローカルLLMを動かしてきた
その中でも特にollma-pythonを用いてきたが、仕組みはapiを叩いてるだけなので、他の言語でもできるはずだと書いた
(参考)OllamaのPythonライブラリを使ってローカルLLMを利用する

そこで、javascriptを通じてOllamaを利用しようというのが今回の目的

今回は、htmlでできたページに、テキスト入力ボックスと送信ボタンを設置するところまで

サンプルコード

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>LLM Chat</title>
</head>
<body>
    <input type="text" id="inputmsg"> <!--入力ボックス-->
    <button type="button" id="send">送信</button><!--送信ボタン-->

    <div id="messages">
    </div>

    <script>
        const inputMsg = document.getElementById('inputmsg');
        const sendBtn = document.getElementById('send');
        const messagesDiv = document.getElementById('messages');

        sendBtn.addEventListener('click', () => {
            const message = inputMsg.value.trim();
            
            if (message) {
                // messagesに送信メッセージを追加
                const userMessageEl = document.createElement('div');
                userMessageEl.textContent = message;
                messagesDiv.appendChild(userMessageEl);

                // 入力をクリア
                inputMsg.value = '';

                // messagesに返信メッセージを追加
                const systemMessageEl = document.createElement('div');
                systemMessageEl.textContent = `あなたは「${message}」と言いました。`;
                messagesDiv.appendChild(systemMessageEl);
            }
        });
    </script>
</body>
</html>

いずれjavascriptを別ファイルにすると思う

body部分(script部分を除く)では、以下のオブジェクトを配置している

  • テキスト入力ボックス
  • ボタン
  • メッセージ表示領域:messages

script部分ではボタンがクリックされたときの動作を記述している

  1. 入力テキストを取得
  2. 入力文をmessagesに追加
  3. 入力ボックスをクリアする
  4. 返信文をmessagesに追加

実行例

「こんにちは」と「よろしく」を入力した例
メッセージが下に吊り下げられていく

おわりに

次は、送信メッセージをOllmaに投げてみたい

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です