このブログ投稿では、Ollama の Llama 3 モデルと対話する単純なチャット アプリケーションを作成するプロセスを順を追って説明します。フロントエンドには JavaScript、HTML、CSS を使用し、バックエンドには Express を備えた Node.js を使用します。最終的には、ユーザー メッセージを AI モデルに送信し、その応答をリアルタイムで表示する、機能するチャット アプリケーションが完成します。
始める前に、次のものがマシンにインストールされていることを確認してください:
まず、チャット アプリケーションの構造を定義する、index.html という名前の HTML ファイルを作成します。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Chat with Ollama's Llama 3</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div id="chat-container"> <div id="chat-window"> <div id="messages"></div> </div> <input type="text" id="user-input" placeholder="Type your message here..."> <button id="send-button">Send</button> </div> <script src="script.js"></script> </body> </html>
この HTML ファイルには、チャット メッセージのコンテナ、ユーザー メッセージの入力フィールド、および送信ボタンが含まれています。
次に、チャット アプリケーションのスタイルを設定するために、styles.css という名前の CSS ファイルを作成します。
body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #f0f0f0; margin: 0; } #chat-container { width: 400px; border: 1px solid #ccc; background-color: #fff; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); overflow: hidden; } #chat-window { height: 300px; padding: 10px; overflow-y: auto; border-bottom: 1px solid #ccc; } #messages { display: flex; flex-direction: column; } .message { padding: 8px; margin: 4px 0; border-radius: 4px; } .user-message { align-self: flex-end; background-color: #007bff; color: #fff; } .ai-message { align-self: flex-start; background-color: #e0e0e0; color: #000; } #user-input { width: calc(100% - 60px); padding: 10px; border: none; border-radius: 0; outline: none; } #send-button { width: 60px; padding: 10px; border: none; background-color: #007bff; color: #fff; cursor: pointer; }
この CSS ファイルにより、チャット アプリケーションがクリーンでモダンに見えるようになります。
フロントエンド機能を処理するために、script.js という名前の JavaScript ファイルを作成します。
document.getElementById('send-button').addEventListener('click', sendMessage); document.getElementById('user-input').addEventListener('keypress', function (e) { if (e.key === 'Enter') { sendMessage(); } }); function sendMessage() { const userInput = document.getElementById('user-input'); const messageText = userInput.value.trim(); if (messageText === '') return; displayMessage(messageText, 'user-message'); userInput.value = ''; // Send the message to the local AI and get the response getAIResponse(messageText).then(aiResponse => { displayMessage(aiResponse, 'ai-message'); }).catch(error => { console.error('Error:', error); displayMessage('Sorry, something went wrong.', 'ai-message'); }); } function displayMessage(text, className) { const messageElement = document.createElement('div'); messageElement.textContent = text; messageElement.className = `message ${className}`; document.getElementById('messages').appendChild(messageElement); document.getElementById('messages').scrollTop = document.getElementById('messages').scrollHeight; } async function getAIResponse(userMessage) { // Example AJAX call to a local server interacting with Ollama Llama 3 const response = await fetch('http://localhost:5000/ollama', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ message: userMessage }), }); if (!response.ok) { throw new Error('Network response was not ok'); } const data = await response.json(); return data.response; // Adjust this based on your server's response structure }
この JavaScript ファイルは、送信ボタンと入力フィールドにイベント リスナーを追加し、ユーザー メッセージをバックエンドに送信し、ユーザーと AI の両方の応答を表示します。
Node.js がインストールされていることを確認してください。次に、バックエンド用のserver.jsファイルを作成します。
Express のインストール:
npm install express body-parser
server.js ファイルを作成します:
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); const port = 5000; app.use(bodyParser.json()); app.post('/ollama', async (req, res) => { const userMessage = req.body.message; // Replace this with actual interaction with Ollama's Llama 3 // This is a placeholder for demonstration purposes const aiResponse = await getLlama3Response(userMessage); res.json({ response: aiResponse }); }); // Placeholder function to simulate AI response async function getLlama3Response(userMessage) { // Replace this with actual API call to Ollama's Llama 3 return `Llama 3 says: ${userMessage}`; } app.listen(port, () => { console.log(`Server running at http://localhost:${port}`); });
サーバーを実行します:
node server.js
このセットアップでは、Node.js サーバーは受信リクエストを処理し、Ollama の Llama 3 モデルと対話して、応答を返します。
これらの手順に従うことで、ユーザー メッセージを Ollama の Llama 3 モデルに送信し、応答を表示するチャット アプリケーションが作成されました。このセットアップは、特定の要件と Llama 3 モデルが提供する機能に基づいて拡張およびカスタマイズできます。
チャット アプリケーションの機能を自由に探索して拡張してください。コーディングを楽しんでください!
以上がJavaScript、HTML、CSS を使用した Ollama の Llama odel によるチャット アプリケーションの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。