文档

案例三:搭建问答机器人

更新时间:

本文介绍了问答机器人的概念,以及搭建问答机器人的流程。

概念

问答机器人是一种基于人工智能技术的智能对话系统,旨在模拟人类的问答过程,回答用户提出的问题。它通过自然语言处理、知识图谱和机器学习等技术,将用户的问题转化为可计算的形式,并通过分析和理解问题的语义,提供准确、有用的回答。

问答机器人的应用场景非常广泛。诸如:

  • 在客户服务领域,用于自动回答用户常见问题,提供即时的帮助和支持。

  • 在教育领域,用于提供在线学习和教育服务,回答学生的问题和解释知识点。

  • 在智能助理领域,用于提供个性化的建议和信息,帮助用户做决策。

此外,问答机器人还可以应用于搜索引擎和知识库,帮助用户快速找到所需的信息。

搭建流程

创建问答数据表

创建问答数据表的SQL语句如下:

CREATE TABLE enterprise_context(
    id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
    content text DEFAULT NULL COMMENT '内容',
    PRIMARY KEY (id)
) ENGINE=InnoDB COMMENT='文本数据';

插入问答数据

插入问答数据的SQL语句如下:

INSERT INTO enterprise_context(id,content) VALUES
(1,'中科软科技股份有限公司(英文:Sinosoft Company Limited,上市公司,证券简称:中科软,证券代码:603927  )是中国科学院软件所实施知识创新试点工程的产物,是研究所技术研究及开发主体转制的结果。中科软科技股份有限公司总部设在北京,注册资金59360万元,是专门从事计算机软件研发、应用、服务的智能密集型高新技术企业。'),
(2,'中科软科技以大型应用软件开发和计算机系统集成为核心,集自主开发的行业通用软件产品、网络信息安全软件产品、大型网络应用软件组合平台、中间件软件产品及应用工具于一体,涵盖了系统软件、支撑软件、建筑智能化工程、行业应用软件等各个层次,并可为大型应用系统工程提供全方位支持。')

创建向量表

创建向量表的SQL语句如下:

/*polar4ai*/CREATE TABLE vector_table(
  id bigint,
  content text, 
  content_vector vector_768, 
  primary key(id)
);

问答数据向量化

将问答数据向量化的SQL语句如下:

/*polar4ai*/select id, content from predict(model _polar4ai_text2vec, select id,content from enterprise_context) 
with (
  x_cols='content',
  primary_key='id',
  mode='async',
  vec_col='content_vector'
)
into vector_table;

其中,_polar4ai_text2vec为问答数据转向量模型,目前仅支持输出768维向量。with()中的参数说明如下:

参数

说明

示例值

primary_key

向量表的主键。

id

x_cols

用于存储文本的字段。

content

mode

文档数据的写入模式。目前仅支持async(异步)模式。

async

vec_col

向量表中存储向量的字段。

content_vector

问答预测

进行问答预测的SQL语句如下:

/*polar4ai*/SELECT * FROM predict(model _polar4ai_db_search,SELECT '中科软证券代码是多少?'
) with(
  index_name='vector_table',
  content_column_name='content',
  vec_column_name='content_vector',
  top_k=3,
  score_threshold=0.01
);

其中,_polar4ai_db_search为NL2SQL和文本向量检索融合查询模型。with()中的参数说明如下:

参数

说明

示例值

index_name

向量表名称。

vec_table

content_column_name

向量表中的文本字段。

chunks

vec_column_name

向量表中的向量字段。

vecs

top_k

将查询结果排序后,输出前k个查询结果。

3

score_threshold

向量检索匹配度阈值。取值范围为0~1。

0.01

  • 本页导读 (0)
文档反馈