AI编码工具-通义灵码功能实测(二)

news2024/10/5 15:33:14

AI编码工具-通义灵码功能实测(二)

    • 通义灵码智能问答

在上一篇文章中:https://blog.csdn.net/csdn565973850/article/details/138563670?spm=1001.2014.3001.5501 讲述了通义灵码的7大应用场景,这里在使用过程中遇到了一些问题,【说明:以下的问题基于 初版通义灵码插件提出,后来更新的通义灵码插件未进行测试,大家可以自行测试哈。】

通义灵码智能问答

为了测试通义灵码对于阿里云SDK的很好的支持性,这里我输入一段中文 【java 实现钉钉发送消息代码】,根据智能问答返回的代码创建java类后粘贴代码,

import java.io.*;

import java.net.HttpURLConnection;

import java.net.URL;

import java.util.*;


public class DingTalkClient {

    private static final String WEBHOOK_URL = "https://oapi.dingtalk.com/robot/send";

    private static final String MESSAGE_TYPE_TEXT = "text";

    private static final String MESSAGE_TYPE_IMAGE = "image";

    private static final String MESSAGE_TYPE_LINK = "link";

    private static final String MESSAGE_TYPE新聞 = "news";


    public static void main(String[] args) {

        String access_token = "your_access_token";

        String text = "your_text_message";

        String mediaId = "your_media_id";

        String title = "your_title";

        String description = "your_description";

        sendTextMessage(access_token, text);

        sendImageMessage(access_token, mediaId, title);

        sendLinkMessage(access_token, text, mediaId, title, description);

        sendNewsMessage(access_token, text, mediaId, title, description);

    }


    private static void sendTextMessage(String access_token, String text) {

        StringBuilder payload = new StringBuilder();

        payload.append("{\"msgtype\":\"").append(MESSAGE_TYPE_TEXT).append "\",\"text\":{\"content\":\"").append(text).append("\"}}");


