通义灵码实测

简介: 讲述在使用通义灵码实测过程中的问题

在上一篇文章中:https://developer.aliyun.com/article/1371380 讲述了通义灵码的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();}}}

这里来评价一下这段通义灵码生成的代码,首先个人是不会用这段代码去发消息的。钉钉消息分为工作通知消息和机器人消息,但是生成的代码直接写死了钉钉消息发送路径为机器人消息链接

image.png

再看一下具体的发送消息的方法,代码生成的有缺失,部分jar包未自动导入,钉钉发送消息方法不是官方文档推荐的

image.png

钉钉开放文档中提供了在线调试页面,可以直观的看到基于SDK的钉钉发送消息操作,以机器人消息为例,代码如下

image.png

直观上就比通义灵码智能问答生成的HttpURLConnection调用更加直观简单,那自然是不会用智能问答生成的这段代码了。另外又尝试了通义灵码智能问答的【搜索】功能,搜索钉钉发送消息相关内容,加载大概1分钟,感觉加载时间有点偏长,没有直接在浏览器搜索返回速度快。

image.png

另外就是对于搜索到的阿里云开发者社区的文章想要点赞收藏,却跳转到了登录页面,正常情况下通义灵码登录账号就是阿里云社区账号,这里是否可以不用登录直接正常操作阿里云社区内容呢?

image.png

image.png

智能问答有时甚至返回的内容是错误的,比如搜索【达梦 partition by用法】

image.png

根据返回的sql语法语句进行尝试

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

在达梦客户端工具执行直接提示语法分析错误

image.png

查阅达梦数据库官方文档partition by不是这样用的。然后到智能问答的【搜索】页面同样的问题搜索

image.png

这里的匹配结果基本就是按单个字母匹配了,并没有想要的内容,建议这里可以优化一下,对于一些常用的关键字不要拆开成单个字母搜索,这样的搜索完全是没有意义的。当然也有可能是关于达梦的关键字语法训练数据补够导致识别不准确的。


相关文章
|
安全 关系型数据库 数据安全/隐私保护
IAM最佳实践
企业上云最基本的账户权限安全实践
8088 0
|
关系型数据库 MySQL 数据库
mysql 不需要使用密码就可以登录
最近发现一个问题, 就是我等了mysql客户端可以不输入密码. 直接输入mysql -u root 回车 或者 输入一个错的密码,都可进入到下面的界面. 在Navicat不用输入密码, 或者数据错的密码都可以连接数据库, 这比较愁人.
868 0
mysql 不需要使用密码就可以登录
|
10月前
|
API 数据安全/隐私保护
手机一键导出微信群成员名单工具,微信群WXID微信号导出软件,批量导出群成员工具
这段代码使用了itchat库,这是一个基于网页版微信API的第三方库。请注意实际使用时需要扫描二维码登录
|
存储 安全 API
利用环境变量管理敏感信息
【10月更文挑战第16天】在软件开发中,环境变量是管理敏感信息如API密钥、数据库密码等的安全方式,避免了将这些信息硬编码在源代码中。本文介绍了环境变量的概念、优势及如何在应用中实施,包括本地开发、CI/CD流程和云服务中的应用,以及实战技巧和最佳实践。
|
存储 数据管理 数据库
非结构化数据怎么盘点?
非结构化数据怎么盘点?
|
传感器 存储 编解码
基于STM32温控风扇冷却系统设计
基于STM32温控风扇冷却系统设计
|
SQL Java API
9、springcloud整合logback打印sql语句
logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。 Logback是要与SLF4J结合起来用的。
1159 0
9、springcloud整合logback打印sql语句
|
Java
天猫精灵实现无唤醒词推送断网播报
通过个人开发技能实现天猫精灵无需唤醒词,自动推送播报相关事件。
14627 3
天猫精灵实现无唤醒词推送断网播报
|
程序员 持续交付 开发工具
4种常见分支模式解析及优劣对比 | 研发效能提升36计
团队研发的本质并不是团队规模越大,研发的效率就越高。我们以为团队规模越大,研发效率就会越高,可以做越多的东西,但是我们发现团队规模大到一定程度,整个研发效率是会下降的,甚至降得非常快。为什么团队的规模越来越大,我们的发布反而越来越慢了?
1581 1
4种常见分支模式解析及优劣对比 | 研发效能提升36计
|
存储 机器学习/深度学习 SQL
MaxCompute湖仓一体介绍
本篇内容分享了MaxCompute湖仓一体介绍。 分享人:孟硕 阿里云 MaxCompute产品专家
MaxCompute湖仓一体介绍