[go: up one dir, main page]

CN118113286A - Ai聊天界面搭建方法、装置、终端及存储介质 - Google Patents

Ai聊天界面搭建方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN118113286A
CN118113286A CN202410326323.3A CN202410326323A CN118113286A CN 118113286 A CN118113286 A CN 118113286A CN 202410326323 A CN202410326323 A CN 202410326323A CN 118113286 A CN118113286 A CN 118113286A
Authority
CN
China
Prior art keywords
user interface
chat
tailwind
state management
css
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202410326323.3A
Other languages
English (en)
Inventor
郗子硕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aijiwei Consulting Xiamen Co ltd
Original Assignee
Aijiwei Consulting Xiamen Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aijiwei Consulting Xiamen Co ltd filed Critical Aijiwei Consulting Xiamen Co ltd
Priority to CN202410326323.3A priority Critical patent/CN118113286A/zh
Publication of CN118113286A publication Critical patent/CN118113286A/zh
Priority to CN202411837613.0A priority patent/CN119759349A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种AI聊天界面搭建方法、装置、终端及存储介质。该方案可以采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计,通过Tailwind CSS框架对用户界面进行调整,在后端集成预设自然语言处理模型,以处理用户界面接收到的请求,在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。本申请实施例所提供的方案在用户界面设计、状态管理和响应性方面,通过创新性地整合React框架、Material UI、Jotai与Valtio状态管理库以及Tailwind CSS框架,增强了应用的性能和功能性。

Description