        try {

            HttpURLConnection connection = (HttpURLConnection) new URL(WEBHOOK_URL).openConnection();

            connection.setRequestMethod("POST");

            connection.setRequestProperty("Content-Type", "application/json");

            connection.setRequestProperty("Authorization", "Bearer " + access_token);

            connection.setDoOutput(true);


            OutputStream outputStream = connection.getOutputStream();

            outputStream.write(payload.toString().getBytes(StandardCharsets.UTF_8));

            outputStream.flush();

            outputStream.close();


            int responseCode = connection.getResponseCode();

            System.out.println("Response Code: " + responseCode);

        } catch (IOException e) {

            e.printStackTrace();

        }

    }


    private static void sendImageMessage(String access_token, String mediaId, String title) {

        StringBuilder payload = new StringBuilder();

        payload.append("{\"msgtype\":\"").append(MESSAGE_TYPE_IMAGE).append "\",\"image\":{\"mediaId\":\"").append(mediaId).append("\",\"title\":\"").append(title).append("\"}}");


        try {

            HttpURLConnection connection = (HttpURLConnection) new URL(WEBHOOK_URL).openConnection();

            connection.setRequestMethod("POST");

            connection.setRequestProperty("Content-Type", "application/json");

            connection.setRequestProperty("Authorization", "Bearer " + access_token);

            connection.setDoOutput(true);


            OutputStream outputStream = connection.getOutputStream();

            outputStream.write(payload.toString().getBytes(StandardCharsets.UTF_8));

            outputStream.flush();

            outputStream.close();


            int responseCode = connection.getResponseCode();

            System.out.println("Response Code: " + responseCode);

        } catch (IOException e) {

            e.printStackTrace();

        }

    }


    private static void sendLinkMessage(String access_token, String text, String mediaId, String title, String description) {

        StringBuilder payload = new StringBuilder();

        payload.append("{\"msgtype\":\"").append(MESSAGE_TYPE_LINK).append "\",\"action\":{\"name\":\"").append(title).append("\",\"url\":\"").append(mediaId).append("\",\"text\":\"").append(description).append("\",\"tip\":\"").append("查看详情").append("\"}}");


        try {

            HttpURLConnection connection = (HttpURLConnection) new URL(WEBHOOK_URL).openConnection();

            connection.setRequestMethod("POST");

            connection.setRequestProperty("Content-Type", "application/json");

            connection.setRequestProperty("Authorization", "Bearer " + access_token);

            connection.setDoOutput(true);


            OutputStream outputStream = connection.getOutputStream();

            outputStream.write(payload.toString().getBytes(StandardCharsets.UTF_8));

            outputStream.flush();

            outputStream.close();


            int responseCode = connection.getResponseCode();

            System.out.println("Response Code: " + responseCode);

        } catch (IOException e) {

            e.printStackTrace();

        }

    }


    private static void sendNewsMessage(String access_token, String text, String mediaId, String title, String description) {

        StringBuilder payload = new StringBuilder();

        payload.append("{\"msgtype\":\"").append(MESSAGE_TYPE新聞).append "\",\"news\":{\"articles\":[{\"title\":\"").append(title).append "\",\"description\":\"").append(description).append "\",\"url\":\"\",\"picUrl\":\"").append(mediaId).append("\"}]}}");


        try {

            HttpURLConnection connection = (HttpURLConnection) new URL(WEBHOOK_URL).openConnection();

            connection.setRequestMethod("POST");

            connection.setRequestProperty("Content-Type", "application/json");

            connection.setRequestProperty("Authorization", "Bearer " + access_token);

            connection.setDoOutput(true);


            OutputStream outputStream = connection.getOutputStream();

            outputStream.write(payload.toString().getBytes(StandardCharsets.UTF_8));

            outputStream.flush();

            outputStream.close();


            int responseCode = connection.getResponseCode();

            System.out.println("Response Code: " + responseCode);

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

这里来评价一下这段通义灵码生成的代码,首先个人是不会用这段代码去发消息的。钉钉消息分为工作通知消息和机器人消息,但是生成的代码直接写死了钉钉消息发送路径为机器人消息链接
在这里插入图片描述
再看一下具体的发送消息的方法,代码生成的有缺失,部分jar包未自动导入,钉钉发送消息方法不是官方文档推荐的
在这里插入图片描述
钉钉开放文档中提供了在线调试页面,可以直观的看到基于SDK的钉钉发送消息操作,以机器人消息为例,代码如下
在这里插入图片描述
直观上就比通义灵码智能问答生成的 HttpURLConnection 调用更加直观简单,那自然是不会用智能问答生成的这段代码了。另外又尝试了通义灵码智能问答的【搜索】功能,搜索钉钉发送消息相关内容,加载大概1分钟,感觉加载时间有点偏长,没有直接在浏览器搜索返回速度快。
在这里插入图片描述
另外就是对于搜索到的阿里云开发者社区的文章想要点赞收藏,却跳转到了登录页面,正常情况下通义灵码登录账号就是阿里云社区账号,这里是否可以不用登录直接正常操作阿里云社区内容呢?
在这里插入图片描述
在这里插入图片描述
智能问答有时甚至返回的内容是错误的,比如搜索【达梦 partition by用法】
在这里插入图片描述
根据返回的sql语法语句进行尝试

select * from edu_netschool_course where netschool_id=1 group by course_id partition by netschool_id;

在达梦客户端工具执行直接提示语法分析错误
在这里插入图片描述
查阅达梦数据库官方文档partition by不是这样用的。然后到智能问答的【搜索】页面同样的问题搜索
在这里插入图片描述
这里的匹配结果基本就是按单个字母匹配了,并没有想要的内容,建议这里可以优化一下,对于一些常用的关键字不要拆开成单个字母搜索,这样的搜索完全是没有意义的。当然也有可能是关于达梦的关键字语法训练数据补够导致识别不准确的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1658563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何向Linux内核提交开源补丁?

2021年,我曾经在openEuler社区上看到一项改进Linux内核工具的需求,因此参与过Linux内核社区的开源贡献。贡献开源社区的流程都可以在内核社区文档中找到,但是,单独学习需要一个较长的过程,新手难以入门,因此…

springboot+vue+mybatis警情高发智能灯箱+PPT+论文+讲解+售后

时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,警情高发智能灯箱当然不能排除在外。警情高发智能灯箱是在实际应用和软件工程的开发原理之上,运用微信开发者、java语言以及SpringBo…

超标量处理器设计:寄存器重命名(1)介绍

★继续学习体系结构的知识。 指令之间的相关性 1.数据相关性 具体分为三类: (1) Output Dependence (WAW):当两条指令尝试向同一个寄存器写入数据时发生。后面的写操作必须等待前面的写操作完成,因为它们争夺同一资源。 (2) Anti-Depende…

大厂面试sql手撕题目总结

文章目录 1. 常用函数1. 日期函数 2. 行转列(转置)1. 行转列 连续N天登录1. 查询出连续三天登录的人员姓名 N日留存率1. 求用户当天,次日,七日留存率 分组内topN1. 求出每个部门工资最高的前三名员工,并计算这些员工的…

AWS Cli Windows安装配置

1. 安装 下载地址:AWS 命令行界面(CLI)_管理AWS服务的统一工具-AWS云服务 检验安装: > aws --version aws-cli/2.15.44 Python/3.11.8 Windows/10 exe/AMD64 prompt/off 2. 创建IAM用户 1) 创建组 选择IAM 点击创建组 填写用户组名,…

