文档

大语言模型使用案例

更新时间:

本文通过大语言模型案例来说明如何使用Row-oriented AI功能。在该案例中,虽然大模型并不运行于AI节点,但与运行在AI节点上的实现原理和使用方式相同。未运行在AI节点的大模型,后端会自动生成UDF来调用大模型。

对于大语言模型,目前提供了免费的在线推理服务,用户可以直接在PolarDB集群中部署模型和创建调用大语言模型的函数,并通过创建的函数进行在线推理或交互式问答。

本文中的案例以内置的qwen(通义千问)模型函数为例,来说明如何使用Row-oriented AI功能。操作步骤如下:

假设数据中有一张电影影评表movie_comment,影评数据如下:

image.png

  1. 在目标集群上开启PolarDB for AI功能和冷数据归档功能。具体的操作步骤请参见开启PolarDB for AI功能开启冷数据归档

  2. 连接数据库,并部署内置函数模型。

    /*polar4ai*/ DEPLOY MODEL builtin_qwen WITH (mode = 'in_db');

    部署完成后,您可以使用SHOW MODEL脚本来查看模型状态。部署成功后的状态为serving,表示模型部署完毕。

    /*polar4ai*/ SHOW MODEL builtin_qwen;
  3. 创建名称为qwen的大语言模型函数。

    CREATE FUNCTION qwen RETURNS STRING SONAME "#ailib#_builtin_qwen.so";
  4. 调用函数qwen来进行在线推理。

    • 示例1:调用qwen函数可以直接通过SQL语句对影评数据进行分类预测,将影评分为"好"、"一般"、"不好"三类。对应的SQL语句如下:

      SELECT qwen(CONCAT("将如下文本按感情色彩分为以下3类: [好、一般、不好],输出三个类别中的一类类别名称。比如输入[这个电影太棒了],输出 好。再比如输入[这个电影太无聊了],输出 不好。", review)) as 感情色彩分类 FROM movie_comment;

      返回结果如下:

      image.png

    • 示例2:调用qwen函数进行交互式问答,对应的SQL语句如下:

      SELECT qwen("你好,杭州亚运会什么时候举行");

      返回结果如下:

      image.png