首页 > 其他分享 >构建未来对话:从零开始实现基于Vue 3的AI聊天页面

构建未来对话:从零开始实现基于Vue 3的AI聊天页面

时间:2024-07-10 15:55:40浏览次数:10  
标签:Vue vue AI App 从零开始 message 页面

大家好,今天我们将一起探索如何从零开始,使用Vue 3构建一个AI对话页面。这个过程不仅会让我们了解Vue 3的新特性,还会让我们对构建交互式Web应用有一个全新的认识。如果你是编程新手,别担心,我会用通俗易懂的语言,确保你能够跟上每一步。

第一步:搭建Vue 3工程

首先,我们需要搭建Vue 3的工程环境。假设你已经安装了Node.js和npm(Node包管理器)。如果还没有安装,去nodejs.org下载并安装它。

打开你的命令行工具,然后输入以下命令来创建一个新的Vue 3项目:

npm install -g @vue/cli vue create my-ai-chat-app

按照提示选择Vue 3的预设选项,等待项目创建完成。

第二步:项目结构概览

创建完成后,my-ai-chat-app项目的基本结构如下:

my-ai-chat-app
│   README.md
│   package.json

├───node_modules
├───public
└───src
    │   App.vue
    │   main.js
    │
    ├───assets
    ├───components

        │   ChatInput.vue
    ├───router

        │   index.js
    ├───store
    └───views

        │   Chat.vue

第三步:编写AI对话页面

接下来,我们将编写AI对话页面的核心代码。首先,让我们打开src/App.vue文件,这是我们的入口组件文件。

<template>
  <div id="app">
    <router-view />
  </div>
</template>

这个模板非常简单,它只包含了一个router-view,这是Vue Router的占位符,用于渲染匹配的路由组件。

ChatInput组件

现在,我们创建一个ChatInput.vue组件,用于发送消息。打开src/components/ChatInput.vue文件,并添加以下代码:

<template>
  <div>
    <!-- 消息展示 -->
    <div>{{ message.text }}</div>
    <!-- 输入框 -->
    <input v-model="message.text" placeholder="Type a message">
    <!-- 发送按钮 -->
    <button @click="sendMessage">Send</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: {
        text: ''
      }
    };
  },
  methods: {
    sendMessage() {
      // 这里将添加发送消息的逻辑
      console.log('Sending message:', this.message.text);
      this.message.text = ''; // 清空输入框
    }
  }
};
</script>

这个组件有一个数据模型message,包含一个text属性,用于绑定输入框。还有一个sendMessage方法,用于处理发送消息的逻辑。

main.js配置

最后,我们需要在src/main.js中引入并使用Vue Router和Vuex,以及我们的App组件。


import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';

createApp(App).use(store).use(router).mount('#app');

这里我们使用了Vue 3的Composition API,通过createApp函数创建应用实例,并使用use方法安装了Vue Router和Vuex。

第四步:如何运行你的Vue 3应用

现在,我们的AI对话页面已经准备好了,接下来是如何运行它。

  1. 打开命令行工具,导航到你的项目目录。
  2. 执行以下命令来启动开发服务器:
npm run serve

命令执行后,你通常会看到如下输出,提示你可以通过localhost地址访问你的应用:

DONE Compiled successfully in Xms App running at: - Local: http://localhost:8080/ - Network: http://<network-address>:8080/

打开浏览器,访问http://localhost:8080/,你将看到你的AI对话页面。

如何索要完整代码

如果你想要获取完整的代码,以便更好地理解整个项目的结构和逻辑,请在评论区留下你的邮箱。

结语

今天我们学习了如何使用Vue 3构建一个简单的AI对话页面。这里只是介绍了静态页面效果,关于如何接入大模型,实现真正的AI对话功能,请查看我写的这篇文章如何0成本制作AI对话微信小程序(附源码)

标签:Vue,vue,AI,App,从零开始,message,页面
From: https://blog.csdn.net/weixin_42545951/article/details/140324445