YOLOv5改进 | 独家创新篇 | 利用MobileNetV4的UIB模块二次创新C3(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是利用MobileNetV4的UIB模块二次创新C3,其中UIB模块来自2024.5月发布的MobileNetV4网络,其是一种高度优化的神经网络架构,专为移动设备设计。它最新的改动总结主要有两点,采用了通用反向瓶…

synchronized关键字和ReentrantLock锁区别

synchronized关键字和ReentrantLock锁是Java中用于同步的两个重要机制,它们在很多方面有所不同: 1. **锁定范围**: synchronized关键字只能在方法的执行过程中提供锁定,而ReentrantLock可以锁定任何对象,包括方法、代码块和对象。…

django项目结构介绍

小白的django学习笔记 五一前的某天 文章目录 django项目结构介绍项目的基本配置templates项目模块manage.pyExternal Libraries django项目结构介绍 项目的基本配置 在这里配置,跟工程名是一样的 templates 放网页、js、css的地方 django 项目模块 项目开发时&…

Android Studio高版本安卓模拟器抓取https包

Android Studio avd 设置 证书生成 *.cer格式证书​ openssl x509 -inform DER -subject\_hash\_old -in charles-ssl-proxying-certificate.cer​ *.pem格式证书​ openssl x509 -inform PEM -subject\_hash\_old -in charles-ssl-proxying-certificate.pem会输出 2cb30a9e …

QX------mini51单片机学习------(5)数码管的静态与动态显示

目录 1数码管应用场景 2数码管显示原理 3静态与动态显示 474HC573锁存器工作原理 5上拉电阻的作用 6原理图分析 7实践 1数码管应用场景 2数码管显示原理 图(b)左边是共阴极,右边是共阳极 GND是公共极,可以用万用表测&am…

【JavaEE初阶系列】——理解Cookie 和 Session以及相关API

目录 🚩Cookie 🚩Session 🚩Servlet API 🎈HttpServletRequest 🎈HttpSession 🚩Cookie http请求header中一个属性,浏览器持久化存储数据的一种机制,网页无法访问主机的文件系…

技术速递|Python in Visual Studio Code 2024年4月发布

排版:Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展 2024 年 4 月发布! 此版本包括以下公告: 改进了 Flask 和 Django 的调试配置流程Jupyter Run Dependent Cells with Pylance 的模块和导入分析Hatch 环境发…

【Leetcode每日一题】 综合练习 - 逆波兰表达式求值(难度⭐⭐)(73)

1. 题目解析 题目链接&#xff1a;150. 逆波兰表达式求值 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 数据结构选择&#xff1a; 使用栈&#xff08;stack<int>&#xff09;来存储操作数&#xff0c;以便进…

OpenHarmony 3.2 Release版本实战开发——Codec HDI适配过程

简介 OpenHarmony Codec HDI&#xff08;Hardware Device Interface&#xff09;驱动框架基于 OpenMax 实现了视屏硬件编解码驱动&#xff0c;提供 Codec 基础能力接口供上层媒体服务调用&#xff0c;包括获取组件编解码能力、创建组件、参数设置、数据的轮转和控制、以及销毁…

OpenMVS学习笔记(一):WSL编译安装测试

1.CUDA和CUDNN安装 [1] WSL版本cuda安装&#xff1a; >> wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin >> sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 >> wg…

Burp Suite (bp)启动激活报错问题

一、自查 1、从哪里下载程序 【大部分同学的问题&#xff0c;都是重新下载解决的&#xff0c;简单快速直接】 一律使用“常用软件”中提供的Burp Suite软件包&#xff0c;方便排查问题 自带JDK的版本 Burp 2024.3&#xff0c;自带JDK21&#xff0c;双击bat即可启动&#xff…

YOLOv8网络结构介绍

将按照YOLOv8目标检测任务、实例分割任务、关键点检测任务以及旋转目标检测任务的顺序来介绍&#xff0c;主要内容也是在目标检测任务中介绍&#xff0c;其他任务也只是Head层不相同。 1.YOLOv8_det网络结构 首先&#xff0c;YOLOv8网络分成了三部分&#xff0c;分别是主干网络…

Java | Spring框架| 集合与复杂类型的注入:处理多值依赖

集合与复杂类型的注入&#xff1a;处理多值依赖 在Spring框架中&#xff0c;除了可以注入简单的依赖类型&#xff0c;如字符串、整数等&#xff0c;还可以注入集合类型和复杂类型的数据。集合类型包括List、Set、Map和数组&#xff0c;而复杂类型可以是自定义的对象、配置类等…

【JavaEE网络】用Form与Ajax构建HTTP请求

目录 通过 form 表单构造 HTTP 请求form 发送 GET 请求form 发送 POST 请求 通过 ajax 构造 HTTP 请求发送 GET 请求发送 POST 请求发送 application/json 数据封装 ajax 方法 通过 form 表单构造 HTTP 请求 form (表单) 是 HTML 中的一个常用标签. 可以用于给服务器发送 GET …

janus源码分析

基础说明 janus官网 https://janus.conf.meetecho.com/index.html janus源码地址 https://github.com/meetecho/janus-gateway 编译及部署参考 https://pro-hnb.blog.csdn.net/article/details/137730389?spm1001.2014.3001.5502 https://pro-hnb.blog.csdn.net/article/deta…