第298章 黄瓜
作者:semaphore   离语最新章节     
    向量知识库构建是一个将处理过的数据嵌入向量知识库的过程,主要用于将不同类型的数据转

    化为向量,并进行存储和检索。其流程如图 4.1 所示。

    图 4.1 向量知识库构建流程

    对收集到的数据进行清洗、去重、分类,提取分割文本,以确保数据的质量和有效性。消除噪

    声数据,提高数据的一致性和准确性。将预处理后的数据转化为向量,将向量化后的数据存储到向

    量知识库中,并利用向量数据库进行高效的存储和检索。向量数据库是一种专门用于存储和检索向

    量数据的数据库系统,可以根据语义或上下文含义查找最相似或相关的数据。

    测试流程包括以下几个步骤:

    测试设计:根据目标领域定义测试用例,包括典型问题、边缘情况和错误输入。

    环境搭建:搭建测试环境,包括聊天界面和后端模型处理系统。

    执行测试:记录模型的回应。

    评估结果:根据预设的标准(如准确性、响应时间、用户满意度)评估模型表现。

    优化模型:根据测试结果对模型进行调整和优化。

    5.2 智能交互组件 chatbot

    chatbot 是一种人工智能程序,它设计用于模拟人类对话,并且能够基于事先编程或机器学习

    技术来进行智能对话交流。chatbot 通常被用于客户服务、信息查询、娱乐等各种场景,可以通过

    文本或语音与用户进行交互。

    chatbot 的一些特点和作用包括:

    1自动化交互:chatbot 可以自动回答用户提出的问题,执行指定的任务,无需人工干,减少

    人力成本和时间消耗。

    2实时响应:chatbot 能够在任何时间、任何地点提供服务,随时响应用户的问题和需求。

    3个性化服务:chatbot 可以根据用户的需求和历史数据提供个性化的服务和建议,提高用户

    体验。

    4多渠道支持:chatbot 可以在多种通信渠道上运行,如网页、应用程序、社交媒体平台等,

    为用户提供多样化的对话途径。

    本项目选择 openAI 的 Gpt 模型作为 chatbot 的大语言模型基座,Gpt 模型基于 transformer

    架构,相较于其他模型,这种架构允许模型在处理长文本时保持较好的性能,同时具有良好的并行

    化能力,使得模型的训练和推理速度得到提升。

    5.2.1 chatbot 后端

    基于先前构建的针对电力 LcA 领域的向量知识库构建 chatbot 测试模型性能,主要设计思路是

    为了实现检索功能,大致可分为知识库检索功能和在线搜索。

    chatbot 功能流程图如图 5.1 所示。

    用户通过 chatbot 界面输入他们的问题或请求。对用户输入文本进行清洗,包括去除标点符

    号,进行分词等。转化为结构化数据后将预处理后的文本转换为向量形式,以便于机器理解。将向

    量化处理后的用户问题构建成搜索向量。使用搜索向量与知识库中已向量化的内容进行匹配,找出

    相关的信息。对匹配到的知识库内容进行排序,选择最相关的几个回答候选。为保证性能设置最相

    关的问答数量。基于排序和选择的结果,生成回答,将最终确定的回答返回给用户。

    对于用户输入的问题语句进行文本预处理,随后将其变成机构化数据后向量化,与先前处理文

    献数据类似,因此这里不再赘述。

    知识库搜索:

    以下是通过 weaviate 在名为“water”的集合中搜索与特定查询文本相近的文档,并返回相

    关文档的内容和来源,设置 top_k=3,考虑计算机性能与运行速度,只寻找三个匹配项。

    这段代码最终返回一个包含匹配文档内容和来源的列表。

    在线搜索:

    以下是通过在线搜索引擎在互联网上搜索相关内容,并返回格式化的文档列表,其中包含每个

    搜索结果的摘要内容和来源链接的代码,同样设置 top_k=3,返回三个匹配项。

    通过 duckduckGo 搜索引擎在互联网上搜索相关内容,并返回格式化的文档列表,其中包含每

    个搜索结果的摘要内容和来源链接。代码利用正则表达式提取搜索结果中的摘要、标题和链接信

    息,并对结果进行整理和格式化,以便展示给用户。通过这个函数,用户可以通过输入查询来搜索

    互联网上的相关信息,并查看摘要和链接。

    Streamlit 是一个强大的 python 库,主要用于机器学习、数据可视化和 web 应用程序的快速

    开发。用户在编写代码时可以实时看到应用界面的变化,快速调试和验证结果。内置多种交互式组

    件(如滑块、复选框等)方便用户与应用进行互动。支持快速创建数据可视化图表,如折线图、散

    点图、地图等,展现数据分析结果。

    5.3 测试模型与优化

    性能评估的目的是通过系统的测试结果来识别当前实现的短板和潜在改进点。基于这些评估,

    可以针对性地对向量知识库进行优化,从而提高整体模型的准确性和效率。以下是如何根据

    chatbot 模式测试的结果对向量知识库进行优化。

    在性能评估过程中,需要关注几个关键指标:

    1.准确率:模型响应的正确性。

    2.响应时间:从接收到查询到返回响应的时间。

    3.用户满意度:基于用户反馈的满意度评分。

    4.系统稳定性:系统在连续运行时的稳定性和可靠性。

    通过以上三种途径的问答,可以看到,通过向量知识库和在线搜索与大语言模型本身相结合,

    即 RAG 技术,均为大语言模型优化了生成回答的准确性,对大语言模型的专业领域知识做了补充和

    改善。

    基于以上的性能评估结果,可以采取以下步骤对向量知识库进行优化。

    1.增强向量覆盖范围:对于准确率低的查询,分析模型回应错误的原因。如果是由于知识库中

    缺少相关信息,可以通过添加更多相关文档和数据来增强向量知识库的覆盖范围。

    2.优化向量生成算法:重新训练向量生成模型,使用更大的数据集或更复杂的模型架构,以提

    高向量的质量和表达能力。

    3.调整检索算法:如果响应时间较长或返回的向量与查询关联度不高,考虑优化检索算法。例

    如,采用更快的检索算法或调整向量匹配逻辑。

    4.用户反馈集成:建立一个机制,允许用户在使用过程中提供反馈。这些反馈可以直接用于指

    导向量知识库的更新和优化。

    5.持续监控和测试:建立持续的性能监控和定期测试机制,确保向量知诀库的持续优化和模型

    性能的稳定性。

    5.4 本章小结

    向量知识库后,对向量知识库的效果进行检验,也对本项目进项完善,设计了一个 chatbot 模

    式来对向量知识库进行优化,通过向 chatbot 提问,看基于电力 LcA 领域的专业大模型能否回答专

    业问题。通过 chatbot 实现了用户对文献的检索功能,最后是通过对模型回答问题的准确率,正确

    率进行评估,从而实现将模型不断优化。