相关文章

  • 神州鲲泰 KunTai R722服务器默认密码指南
    iBMC管理网口默认IP为192.168.1.2。iBMC系统的默认用户名为Administrator,默认密码为Admin@9000。iBMCU-boot的初始密码。默认密码为Admin@9000。BIOS默认密码为KunTai@2020。 修改iBMC默认用户的初始密码步骤1在iBMC的Web主界面中选择“用户&安全>......
  • 【AI和大模型】AI到底和大模型有什么区别?机器学习,深度学习,python,NPL
    什么是AI?AI是一个广泛的领域,涵盖了模拟和扩展人类智能的多种理论和技术;而大模型是AI领域中的一种具体技术,特别是在自然语言处理(NLP)方面取得了显著进展的深度学习模型。大模型通常指的是具有大量参数的深度学习模型,它们通过在大规模数据集上进行训练,能够学到丰富的数据表示和模......
  • Vue3组件之间的通信
            在 Vue3 中,组件通信是构建应用程序时必须处理的核心问题之一。有效的组件通信可以帮助我们组织和管理应用程序的状态和行为,使得代码更加清晰和可维护。        Vue3 提供了多种方式来实现组件之间的通信,每种方式都有其适用的场景。在本文中,博主......
  • Vue项目安装Pinia
            在Vue.js 项目中,状态管理是非常重要的一环,它能够帮助我们更好地管理应用程序的状态和数据流。而 Pinia 是一个专为 Vue3 设计的状态管理库,提供了简洁的API和强大的功能,帮助我们更轻松地管理状态。    在本文中,博主将详细介绍如何在 Vue3 ......
  • vue3中关于指定props的复杂ts类型
    如果要对props的数据进行指定类型,基本类型可以直接使用类型约束,复杂类型可以使用PropType进行约束interfaceItemInterface{title:stringcode:stringstatus:numbericon:string}constprops=defineProps({type:String,userId:String,currentItem......
  • 从零学习大模型——使用GLM-4-9B-Chat + BGE-M3 + langchain + chroma建立的本地RAG应
    BGE-M3是第一个具有多功能、多语言和多粒度特性的文本检索模型。多功能:可以同时执行三种检索功能:单向量检索、多向量检索和稀疏检索。多语言:支持100多种工作语言。多粒度:它能够处理不同粒度的输入,从短句子到长达8192个词汇的长文档。为了构建RAG应用,我们需要用到向量数......
  • Stable Diffusion | AI协助室内设计神器,实现令人惊叹的视觉转换
    你是否已经厌倦了传统的室内设计方式,想探索新方法来增强作品设计感?本期小编就同大家分享一个新武器,用StableDiffusion的ControlNet来打造一个室内设计全新工作流。无论你是经验丰富的室内设计师还是初学小白,都将使你的日常工作如虎添翼、告别爆肝,焕发出令甲方爸爸们赞叹的......
  • AI绘画 | 如何利用SD垫图实现照片风格转换
    “小红书上有很多用AI做卡通头像的,大概思路是你拍一张个人照片发给博主,博主利用midjourney的垫图功能转换成卡通形象,一张收取一定费用……”看过之前文章的人都应该知道,midjourney是付费的软件,而且需要一定魔法上网能力。今天给大家分享,利用StableDiffusion(以下简称SD)的......
  • 从零学习大模型——使用GLM-4-9B-Chat + BGE-M3 + langchain + chroma建立的本地RAG应
    第一篇介绍了如何配置最基本的环境并下载了GLM-4-9B-Chat到本地,接下来我们试着将GLM-4-9B-Chat接入LangChain。LangChain 是一个基于大型语言模型(LLM)开发应用程序的框架。LangChain简化了LLM应用程序生命周期的每个阶段:开发:使用LangChain的开源构建模块和组件构建应用程序......
  • 从零学习大模型——使用GLM-4-9B + BGE-M3 + langchain + chroma建立的本地RAG应用(一)
    本项目基于DataWhaleChina的self-llm教程与llm-universe及Langchain官方文档等资料开发,旨在实现全部本地化的RAG应用。本项目使用AutoDL的云服务器进行开发。在 AutoDL 平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择 PyTorch-->2.1.0-->3.10(ubuntu22.04)-->12.......