第298章 黄瓜

离语 semaphore 2102 字 23天前

5.2.1 Chatbot 后端

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

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

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

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

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

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

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

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

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

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

知识库搜索:

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

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

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

在线搜索:

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

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

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

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

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

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

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

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

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

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

5.3 测试模型与优化