CN117370523A - 大语言模型应用服务方法及装置 - Google Patents
大语言模型应用服务方法及装置 Download PDFInfo
- Publication number
- CN117370523A CN117370523A CN202311348633.7A CN202311348633A CN117370523A CN 117370523 A CN117370523 A CN 117370523A CN 202311348633 A CN202311348633 A CN 202311348633A CN 117370523 A CN117370523 A CN 117370523A
- Authority
- CN
- China
- Prior art keywords
- text
- language model
- vector
- large language
- similarity
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 239000013598 vector Substances 0.000 claims abstract description 256
- 230000004044 response Effects 0.000 claims abstract description 77
- 238000005516 engineering process Methods 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 17
- 238000007781 pre-processing Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种大语言模型应用服务方法及装置。其中,该方法包括:确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本;确定第一文本与第二文本之间的第一相似度;若第一相似度大于预设阈值,输出第二文本;若第一相似度不大于预设阈值,获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。本申请解决了相关技术中大语言模型应用服务响应速度较慢、结果不够准确、难以满足用户需求的技术问题。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种大语言模型应用服务方法及装置。
背景技术
大语言模型应用服务技术开发包括三个层面的研发:基础大语言模型与数据、大语言模型微调、大语言模型应用开发。目前,各大科技公司和研究机构在大语言模型三个层面的研发都取得了重大进展,例如,OpenAI(GPT-4、ChatGPT)、Google(PaLM)、Anthropic的Claude、文心一言等基础大语言模型;rompt tuning、prefix tuning、LoRA、p-tuning和AdaLoRA等大语言模型微调技术,以及LangChain、PromptChainer、Toolformer等大语言模型开发工具。
相关技术中基于大语言模型的应用,例如,OpenAI的GPT-4、ChatGPT等,可以帮助开发者直接调用对应API(Application Programming Interface,应用程序接口),获取大语言模型的响应信息。但由于所有数据分析处理过程均由大语言模型完成,整体响应速度较慢,且大语言模型需要大量的计算资源来支持其运行,这使其在实际应用中很难进行扩展。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种大语言模型应用服务方法及装置,以至少解决相关技术中大语言模型应用服务响应速度较慢、结果不够准确、难以满足用户需求的技术问题。
根据本申请实施例的一个方面,提供了一种大语言模型应用服务方法,包括:确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量;确定第一文本与第二文本之间的第一相似度;若第一相似度大于预设阈值,输出第二文本;若第一相似度不大于预设阈值,获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
可选地,确定查询问题对应的第一文本,包括:获取输入的查询文本,对查询文本进行意图识别,得到查询问题对应的第一文本。
可选地,本地向量数据库的构建过程包括:获取目标技术领域的语料数据,并对语料数据进行预处理,得到第三文本,其中,语料数据包括以下至少之一:问题响应文本、知识库数据;利用文本拆分工具对第三文本进行拆分,得到多个文本块,并利用嵌入式向量模型将文本块转换为第三向量;将第三文本和第三向量存储至本地向量数据库,并在本地向量数据库中建立第三向量的索引信息。
可选地,利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,包括:通过构建的向量存储服务类调用本地向量数据库;利用向量相似度检索技术确定第一向量与本地向量数据库中各个第三向量之间的第二相似度,并对多个第二相似度从大到小进行排序;确定排序靠前的K个第二相似度对应的第三向量为第二向量。
可选地,调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本,包括:通过构建的大语言模型服务类调用目标大语言模型,并返回目标大语言模型的类型,其中,目标大语言模型的类型包括以下至少之一:ChatGLM-6B微调AI大语言模型、Open AI大语言模型、Hugging Face大语言模型、内部行业大语言模型;通过目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
可选地,通过目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本,包括:依据第一文本和上下文信息构建联合提示词;通过目标大语言模型对联合提示词进行分析,得到目标大语言模型输出的目标响应文本。
可选地,大语言模型应用服务系统基于LangChain框架开发得到;嵌入式向量模型包括:Hugging Face Embeddings模型;向量相似度检索技术包括:Facebook AISimilarity Search技术。
根据本申请实施例的另一方面,还提供了一种大语言模型应用服务装置,包括:转换模块,用于确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;检索模块,用于利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量;比较模块,用于确定第一文本与第二文本之间的第一相似度;第一响应模块,用于在第一相似度大于预设阈值时,输出第二文本;第二响应模块,用于在第一相似度不大于预设阈值时,获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的计算机程序,其中,非易失性存储介质所在设备通过运行该计算机程序执行上述的大语言模型应用服务方法。
根据本申请实施例的另一方面,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行上述的大语言模型应用服务方法。
在本申请实施例中,首先确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;然后利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量;再确定第一文本与第二文本之间的第一相似度;若第一相似度大于预设阈值,直接输出第二文本;若第一相似度不大于预设阈值,则获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。其中,通过构建本地向量数据库在本地进行相似度查询,可以减少与大语言模型的通信时间和计算时间,提高大语言模型服务的响应速度和计算效率;将问题和上下文一起发送到大语言模型,可以使大语言模型更准确地理解问题,并给出更准确的响应信息,提高大语言模型的智能化水平。本方案有效解决了相关技术中大语言模型应用服务响应速度较慢、结果不够准确、难以满足用户需求的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的计算机终端的结构示意图;
图2是根据本申请实施例的一种可选的大语言模型应用服务方法的流程示意图;
图3是根据本申请实施例的一种可选的本地向量数据库构建的流程示意图;
图4是根据本申请实施例的另一种可选的大语言模型应用服务方法的流程示意图;
图5是根据本申请实施例的一种可选的大语言模型应用服务装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本申请实施例,首先对本申请实施例描述过程中出现的部分名词或术语翻译解释如下:
LangChain:一个强大的开发框架,旨在帮助开发人员使用语言模型构建端到端的应用程序,框架提供了一套工具、组件和接口,包括链、Prompt模板、输出解析器、检索器、代理和工具等组件,开发人员可以使用这些组件,构建适应性强、高效且能够处理复杂用例的高级语言模型应用程序,LangChain为大语言模型和提示、链、代理、内存和评估提供标准接口,可以简化构建高级语言模型应用程序的过程。
大语言模型(Large Language Model,LLM):使用大量文本数据训练的深度学习模型,可以生成自然语言文本。
实施例1
为解决相关技术中大语言模型应用服务响应速度较慢、结果不够准确、难以满足用户需求的技术问题,本申请实施例提供了一种基于LangChain框架开发得到的大语言模型应用服务系统,该系统可以实现大语言模型与本地向量数据库的连接和与环境的交互功能,提高大语言模型的可扩展性和智能化水平,提高大语言模型的响应速度和响应文本的准确性,使其可以更好地服务于用户的需求。
具体地,本申请实施例提供了一种由大语言模型应用服务系统执行的大语言模型应用服务方法,该方法适用于信息抽取、智能对话、问答系统、搜索等多种自然语言处理任务。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的大语言模型应用服务系统可以是移动终端、计算机终端或者类似的运算装置。图1示出了一种用于实现大语言模型应用服务方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的大语言模型应用服务方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种大语言模型应用服务方法,如图2所示,该方法包括如下步骤:
步骤S202,确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;
步骤S204,利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量;
步骤S206,确定第一文本与第二文本之间的第一相似度;
步骤S208,若第一相似度大于预设阈值,输出第二文本;
步骤S210,若第一相似度不大于预设阈值,获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
以下结合具体的实施过程对大语言模型应用服务方法的各步骤进行说明。
作为一种可选的实施方式,在确定查询问题对应的第一文本时,首先获取用户输入的查询文本,通过自然语言处理技术对查询文本进行意图识别,得到查询问题对应的第一文本。
为了提高大语言模型服务的响应速度和计算效率,本申请实施例提出了构建本地向量数据库和采用嵌入式向量检索的方案。
可选地,构建本地向量数据库可以通过如下方式进行:获取目标技术领域的语料数据,并对语料数据进行预处理,得到第三文本,其中,语料数据包括以下至少之一:问题响应文本、知识库数据;利用文本拆分工具对第三文本进行拆分,得到多个文本块,并利用嵌入式向量模型将文本块转换为第三向量;将第三文本和第三向量存储至本地向量数据库,并在本地向量数据库中建立第三向量的索引信息。
其中,文本拆分工具可以选用RecursiveCharacterTextSplitter工具,该工具可以将大文本拆分成小的文本块,从而减小向量检索的计算负担;嵌入式向量模型可以选用Hugging Face Embeddings模型,通过该模型实现文本的向量化,可以在保证相似度检索正确性的同时减少不必要的信息检索,避免因上下文信息过长导致的效率低下,从而提高匹配速度,减少存储和计算资源的需求,降低相似度检索的成本,方便后续使用向量相似度检索技术进行相似度匹配;索引信息可以通过save_db和load_db等辅助函数进行保存和加载。
以目标技术领域为通信领域为例,在处理通信故障工单的应用场景中,首先获取相关通信故障工单,该工单支持word、excel、txt等多种文件格式,提取故障工单中的语料数据并对其进行预处理,得到第三文本,利用RecursiveCharacterTextSplitter工具将第三文本拆分成多个文本块,并利用Hugging Face Embeddings模型生成文本块对应的第三向量,调用自定义的telecom_embedding函数将第三向量和第三文本存储至本地向量数据库。构建本地向量数据库的具体流程如图3所示。
可选地,利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量时,可以通过如下方式进行:通过构建的向量存储服务类调用本地向量数据库;利用向量相似度检索技术确定第一向量与本地向量数据库中各个第三向量之间的第二相似度,并对多个第二相似度从大到小进行排序;确定排序靠前的K个第二相似度对应的第三向量为第二向量。
其中,向量相似度检索技术可以选用FAISS(Facebook AI Similarity Search)方法,通过FAISS方法可以从本地向量数据库快速地检索与第一向量相似度最高的TOP-K个第二向量,K值和相似度阈值可根据具体的应用场景和需求进行调整和优化,灵活性较高,可以获得更好的相似度匹配效果。
为实现对上述本地向量数据库和向量相似度检索技术的调用,本申请实施例的大语言模型应用服务系统中构建了向量存储服务类TeleVectorStoreService,该服务类首先实例化了TeleVectorStoreService对象,并传递相应的配置参数,该配置参数包含了一些关于本地向量数据库和语言模型的相关配置信息;之后定义了train_data_vector方法,用于初始化本地向量数据库中的向量,然后构建目标技术领域的本地向量数据库;该服务类还定义了load_vector_store_db方法,使HuggingFaceEmbeddings模块和FAISS模块可以加载本地向量存储库,将其返回的向量数据库对象存储到self.vector_store_db属性中。
完成本地检索之后,可以计算查询问题对应的第一文本与检索到的第二文本之间的第一相似度,若第一相似度大于预设阈值,则可以直接将第二文本作为响应文本输出;若第一相似度不大于预设阈值,则调用相应的大语言模型进行文本分析。为了使大语言模型更准确地理解问题,并给出更准确的响应信息,本申请实施例提出将查询问题对应的第一文本与上下文信息一起输入大语言模型进行分析。
具体地,调用目标大语言模型对第一文本和上下文信息进行分析,可以通过如下方式进行:通过构建的大语言模型服务类调用目标大语言模型,并返回目标大语言模型的类型,目标大语言模型的类型包括以下至少之一:ChatGLM-6B微调AI大语言模型、Open AI大语言模型、Hugging Face大语言模型、内部行业大语言模型;通过目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
其中,大语言模型应用服务系统通过传入不同的模型参数,可以实现与不同大语言模型的对接,使系统能够适应各种大语言模型,应用场景更广泛。
可选地,在通过目标大语言模型对第一文本和上下文信息进行分析时,可以依据第一文本和上下文信息构建联合提示词;之后通过目标大语言模型对联合提示词进行分析,得到目标大语言模型输出的目标响应文本。
为了实现上述对大语言模型的调用并实现大语言模型的自动响应,本申请实施例的大语言模型应用服务系统中构建了大语言模型服务类TeleLLMService和应用服务类LangChainApplication。
其中,以目标大语言模型为ChatGLM-6B微调AI大语言模型为例,构建TeleChatGLMService类继承至TeleLLMService类,实现load_model方法以加载远程的ChatG LM-6B微调AI大语言模型。该服务类具体实现了LLM_type方法和_call方法,其中,LLM_type方法可以返回大语言模型的类型,_call方法可以调用ChatGLM-6B微调AI大语言模型。
LangChainApplication类定义了get_knowledge_based_answer和get_llm_answer两种方法。其中,get_knowledge_based_answer方法利用TeleVectorStoreService类调用本地向量数据库并进行向量相似度检索,对第一文本和上下文进行分析生成一个提示词模板PromptTemplate,通过TeleChatGLMService类调用ChatGLM-6B微调AI大语言模型,并利用该方法中的RetrievalQA类实现基于大语言模型的自动响应;get_llm_answer方法则直接实现基于ChatGLM-6B微调AI大语言模型的自动响应回复。
以通信故障工单处理场景为例,图4示出了一种大语言应用服务方法的处理流程图,具体包括以下步骤:
S1,获取工单问题,Rasa系统确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;
S2,获取工单问题的语料数据,Rasa对语料数据进行预处理,得到第三文本;
S3,利用嵌入式向量模型将第三文本转换为第三向量,并将第三向量存储到FAISS本地向量库中;
S4,利用向量相似度检索技术在FAISS本地向量库进行相似度检索,确定第一向量与本地向量数据库中第三向量的第二相似度,对第二相似度从大到小排序后取前K个第二相似度对应的第三向量为第二向量,并确定第二向量对应的第二文本;
S5,确定第一文本与第二文本的相似度阈值;
S6,如果第一相似度阈值大于预设阈值则直接输出第二文本;
S7,如果第一相似度阈值不大于预设阈值,则获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
在本申请实施例中,首先确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;然后利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量;再确定第一文本与第二文本之间的第一相似度;若第一相似度大于预设阈值,直接输出第二文本;若第一相似度不大于预设阈值,则获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。其中,通过构建本地向量数据库在本地进行相似度查询,可以减少与大语言模型的通信时间和计算时间,提高大语言模型服务的响应速度和计算效率;将问题和上下文一起发送到大语言模型,可以使大语言模型更准确地理解问题,并给出更准确的响应信息,提高大语言模型的智能化水平。本方案有效解决了相关技术中大语言模型应用服务响应速度较慢、结果不够准确、难以满足用户需求的技术问题。
实施例2
根据本申请实施例,还提供了一种用于实现实施例1中的大语言模型应用服务方法的大语言模型应用服务装置,如图5所示,该大语言模型应用服务装置中至少包括转换模块51,检索模块52,比较模块53,第一响应模块54和第二响应模块55其中:
转换模块51,用于确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量。
检索模块52,用于利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量。
比较模块53,用于确定第一文本与第二文本之间的第一相似度。
第一响应模块54,用于在第一相似度大于预设阈值时,输出第二文本。
第二响应模块55,用于在第一相似度不大于预设阈值时,获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
以下结合具体的实施步骤对大数据模型应用服务装置的各模块功能进行说明。
作为一种可选的实施方式,转换模块在确定查询问题对应的第一文本时,首先获取用户输入的查询文本,通过自然语言处理技术对查询文本进行意图识别,得到查询问题对应的第一文本。
为了提高大语言模型服务的响应速度和计算效率,本申请实施例提出了构建本地向量数据库和采用嵌入式向量检索的方案。
可选地,检索模块中构建本地向量数据库可以通过如下方式进行:获取目标技术领域的语料数据,并对语料数据进行预处理,得到第三文本,其中,语料数据包括以下至少之一:问题响应文本、知识库数据;利用文本拆分工具对第三文本进行拆分,得到多个文本块,并利用嵌入式向量模型将文本块转换为第三向量;将第三文本和第三向量存储至本地向量数据库,并在本地向量数据库中建立第三向量的索引信息。
其中,文本拆分工具可以选用RecursiveCharacterTextSplitter工具,该工具可以将大文本拆分成小的文本块,从而减小向量检索的计算负担;嵌入式向量模型可以选用Hugging Face Embeddings模型,通过该模型实现文本的向量化,可以在保证相似度检索正确性的同时减少不必要的信息检索,避免因上下文信息过长导致的效率低下,从而提高匹配速度,减少存储和计算资源的需求,降低相似度检索的成本,方便后续使用向量相似度检索技术进行相似度匹配;索引信息可以通过save_db和load_db等辅助函数进行保存和加载。
以目标技术领域为通信领域为例,在处理通信故障工单的应用场景中,首先获取相关通信故障工单,该工单支持word、excel、txt等多种文件格式,提取故障工单中的语料数据并对其进行预处理,得到第三文本,利用RecursiveCharacterTextSplitter工具将第三文本拆分成多个文本块,并利用Hugging Face Embeddings模型生成文本块对应的第三向量,调用自定义的telecom_embedding函数将第三向量和第三文本存储至本地向量数据库。构建本地向量数据库的具体流程如图3所示。
可选地,检索模块利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量时,可以通过如下方式进行:通过构建的向量存储服务类调用本地向量数据库;利用向量相似度检索技术确定第一向量与本地向量数据库中各个第三向量之间的第二相似度,并对多个第二相似度从大到小进行排序;确定排序靠前的K个第二相似度对应的第三向量为第二向量。
其中,向量相似度检索技术可以选用FAISS(Facebook AI Similarity Search)方法,通过FAISS方法可以从本地向量数据库快速地检索与第一向量相似度最高的TOP-K个第二向量,K值和相似度阈值可根据具体的应用场景和需求进行调整和优化,灵活性较高,可以获得更好的相似度匹配效果。
为实现对上述本地向量数据库和向量相似度检索技术的调用,本申请实施例的大语言模型应用服务系统中构建了向量存储服务类TeleVectorStoreService,该服务类首先实例化了TeleVectorStoreService对象,并传递相应的配置参数,该配置参数包含了一些关于本地向量数据库和语言模型的相关配置信息;之后定义了train_data_vector方法,用于初始化本地向量数据库中的向量,然后构建目标技术领域的本地向量数据库;该服务类还定义了load_vector_store_db方法,使HuggingFaceEmbeddings模块和FAISS模块可以加载本地向量存储库,将其返回的向量数据库对象存储到self.vector_store_db属性中。
在检索模块完成本地检索之后,比较模块可以计算查询问题对应的第一文本与检索到的第二文本之间的第一相似度,若第一相似度大于预设阈值,则第一响应模块可以直接将第二文本作为响应文本输出;若第一相似度不大于预设阈值,则第二响应模块可以调用相应的大语言模型进行文本分析。为了使大语言模型更准确地理解问题,并给出更准确的响应信息,本申请实施例提出将查询问题对应的第一文本与上下文信息一起输入大语言模型进行分析。
具体地,第二响应模块调用目标大语言模型对第一文本和上下文信息进行分析时,可以通过如下方式进行:通过构建的大语言模型服务类调用目标大语言模型,并返回目标大语言模型的类型,目标大语言模型的类型包括以下至少之一:ChatGLM-6B微调AI大语言模型、Open AI大语言模型、Hugging Face大语言模型、内部行业大语言模型;通过目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
其中,大语言模型应用服务系统通过传入不同的模型参数,可以实现与不同大语言模型的对接,使系统能够适应各种大语言模型,应用场景更广泛。
可选地,第二响应模块通过目标大语言模型对第一文本和上下文信息进行分析时,可以依据第一文本和上下文信息构建联合提示词;之后通过目标大语言模型对联合提示词进行分析,得到目标大语言模型输出的目标响应文本。
为了实现上述对大语言模型的调用并实现大语言模型的自动响应,本申请实施例的大语言模型应用服务系统中构建了大语言模型服务类TeleLLMService和应用服务类LangChainApplication。
其中,以目标大语言模型为ChatGLM-6B微调AI大语言模型为例,构建TeleChatGLMService类继承至TeleLLMService类,实现load_model方法以加载远程的ChatGLM-6B微调AI大语言模型。该服务类具体实现了LLM_type方法和_call方法,其中,LLM_type方法可以返回大语言模型的类型,_call方法可以调用ChatGLM-6B微调AI大语言模型。
LangChainApplication类定义了get_knowledge_based_answer和get_llm_answer两种方法。其中,get_knowledge_based_answer方法利用TeleVectorStoreService类调用本地向量数据库并进行向量相似度检索,对第一文本和上下文进行分析生成一个提示词模板PromptTemplate,通过TeleChatGLMService类调用ChatGLM-6B微调AI大语言模型,并利用该方法中的RetrievalQA类实现基于大语言模型的自动响应;get_llm_answer方法则直接实现基于ChatGLM-6B微调AI大语言模型的自动响应回复。
需要说明的是,本申请实施例中的大语言模型应用服务装置中的各模块与实施例1中的大语言模型应用服务方法的各实施步骤一一对应,由于实施例1中已经进行了详尽的描述,本实施例中部分未体现的细节可以参考实施例1,在此不再过多赘述。
实施例3
根据本申请实施例,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的计算机程序,其中,非易失性存储介质所在设备通过运行该计算机程序执行实施例1中的大语言模型应用服务方法。
具体地,非易失性存储介质所在设备通过运行该计算机程序执行实现以下步骤:确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量;确定第一文本与第二文本之间的第一相似度;若第一相似度大于预设阈值,输出第二文本;若第一相似度不大于预设阈值,获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
根据本申请实施例,还提供了一种处理器,该处理器用于运行计算机程序,其中,计算机程序运行时执行实施例1中的大语言模型应用服务方法。
具体地,计算机程序运行时执行实现以下步骤:确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量;确定第一文本与第二文本之间的第一相似度;若第一相似度大于预设阈值,输出第二文本;若第一相似度不大于预设阈值,获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
根据本申请实施例,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行实施例1中的大语言模型应用服务方法。
具体地,处理器被配置为通过计算机程序执行实现以下步骤:确定查询问题对应的第一文本,并利用嵌入式向量模型将第一文本转换为第一向量;利用向量相似度检索技术从本地向量数据库中确定与第一向量最近邻的K个第二向量,并确定第二向量对应的第二文本,其中,本地向量数据库中存储有与查询问题相同技术领域的多个响应文本和向量;确定第一文本与第二文本之间的第一相似度;若第一相似度大于预设阈值,输出第二文本;若第一相似度不大于预设阈值,获取第一文本的上下文信息,并调用目标大语言模型对第一文本和上下文信息进行分析,得到目标大语言模型输出的目标响应文本。
上述实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种大语言模型应用服务方法,应用于大语言模型应用服务系统,其特征在于,包括:
确定查询问题对应的第一文本,并利用嵌入式向量模型将所述第一文本转换为第一向量;
利用向量相似度检索技术从本地向量数据库中确定与所述第一向量最近邻的K个第二向量,并确定所述第二向量对应的第二文本,其中,所述本地向量数据库中存储有与所述查询问题相同技术领域的多个响应文本和向量;
确定所述第一文本与所述第二文本之间的第一相似度;
若所述第一相似度大于预设阈值,输出所述第二文本;
若所述第一相似度不大于所述预设阈值,获取所述第一文本的上下文信息,并调用目标大语言模型对所述第一文本和所述上下文信息进行分析,得到所述目标大语言模型输出的目标响应文本。
2.根据权利要求1所述的方法,其特征在于,确定查询问题对应的第一文本,包括:
获取输入的查询文本,对所述查询文本进行意图识别,得到所述查询问题对应的第一文本。
3.根据权利要求1所述的方法,其特征在于,所述本地向量数据库的构建过程包括:
获取目标技术领域的语料数据,并对所述语料数据进行预处理,得到第三文本,其中,所述语料数据包括以下至少之一:问题响应文本、知识库数据;
利用文本拆分工具对所述第三文本进行拆分,得到多个文本块,并利用所述嵌入式向量模型将所述文本块转换为第三向量;
将所述第三文本和所述第三向量存储至所述本地向量数据库,并在所述本地向量数据库中建立所述第三向量的索引信息。
4.根据权利要求3所述的方法,其特征在于,利用向量相似度检索技术从本地向量数据库中确定与所述第一向量最近邻的K个第二向量,包括:
通过构建的向量存储服务类调用所述本地向量数据库;
利用向量相似度检索技术确定所述第一向量与所述本地向量数据库中各个所述第三向量之间的第二相似度,并对多个所述第二相似度从大到小进行排序;
确定排序靠前的K个第二相似度对应的第三向量为所述第二向量。
5.根据权利要求1所述的方法,其特征在于,调用目标大语言模型对所述第一文本和所述上下文信息进行分析,得到所述目标大语言模型输出的目标响应文本,包括:
通过构建的大语言模型服务类调用所述目标大语言模型,并返回所述目标大语言模型的类型,其中,所述目标大语言模型的类型包括以下至少之一:ChatGLM-6B微调AI大语言模型、Open AI大语言模型、Hugging Face大语言模型、内部行业大语言模型;
通过所述目标大语言模型对所述第一文本和所述上下文信息进行分析,得到所述目标大语言模型输出的所述目标响应文本。
6.根据权利要求5所述的方法,其特征在于,通过所述目标大语言模型对所述第一文本和所述上下文信息进行分析,得到所述目标大语言模型输出的所述目标响应文本,包括:
依据所述第一文本和所述上下文信息构建联合提示词;
通过所述目标大语言模型对所述联合提示词进行分析,得到所述目标大语言模型输出的所述目标响应文本。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,
所述大语言模型应用服务系统基于LangChain框架开发得到;
所述嵌入式向量模型包括:Hugging Face Embeddings模型;
所述向量相似度检索技术包括:Facebook AI Similarity Search技术。
8.一种大语言模型应用服务装置,其特征在于,包括:
转换模块,用于确定查询问题对应的第一文本,并利用嵌入式向量模型将所述第一文本转换为第一向量;
检索模块,用于利用向量相似度检索技术从本地向量数据库中确定与所述第一向量最近邻的K个第二向量,并确定所述第二向量对应的第二文本,其中,所述本地向量数据库中存储有与所述查询问题相同技术领域的多个响应文本和向量;
比较模块,用于确定所述第一文本与所述第二文本之间的第一相似度;
第一响应模块,用于在所述第一相似度大于预设阈值时,输出所述第二文本;
第二响应模块,用于在所述第一相似度不大于所述预设阈值时,获取所述第一文本的上下文信息,并调用目标大语言模型对所述第一文本和所述上下文信息进行分析,得到所述目标大语言模型输出的目标响应文本。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的计算机程序,其中,所述非易失性存储介质所在设备通过运行所述计算机程序执行权利要求1至7中任意一项所述的大语言模型应用服务方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被配置为通过所述计算机程序执行权利要求1至7中任意一项所述的大语言模型应用服务方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311348633.7A CN117370523A (zh) | 2023-10-17 | 2023-10-17 | 大语言模型应用服务方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311348633.7A CN117370523A (zh) | 2023-10-17 | 2023-10-17 | 大语言模型应用服务方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370523A true CN117370523A (zh) | 2024-01-09 |
Family
ID=89401862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311348633.7A Pending CN117370523A (zh) | 2023-10-17 | 2023-10-17 | 大语言模型应用服务方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370523A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574410A (zh) * | 2024-01-16 | 2024-02-20 | 卓世智星(天津)科技有限公司 | 风险数据检测方法及装置 |
-
2023
- 2023-10-17 CN CN202311348633.7A patent/CN117370523A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574410A (zh) * | 2024-01-16 | 2024-02-20 | 卓世智星(天津)科技有限公司 | 风险数据检测方法及装置 |
CN117574410B (zh) * | 2024-01-16 | 2024-04-05 | 卓世智星(天津)科技有限公司 | 风险数据检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117370523A (zh) | 大语言模型应用服务方法及装置 | |
CN111753983A (zh) | 神经网络模型的定制化方法、系统、设备和存储介质 | |
CN112558954A (zh) | 结合rpa和ai的信息抽取方法、装置、介质及电子设备 | |
CN113408284A (zh) | 文本处理模型的训练方法、装置、电子设备及存储介质 | |
CN111966361A (zh) | 用于确定待部署模型的方法、装置、设备及其存储介质 | |
CN116737908A (zh) | 知识问答方法、装置、设备和存储介质 | |
CN107545036B (zh) | 客服机器人知识库建设方法、客服机器人及可读存储介质 | |
CN112506503B (zh) | 一种编程方法、装置、终端设备及存储介质 | |
CN111651989B (zh) | 命名实体识别方法和装置、存储介质及电子装置 | |
CN117271084A (zh) | 一种工作流生成方法、装置、电子设备及存储介质 | |
CN116861877A (zh) | 基于强化学习的模板构建方法、装置、设备及存储介质 | |
CN116186219A (zh) | 一种人机对话交互方法方法、系统及存储介质 | |
CN112989066B (zh) | 数据处理方法和装置、电子设备、计算机可读介质 | |
CN115185625A (zh) | 基于可配置卡片的自推荐式界面更新方法及其相关设备 | |
CN114756212A (zh) | 低代码应用集成方法、装置、设备及介质 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
CN109857838B (zh) | 用于生成信息的方法和装置 | |
CN116757254B (zh) | 任务处理方法、电子设备及存储介质 | |
CN117455416B (zh) | 应用于建筑项目管理的数据分析方法及系统 | |
US20230266720A1 (en) | Quality aware machine teaching for autonomous platforms | |
CN117251538A (zh) | 文档处理方法、计算机终端及计算机可读存储介质 | |
CN114780586A (zh) | 一种数据平台快速对接数据路径方法及系统 | |
CN114881350A (zh) | 预测任务的执行方法、装置、计算机设备及存储介质 | |
CN117667979A (zh) | 基于大语言模型的数据挖掘方法、装置、设备及介质 | |
CN116450173A (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 |