反馈已提交

网络繁忙

您正在浏览的是 FineBI6.X 帮助文档,点击跳转至: FineBI5.X帮助文档

预处理配置

  • 文档创建者:TW
  • 历史版本:11
  • 最近更新:Lily.Wang 于 2025-08-21
  • 1. 概述

    1.1 应用场景

    预处理配置是 FineChatBI 提供的企业级自定义能力接口,用于在用户提问后、系统回答前,对查询意图进行识别。

    无需用户在智能问答界面手动选择“问数据/问知识/问思路”,由企业 AI 自动调度处理逻辑。

    用户问题(示例)
    预处理识别意图(示例)
    毛利率计算公式

    通过预处理自动识别为:问知

    注:需已配置企业知识库 知识库问答配置

    为什么 Q2 销售额下降通过预处理自动识别为:问思路
    今年销售额是多少通过预处理自动识别为:问数据

    1.2 功能简介

    用户开启预处理配置之后,可通过配置企业自有的意图解析接口,FineChatBI 可在回答前调用该接口对用户问题进行预处理,从而实现更精准的问答逻辑和更智能的响应行为。

    1747384310101836.png

    2. 预处理配置

    2.1 接口概览

    • 请求方式:POST

    • 接口地址:企业自定义的接口地址

    在「智能问答配置>其他配置」中打开「预处理服务」,输入企业自定义的接口地址。

    2.2 入参结构

    系统向企业预处理接口发送的请求数据。

    export interface IChatPost {
      sentence: ICutPost;
      isolatedConversation: boolean;
      queryType: QUERY_TYPE;
      chartType?: undefined; // 目前不指定
      preview: false; // 目前为false
      sessionId:string;
    }

    export interface ICutPost {
      subjectId: string | null; // 主题id
      tokens: ICutProps[]; // 用户输入形成的数组
      query: string; // 用户的文本输入
      editable: boolean; // 用户有没有显式的指定模型
      modelId: string | null;
    }

    export enum QUERY_TYPE {
      DataQuery = "DataQuery",
      AnalysisBreak = "AnalysisBreak",
      Knowledge = "Knowledge",
    }

    export interface ICutProps {
      // 词块的内容
      text: string;
      // 词块的类型
      type: CutPropsTypeEnum;
      // 这个词块是否可以被替换
      editable: boolean;
      // 表示这个分词结果还可能代表别的含义, 嵌套结构
      similarList: ICutProps[];
      // 这个词块的第一个字符在本句话中的位置
      startIndex: number;
      // 这个词块的最后一个字符在本句话中的位置
      endIndex: number;
      // 字段名称, 当type为维度、维度枚举值或者指标时,此项为必填值
      tableField?: string;
      // 表名称, 当type为维度、维度枚举值或者指标时,此项为必填值
      tableId?: string;
      // 字段id,这里是分析思路配置的时候保存的时候带上的,其他情况下没有
      fieldId?: string | null;
    }

    export enum CutPropsTypeEnum {
      // 维度 门店,城市,省份 也就列名 @必要
      DIMENSION = "DIMENSION",
      // 指标  @必要
      METRIC = "METRIC",
      // 维度枚举值  @必要
      DIMENSION_ENUM = "DIMENSION_ENUM",
      // 日期维度, 如入库时间, 出库时间
      DATE_DIMENSION = "DATE_DIMENSION",
      // 表名称
      TABLE_NAME = "TABLE_NAME",
      // 日期范围, 如去年,今年, 2023年
      DATE_RANGE = "DATE_RANGE",
      // 时间单位, 每年,每月
      TIMEUNIT = "TIMEUNIT",
      // 数值
      NUMBER = "NUMBER",
      // 聚合方式, 如求和 最大值 最小值 方差
      AGGREGATE_TYPE = "AGGREGATE_TYPE",
      // 快速计算 如同比 环比 环比增长率
      SWIFT_COMPUTE_TYPE = "SWIFT_COMPUTE_TYPE",
      // 计算符 大于 小于 > <
      OPERATOR = "OPERATOR",
      // 自定义词
      SLANG = "SLANG",
      ORIGIN = "ORIGIN",
      SPACE = "SPACE",
      DELETE = "DELETE",
      // 参数
      PARAMETER = "PARAMETER",
      // 不清楚具体含义,如果不知道或者识别不出来, 就设为此值
      UNK = "UNK",
      // 不知道具体含义,但是知道是名词
      UNK_NOUN = "UNK_NOUN",
      // 不知道具体含义,但是知道是动词
      UNK_VERB = "UNK_VERB",
      // 紧跟维度的维度枚举值
      STRING_FUNCTION_VALUE = "STRING_FUNCTION_VALUE",
      // 维度值
      METRIC_VALUE = "METRIC_VALUE",
      // 指标值
      DIMENSION_VALUE = "DIMENSION_VALUE",
    }

    2.3 出参结构

    企业预处理接口需返回的处理结果,用于告知系统意图改写结果。

    出参数据结构如下(200代表成功,其余均视为失败):

    • DataQuery:问数据

    • AnalysisBreak:问思路

    • Knowledge:问知识

    interface IOutputProps {
      code: 200 | number;
      data: QUERY_TYPE | null;
      errorMsg: string | null;
    }

    export enum QUERY_TYPE {
      DataQuery = "DataQuery",
      AnalysisBreak = "AnalysisBreak",
      Knowledge = "Knowledge",
    }

    2.4 示例场景

    2.4.1 请求示例

    业务场景说明:

    • 用户输入:“每个月的销售额”

    • 系统初始意图:用户手动选择了「问思路」(对应 querytype:"AnalysisBreak"

    const example: IChatPost = {
      sentence: {
        editable: true,
        query: "每个月的销售额",
        subjectId: "3cad4da2c74146369cd72f75ac6e6eab",
        modelId: "50abe6fba3c349db8b6c38ab8a455599,a57c6214610f4b59874f9cc34666c0e0,4695c29220d1417d819dd3db3d370df4",
        tokens: [
          {
            tableField: "日期(年月日)",
            tableId: "a57c6214610f4b59874f9cc34666c0e0",
            text: "每个月",
            type: "TIMEUNIT",
            editable: true,
            similarList: [],
            startIndex: 0,
            endIndex: 2,
            fieldId: null,
          },
          {
            tableField: "",
            tableId: "",
            text: "的",
            type: "UNK",
            editable: true,
            similarList: [],
            startIndex: 3,
            endIndex: 3,
            fieldId: null,
          },
          {
            tableField: "销售额",
            tableId: "a57c6214610f4b59874f9cc34666c0e0",
            text: "销售额",
            type: "METRIC",
            editable: true,
            similarList: [],
            startIndex: 4,
            endIndex: 6,
            fieldId: null,
          },
        ],
      },
      isolatedConversation: false,
      queryType: "DataQuery",
      preview: false,
      sessionId: "06d7b2f347d"
    };

    2.4.2 成功响应示例

    企业预处理服务将用户提问意图强制识别为「问数据」(DataQuery

    const example: IOutputProps = {
      code: 200,
      data: "DataQuery",
      errorMsg: null
    }

    2.4.3 失败响应示例

    200 外,其余均视为失败

    const example: IOutputProps = {
      code: 404,
      data: null,
      errorMsg: "请求报错"
    }

    3. 效果查看



    附件列表


    主题: FineChatBI智能问答
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持