AI聊天界面搭建方法、装置、终端及存储介质
技术领域
本发明涉及数据处理技术领域,具体涉及一种AI聊天界面搭建方法、装置、终端及存储介质。
背景技术
随着科技的不断发展,AI虚拟技术也突飞猛进,AI聊天机器人可为客户服务提供自然语言处理、机器学习和聊天互动功能,其将机器学习与符号推理相结合,旨在为自动响应包括重复查询、咨询问答等应用,为客户提供更好体验,并提供有吸引力且高效的技术支持。
在实际使用过程中,申请人发现:现有技术方案主要集中在利用传统前端框架和技术栈来构建AI聊天界面。这些方案通常包括使用基于Vue.js或Angular等框架,结合传统的CSS布局和状态管理库(如Redux或Vuex),来实现聊天界面。聊天界面的构建往往采用较为传统的组件库,例如Bootstrap或Semantic UI,这些库虽然提供了一定程度的视觉美感和基本的响应式布局,但在定制化和灵活性方面较弱,通常无法很好地适应不同用户的操作习惯和设备特性,另外对于状态管理的问题,现有方案往往在处理频繁更新和多源数据的场景下显得笨重和低效。
发明内容
本发明实施例提供一种AI聊天界面搭建方法、装置、终端及存储介质,在用户界面设计、状态管理和响应性方面,通过创新性地整合React框架、Material UI、Jotai与Valtio状态管理库以及Tailwind CSS框架,增强了应用的性能和功能性。
本发明实施例提供一种AI聊天界面搭建方法,包括:
采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计;
通过Tailwind CSS框架对所述用户界面进行调整;
在后端集成预设自然语言处理模型,以处理所述用户界面接收到的请求;
在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
本发明实施例还提供一种AI聊天界面搭建装置,包括:
设计单元,用于采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计;
调整单元,用于通过Tailwind CSS框架对所述用户界面进行调整;
处理单元,用于在后端集成预设自然语言处理模型,以处理所述用户界面接收到的请求;
管理单元,用于在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
本发明实施例还提供一种终端,所述终端包括:存储器、处理器,其中,所述存储器上存储有应用程序处理程序,所述应用程序处理程序被所述处理器执行时实现本发明实施例所提供的任一项所述的AI聊天界面搭建方法的步骤。
本发明实施例还提供一种计算机可读的存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一AI聊天界面搭建方法。
本发明实施例提供的AI聊天界面搭建方法,可以采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计,通过Tailwind CSS框架对用户界面进行调整,在后端集成预设自然语言处理模型,以处理用户界面接收到的请求,在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。本申请实施例所提供的方案在用户界面设计、状态管理和响应性方面,通过创新性地整合React框架、Material UI、Jotai与Valtio状态管理库以及Tailwind CSS框架,增强了应用的性能和功能性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的AI聊天界面搭建方法的第一种流程示意图;
图2是本发明实施例提供的在状态管理中状态流向示意图;
图3是本发明实施例提供的AI聊天界面搭建方法的第二种流程示意图;
图4是本发明实施例提供的AI聊天界面搭建装置的第一种结构示意图;
图5是本发明实施例提供的终端的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本文中,采用了诸如101、102等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行102后执行101等,但这些均应在本申请的保护范围之内。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明实施例提供一种AI聊天界面搭建方法,该AI聊天界面搭建方法的执行主体可以是本发明实施例提供的AI聊天界面搭建装置,或者集成了该AI聊天界面搭建装置的智能终端及服务器,其中该AI聊天界面搭建装置可以采用硬件或者软件的方式实现。
在描述本发明的技术方案之前,先对相关的技术术语进行简单解释:
React:用于构建用户界面的JavaScript库,起源于Facebook的内部项目,React框架在现代前端开发的项目中越来越常用,该框架的语法结构也深深的影响着其他框架在设计时的思路和理念。
Material UI:是一套实现了Google的Material Design全新设计语言的CSS框架。Material UI提供了npm包的形式。
Jotai:用于构建React应用程序。它提供了一种简单且可扩展的方式来管理应用程序中的状态。他的设计灵感来自于Recoil,但它采用了一种更加简化和直观的API。Jotai的核心概念是atoms(原子)和derived atoms(派生原子)。
Valtio:是一个轻量级的状态管理库,专为React应用程序设计。它提供了一种简单而直观的方式来管理应用程序的状态,并与React的生命周期和渲染机制紧密集成。Valtio的设计目标是使状态管理变得简单、可预测和高效。它采用了基于代理的观察机制,通过将状态对象包装在一个代理对象中,实现对状态变化的监听和触发。
Tailwind CSS:是一个实用的CSS框架,以高度定制化和实用性为特点。相比于其他框架,Tailwind CSS提供了一套原子化的CSS类,方便开发者灵活组合和定制样式。
Yjs框架:是一个用于实现实时协同编辑的开源框架,它基于OT(OperationalTransformation)算法或CRDT(Conflict-free Replicated Data Type)算法,可以让多个用户在同时编辑一个文档或数据结构时进行协同操作,而不会出现冲突或数据丢失。
Node.js:是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行JavaScript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。
在现有技术的互联网的环境下,一般会利用传统前端框架和技术栈来构建AI聊天界面。这些方案通常包括使用基于Vue.js或Angular等框架,结合传统的CSS布局和状态管理库(如Redux或Vuex),来实现聊天应用界面。在这些现有技术中,聊天界面的构建往往采用较为传统的组件库,这些库虽然提供了一定程度的视觉美感和基本的响应式布局,但在定制化和灵活性方面不如Tailwind CSS等现代解决方案。此外,状态管理通常由单一的全局状态管理库负责,如Redux,这在处理大量动态数据和实时更新方面也会较弱。在实时协作方面,现有技术多依赖于基础的WebSocket实现,因此在多用户协同编辑和数据同步的实时性、准确性方面可能存在局限。现有技术在构建AI聊天界面方面存在几个关键性的缺点,这些缺点限制了应用的性能、用户体验和功能拓展性。
基于此,本申请实施例提供了一种新的AI聊天界面搭建方法,通过采用TailwindCSS结合Material UI,不仅在界面美观性和交互上提供了高度的定制性和现代感,还保证了界面在不同设备和屏幕尺寸上的一致性和流畅性。对于状态管理的问题,Jotai提供了更轻量级且高效的状态管理方式,特别适用于需要快速响应的前端应用。与Valtio的结合进一步优化了状态共享和更新的效率,特别在实时多用户交互场景中,这种状态管理策略展现出更强大的性能和灵活性。关于实时协作功能,通过整合Yjs,本申请方案不仅在数据同步的效率和准确性方面有了显著提升,还引入了更先进的协作机制,如操作转换和冲突自动解决,这对于提高多用户同时编辑同一文档或参与同一聊天会话的体验至关重要。
具体的,请参阅图1,图1是本发明实施例提供的AI聊天界面搭建方法的第一流程示意图,该AI聊天界面搭建方法的具体流程可以如下:
101、采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计。
其中,在React应用程序中,Material UI是一个非常有用的库,它为开发者提供了可重用的组件。这些组件封装了React组件,使得开发者可以更轻松地构建美观且响应迅速的用户界面。
在一实施例中,开发者可以采用以下步骤将Material UI组件应用于React应用程序:
1.引入Material UI样式:在项目中引入Material UI的CSS文件,或在项目中使用Material UI提供的样式插件。
2.引入Material UI组件:在React组件中引入Material UI的组件,如TextField、Button等。
3.配置Material UI组件:为Material UI组件设置属性,如样式、颜色、大小等。
4.自定义组件:如果需要,开发者可以基于Material UI组件创建自定义组件,以满足特定需求。
5.集成路由和状态管理:如果需要,可以将Material UI组件与React Router等路由库以及Redux等状态管理库集成,实现更复杂的功能。
通过采用Material UI组件库,React开发者可以更高效地构建美观、响应迅速且易于维护的用户界面。同时,Material UI的丰富组件和良好社区支持也为开发者提供了强大的后盾。
102、通过Tailwind CSS框架对用户界面进行调整。
在一实施例中,通过Tailwind CSS框架对用户界面进行优化和调整,以提高用户体验,具体包括以下内容:
1.页面布局优化
在Tailwind CSS框架中,可以使用灵活的网格系统来调整页面布局。通过简单地应用类名,如“grid-template-columns”和“grid-gap”,可以轻松地创建响应式布局,使页面元素在不同设备上呈现出最佳效果。
2.typography
Tailwind CSS提供了丰富的文本样式预设,可以根据需求自定义字体、字号、颜色和行间距,合理运用typography,可以提高用户在浏览页面时的阅读体验。
3.按钮和表单元素
按钮和表单元素是用户界面中至关重要的组成部分。通过Tailwind CSS,可以轻松地创建吸引人的按钮和表单样式。例如,可以使用“bg-blue-500”类名创建蓝色按钮,并使用“border-radius”类名设置圆角。同时,还可以自定义表单输入框、选择框和提交按钮等元素的外观。
4.导航栏和链接
导航栏和链接是页面中不可或缺的部分。Tailwind CSS提供了用于创建导航栏和链接的实用样式。通过应用“text-decoration-line”类名,可以设置链接的下划线样式。同时,还可以使用“py-2”类名设置导航栏的垂直间距,以及“font-bold”类名设置导航栏项的粗体字体。
5.组件化
为了提高代码的可维护性和复用性,可以将页面元素进行组件化。Tailwind CSS提供了丰富的组件样式,如卡片、列表、表格等。通过创建自定义组件,可以轻松地将页面元素组合在一起,构建出美观且实用的用户界面。
6.响应式设计
随着移动设备的普及,响应式设计变得越来越重要。Tailwind CSS内置了丰富的响应式类名,如“sm:flex”、“md:flex”和“lg:flex”等。通过合理运用这些类名,可以确保页面元素在不同设备上呈现出最佳布局。
7.颜色和背景
颜色和背景对于用户界面设计至关重要。Tailwind CSS提供了丰富的颜色和背景样式,如“bg-blue-500”、“bg-gray-100”等。可以根据需求选择不同的颜色和背景,为页面增添个性化风格。
8.状态和动画
状态和动画可以使页面元素更具交互性。Tailwind CSS提供了多种状态类名,如“active”、“disabled”和“focused”等。此外,还可以通过应用“animate”类名实现页面元素的动画效果。
综上所述,通过Tailwind CSS框架对用户界面进行调整,可以轻松地创建出美观、实用且具有良好体验的页面。在实际项目中,可以根据需求灵活运用Tailwind CSS提供的样式和组件,打造出令人满意的用户界面。
103、在后端集成预设自然语言处理模型,以处理用户界面接收到的请求。
本申请实施例在处理动态内容和自然语言处理(NLP)集成方面也展现了优势。利用React的灵活性和Material UI的强大组件库,可以更加容易地集成复杂的AI功能,如聊天机器人、自然语言理解和情感分析,从而为用户提供更加智能和人性化的交互体验。
具体的,可以先选择一个适合的后端框架,如Node.js、Python的Flask或Django等,根据项目需求进行搭建。在此基础上,利用机器学习框架(如TensorFlow、PyTorch等)训练相应的自然语言处理模型。这些模型可以包括文本分类、实体识别、情感分析等,以满足不同场景的需求。
接下来,将训练好的模型集成到后端服务中。这可以通过使用云服务提供商(如阿里云、腾讯云、AWS等)提供的AI服务来实现。这些服务通常具有完善的API接口,可以方便地将模型应用于实际场景。在后端集成过程中,还需要关注性能优化、模型调整和错误处理等方面,以确保系统的稳定性和准确性。
选择合适的AI模型对于提高聊天系统的性能至关重要。在一实施例中,可以根据具体需求选择传统的机器学习模型,如决策树、支持向量机等,也可以选择深度学习模型,如循环神经网络(RNN)、长短时记忆网络(LSTM)等。此外,通过不断调整模型参数和超参数,我们可以进一步提高模型的准确性。
104、在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
在前端界面中,结合自然语言处理模型的能力,实现如聊天机器人、智能问答、情感分析等功能。这可以通过使用React Hooks和状态管理库来实现。在这些库的帮助下,可以更加方便地管理前端组件的状态,并将其与后端的自然语言处理模型进行交互。
在一实施例中,可以具体通过Jotai和Valtio进行状态管理,Jotai是一个基于Java的轻量级状态管理库,它可以帮助开发者更容易地在应用程序中管理复杂的状态。通过Jotai,AI聊天系统可以实时地获取和更新用户信息,以便为用户提供更加个性化的回复。同时,Jotai还支持异步操作,使得系统在处理大量用户请求时能够保持高效。
Valtio则是针对语音识别和自然语言处理领域的一款状态管理工具。它允许开发者在一个统一的平台上管理各种AI组件,从而提高开发效率。借助Valtio,AI聊天系统可以更轻松地实现多轮对话、上下文理解等功能。通过整合各种NLP技术和语音识别模块,Valtio可以帮助AI聊天机器人更好地理解用户的意图,并提供更加准确的回应。
具体的,在状态管理方面,Jotai和Valtio的结合在代码中体现为一种高效而清晰的状态共享模式,在本申请实施例中,Jotai提供了更轻量级且高效的状态管理方式,特别适用于需要快速响应的前端应用。与Valtio的结合进一步优化了状态共享和更新的效率,特别在实时多用户交互场景中,这种状态管理策略展现出更强大的性能和灵活性,其中在状态管理中状态流向以及示意图以及组件间的数据交换请参阅图2。
最后,为了确保AI聊天系统的安全性和稳定性,需要对整个应用进行严格的测试。这包括单元测试、集成测试、性能测试等,以确保各个组件和功能的正常运行。同时,遵循安全编程规范,防范潜在的安全风险,如SQL注入、跨站脚本等。
由上所述,本发明实施例提出的AI聊天界面搭建方法可以采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计,通过Tailwind CSS框架对用户界面进行调整,在后端集成预设自然语言处理模型,以处理用户界面接收到的请求,在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。本申请实施例所提供的方案在用户界面设计、状态管理和响应性方面,通过创新性地整合React框架、Material UI、Jotai与Valtio状态管理库以及Tailwind CSS框架,增强了应用的性能和功能性。
根据前面实施例所描述的方法,以下将作进一步详细说明。
请参阅图3,图3是本发明实施例提供的AI聊天界面搭建方法的第二种流程示意图。所述方法包括:
201、采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计。
在本实施例中,进行用户界面设计时,采用了Material UI进行React组件的二次封装,这不仅提高了界面的美观性和用户的交互体验,还保证了界面元素在不同应用场景中的一致性和可扩展性。Material UI的广泛应用和优化确保了界面设计的现代性和吸引力,同时也简化了开发流程。
202、根据屏幕尺寸信息和设备类型确定用户界面的布局方式。
203、根据布局方式确定内置组件的样式。
204、基于布局方式和内置组件的样式通过Tailwind CSS框架的原子类对用户界面进行调整。
在响应式设计方面,通过引入Tailwind CSS,本申请实施例提供了一种高效和灵活的方法来构建适应各种设备和屏幕尺寸的用户界面。Tailwind CSS的实用性优先的设计理念使得开发者能够迅速构建定制的、响应迅速的界面元素,从而提供跨平台一致的用户体验。
具体的,本实施例在设计界面时一般针对每个页面至少设计出3套布局设计,分别应用于手机端、平板端和PC端。比如,可以认为屏幕尺寸小于480px为手机端,480px到1024px为平板端,1024px到1280px之间为大pad尺寸和小笔记本屏幕的混合区。大于1280px为PC端。本实施例可以选择在任意断点上做布局变化,以细粒度的控制自适应的布局效果。举例来说,针对手机和pad端,可以以上中下布局,上下固定高度,中间自适应,而针对pc端,则可以左右布局,左边固定宽度,右边自适应。
在使用Tailwind CSS与Material UI结合进行界面设计时,利用Tailwind的原子类进行快速布局,同时通过Material UI组件实现复杂交互和美观设计。例如,一个聊天气泡组件可以快速用Tailwind的工具类定制布局和样式,而Material UI则提供按钮、输入框等内置组件,使得整个聊天界面既统一又具有定制性。
205、在Node.js运行环境下构建立中间服务层。
206、基于中间服务层和Material UI的组件库集成预设自然语言处理模型,以接收来自前端的请求并与后端的自然语言处理模型进行通信。
在一实施例中,在与AI模型的集成步骤中,可以通过建立一个专用的中间层服务,能够高效地处理与后端AI模型的交互。这个中间层可以使用如Node.js等后端技术构建,负责处理来自前端的请求,与后端的AI服务进行通信,并将处理结果返回给前端应用。这样的架构不仅减轻了前端的负担,还提高了数据处理的效率和安全性。例如,在用户输入一段文本后,前端将请求发送至中间层,中间层再调用NLP服务进行处理,处理结果随后被反馈回前端展示。
因此,本实施例通过利用React的灵活性和Material UI的强大组件库,可以更加容易地集成复杂的AI功能,如聊天机器人、自然语言理解和情感分析,从而为用户提供更加智能和人性化的交互体验。
207、在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
本实施例采用了Jotai和Valtio的组合。Jotai作为一种原子状态管理库,能够提供更细致和灵活的状态控制,特别适用于大规模的动态数据处理。Valtio的引入进一步增强了状态共享和管理的能力,特别是在配合Yjs实现实时协作功能时。这种状态管理策略的高效性显著提升了应用的响应速度和数据处理能力。
具体的,Jotai和Valtio的结合在代码中体现为一种高效而清晰的状态共享模式。Jotai以其原子概念(Atoms)来管理局部状态,每个Atom代表应用中的一小块状态。例如,一个用户输入的Atom可以仅用于聊天输入组件,而另一个聊天历史的Atom则用于存储和显示整个会话历史。Valtio在全局状态管理中发挥作用,通过其代理(Proxy)机制实现状态的响应式更新,确保状态变化能够及时且准确地反映在UI上。也即,上述通过Jotai和Valtio进行状态管理的步骤,可以包括:Jotai通过原子进行局部状态管理,并通过钩子函数更新原子,Valtio通过代理机制进行全局状态管理,并使用subscribe函数来订阅状态的更新。
208、通过Yjs框架中的共享类型对不同用户之间对应的用户界面进行同步。
本申请实施例在实时协作方面的一个显著特点是整合了Yjs框架,利用其高效的共享数据结构(Shared Data Structures)和操作转换(Operational Transformation)技术,实现了多用户间的无缝实时交互和协同编辑。这一特性在AI聊天应用中尤为重要,因为它使得多个用户能够同时参与到同一会话中,实时看到对方的输入和反馈。
具体的,Yjs可以通过其共享类型(如Y.Array,Y.Map)来同步不同用户之间的状态,例如,在一个共享文档中,每个编辑操作都会实时地反映在所有协作者的界面上。Yjs处理冲突的算法确保了即使在高延迟网络环境下,所有用户的更改也能够无缝且准确地合并。通过结合WebSocket技术,Yjs可以实时地将这些更改传输给所有参与者,确保实时同步。
在一实施例中,所述方法还可以包括:在对不同用户之间对应的用户界面进行同步时,判断多个用户操作之间是否存在冲突,若是,则通过操作转换算法对操作数据进行转换,执行转换后的操作内容并同步至全部用户界面。
其中,操作转换(OT)是一种实时协同编辑技术,它允许多个用户在网络环境中同时编辑共享文档。OT的主要原理是在进行本地操作时,将操作转换为适应远程操作的形式。这样,当多个操作同时发生时,它们可以在不引起冲突的情况下正确合并。
具体的,OT算法的核心是两个转换函数,比如transform(client_operation,server_operation)和transform(server_operation,client_operation),这两个函数将一个操作变换为另一个操作,从而使得客户端和服务器的操作可以顺利合并。也即对操作日志对应的编辑内容进行转换的步骤可以包括:提取存在冲突的编辑内容分别对应的两个操作序列,通过操作转换算法将两个操作序列转换为可串行执行的目标操作序列。
例如,假设有两个用户A和B同时编辑一个文档。用户A在文档中插入字符'a',而用户B在同一位置插入字符'b'。为了使这两个操作正确合并,我们可以使用转换函数将这些操作转换为相对于对方操作的形式。这样,最终的文档将包含两个字符'ab'或'ba',而不是出现冲突。具体的,可以先定义一个transform函数,它接受两个操作(clientOp和serverOp)作为输入。此函数根据操作的位置决定如何转换客户端操作,以适应服务器操作,然后初始化文档为字符串,定义用户A和B的插入操作。每个操作都有一个类型(insert)、一个插入位置和一个插入字符,使用transform函数处理用户A的操作。在此示例中,我们将用户A的操作转换为在"hb"之间插入字符"a",将转换后的操作应用于文档,首先应用用户B的操作,然后应用经过转换的用户A的操作即可。也即上述操作序列包括类型、插入位置以及插入符号,通过操作转换算法将两个操作序列转换为可串行执行的目标操作序列的步骤可以包括:基于类型、插入位置以及插入符号使用transform函数将两个操作序进行处理,以得到可串行执行的目标操作序列。
因此,本申请实施例通过结合了Tailwind CSS和Material UI的前端设计,方案提供了一个既美观又高度响应性的用户界面,还利用Jotai和Valtio在状态管理上的结合,使得状态的处理变得更加高效和直观。这种管理方式简化了数据流的复杂性,使得开发者可以更加容易地理解和追踪应用状态的变化,从而减少了开发中的错误和维护成本。同时,通过Yjs的集成,成功实现了一个高效且无缝的多用户实时协作环境。在聊天应用中,用户可以在几乎没有任何延迟的情况下实时地看到对方的输入和更改,极大地提升了协作的流畅度和效率。另外,通过一个专门设计的中间层来处理与AI模型的交互,不仅提高了与后端AI服务的通信效率,也保证了数据处理的稳定性和安全性。
由上所述,本发明实施例提出的AI聊天界面搭建方法可以采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计,根据屏幕尺寸信息和设备类型确定用户界面的布局方式,根据布局方式确定内置组件的样式,基于布局方式和内置组件的样式通过Tailwind CSS框架的原子类对用户界面进行调整,在Node.js运行环境下构建立中间服务层,基于中间服务层和Material UI的组件库集成预设自然语言处理模型,以接收来自前端的请求并与后端的自然语言处理模型进行通信,在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理,通过Yjs框架中的共享类型对不同用户之间对应的用户界面进行同步。本申请实施例所提供的方案在用户界面设计、状态管理和响应性方面,通过创新性地整合React框架、Material UI、Jotai与Valtio状态管理库以及Tailwind CSS框架,增强了应用的性能和功能性。
为了实施以上方法,本发明实施例还提供一种AI聊天界面搭建装置,该AI聊天界面搭建装置具体可以集成在终端设备如手机、平板电脑等设备中。
例如,如图4所示,是本发明实施例提供的AI聊天界面搭建装置的第一种结构示意图。该AI聊天界面搭建装置可以包括:
设计单元301,用于采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计;
调整单元302,用于通过Tailwind CSS框架对所述用户界面进行调整;
处理单元303,用于在后端集成预设自然语言处理模型,以处理所述用户界面接收到的请求;
管理单元304,用于在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
本发明实施例提出的AI聊天界面搭建装置,可以采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计,通过Tailwind CSS框架对用户界面进行调整,在后端集成预设自然语言处理模型,以处理用户界面接收到的请求,在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。本申请实施例所提供的方案在用户界面设计、状态管理和响应性方面,通过创新性地整合React框架、Material UI、Jotai与Valtio状态管理库以及Tailwind CSS框架,增强了应用的性能和功能性。
本发明实施例还提供一种终端,如图5所示,该终端可以包括射频(RF,RadioFrequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(WiFi,Wireless Fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,提7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,RF电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路601还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及信息处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器608和输入单元603对存储器602的访问。
输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元603可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器608,并能接收处理器608发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元603还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元604可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在提7中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路606、扬声器,传声器可提供用户与终端之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经RF电路601以发送给比如另一终端,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然提7示出了WiFi模块607,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器608是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
终端还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现各种功能:
采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计;
通过Tailwind CSS框架对所述用户界面进行调整;
在后端集成预设自然语言处理模型,以处理所述用户界面接收到的请求;
在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对AI聊天界面搭建方法的详细描述,此处不再赘述。
由上可知,本发明实施例的终端可以采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计,通过Tailwind CSS框架对用户界面进行调整,在后端集成预设自然语言处理模型,以处理用户界面接收到的请求,在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。本申请实施例所提供的方案在用户界面设计、状态管理和响应性方面,通过创新性地整合React框架、Material UI、Jotai与Valtio状态管理库以及Tailwind CSS框架,增强了应用的性能和功能性。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读的存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种AI聊天界面搭建方法中的步骤。例如,该指令可以执行如下步骤:
采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计;
通过Tailwind CSS框架对所述用户界面进行调整;
在后端集成预设自然语言处理模型,以处理所述用户界面接收到的请求;
在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种AI聊天界面搭建方法中的步骤,因此,可以实现本发明实施例所提供的任一种AI聊天界面搭建方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种AI聊天界面搭建方法、装置、终端及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种AI聊天界面搭建方法,其特征在于,包括:
采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计;
通过Tailwind CSS框架对所述用户界面进行调整;
在后端集成预设自然语言处理模型,以处理所述用户界面接收到的请求;
在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
2.如权利要求1所述的AI聊天界面搭建方法,其特征在于,通过Tailwind CSS框架对所述用户界面进行调整,包括:
获取客户端设备的屏幕尺寸信息;
根据所述屏幕尺寸信息通过所述Tailwind CSS框架的原子类对所述用户界面进行快速布局。
3.如权利要求2所述的AI聊天界面搭建方法,其特征在于,根据所述屏幕尺寸信息通过所述Tailwind CSS框架的原子类对所述用户界面进行快速布局,包括:
根据所述屏幕尺寸信息和设备类型确定所述用户界面的布局方式;
根据所述布局方式确定所述内置组件的样式;
基于所述布局方式和所述内置组件的样式通过所述Tailwind CSS框架的原子类进行快速布局。
4.如权利要求1所述的AI聊天界面搭建方法,其特征在于,所述在后端集成预设自然语言处理模型,以处理所述用户界面接收到的请求,包括:
在Node.js运行环境下构建立中间服务层;
基于所述中间服务层和Material UI的组件库集成所述预设自然语言处理模型,以接收来自前端的请求并与后端的自然语言处理模型进行通信。
5.如权利要求4所述的AI聊天界面搭建方法,其特征在于,所述通过Jotai和Valtio进行状态管理,包括:
所述Jotai通过原子进行局部状态管理,并通过钩子函数更新原子;
所述Valtio通过代理机制进行全局状态管理,并使用subscribe函数来订阅状态的更新。
6.如权利要求1-5任一项所述的AI聊天界面搭建方法,其特征在于,所述方法还包括:
在AI聊天系统运行过程中,通过Yjs框架中的共享类型对不同用户之间对应的用户界面进行同步。
7.如权利要求6所述的AI聊天界面搭建方法,其特征在于,所述方法还包括:
在对不同用户之间对应的用户界面进行同步时,判断多个用户操作之间是否存在冲突;
若是,则通过操作转换算法对操作数据进行转换,执行转换后的操作内容并同步至全部用户界面。
8.一种AI聊天界面搭建装置,其特征在于,包括:
设计单元,用于采用Material UI对React组件进行封装并提供内置组件,以完成用户界面的设计;
调整单元,用于通过Tailwind CSS框架对所述用户界面进行调整;
处理单元,用于在后端集成预设自然语言处理模型,以处理所述用户界面接收到的请求;
管理单元,用于在AI聊天系统运行过程中,通过Jotai和Valtio进行状态管理。
9.一种终端,其特征在于,所述终端包括:存储器、处理器,其中,所述存储器上存储有应用程序处理程序,所述应用程序处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的AI聊天界面搭建方法的步骤。
10.一种计算机可读的存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的AI聊天界面搭建方法。
CN202410326323.3A 2024-03-21 2024-03-21 Ai聊天界面搭建方法、装置、终端及存储介质 Withdrawn CN118113286A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202410326323.3A CN118113286A (zh) 2024-03-21 2024-03-21 Ai聊天界面搭建方法、装置、终端及存储介质
CN202411837613.0A CN119759349A (zh) 2024-03-21 2024-12-13 Ai聊天界面搭建方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410326323.3A CN118113286A (zh) 2024-03-21 2024-03-21 Ai聊天界面搭建方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN118113286A true CN118113286A (zh) 2024-05-31

Family

ID=91210313

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410326323.3A Withdrawn CN118113286A (zh) 2024-03-21 2024-03-21 Ai聊天界面搭建方法、装置、终端及存储介质
CN202411837613.0A Pending CN119759349A (zh) 2024-03-21 2024-12-13 Ai聊天界面搭建方法、装置、终端及存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202411837613.0A Pending CN119759349A (zh) 2024-03-21 2024-12-13 Ai聊天界面搭建方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (2) CN118113286A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119336291A (zh) * 2024-12-16 2025-01-21 上海岩芯数智人工智能科技有限公司 一种音频流媒体优化播放方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119336291A (zh) * 2024-12-16 2025-01-21 上海岩芯数智人工智能科技有限公司 一种音频流媒体优化播放方法及装置

Also Published As

Publication number Publication date
CN119759349A (zh) 2025-04-04

Similar Documents

Publication Publication Date Title
US10284705B2 (en) Method and apparatus for controlling smart device, and computer storage medium
CN112882772B (zh) 移动终端应用界面的配置方法、移动终端及存储介质
US6996800B2 (en) MVC (model-view-controller) based multi-modal authoring tool and development environment
CN107294837A (zh) 采用虚拟机器人进行对话交互的方法和系统
CN111420399B (zh) 一种虚拟人物的换装方法、装置、终端及存储介质
CN100477627C (zh) 通过无线网络的多模式网络交互
CN110400251A (zh) 视频处理方法、装置、终端设备及存储介质
WO2018226621A1 (en) Methods and systems for an application system
CN110609965B (zh) 一种页面显示方法、装置和存储介质
CN111240777B (zh) 动态壁纸生成方法、装置、存储介质及电子设备
CN115129212B (zh) 视频编辑方法、装置、计算机设备、存储介质及产品
CN111124412B (zh) 一种游戏页面绘制方法、装置、设备及存储介质
KR20230022844A (ko) 인공 지능 요청 및 제안 카드
US12322051B2 (en) Ranking list information display method and apparatus, and electronic device and storage medium
CN110516218A (zh) 表格的生成方法、终端和计算机可读存储介质
KR20200115625A (ko) 개인화된 의도 학습 방법
CN118113286A (zh) Ai聊天界面搭建方法、装置、终端及存储介质
JP2024500481A (ja) ビデオ通話方法及び装置
CN110300047B (zh) 一种动画播放方法、装置及存储介质
CN109725798A (zh) 智能角色的切换方法及相关装置
CN113703621B (zh) 语音交互方法、存储介质及设备
CN116594616A (zh) 一种组件配置方法、装置及计算机可读存储介质
CN112799552A (zh) 一种推广图片分享方法、装置和存储介质
CN117274431A (zh) 评论处理方法、装置、电子设备及存储介质
CN118502630A (zh) 信息展示方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20240531

WW01 Invention patent application withdrawn after publication