通义灵码功能上线:编程挑战中Claude3(opus)领先一步

2024-04-04 19:28

本文主要是介绍通义灵码功能上线:编程挑战中Claude3(opus)领先一步,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近好多AI博主都在推荐通义灵码,我就下载下来体验了一下,而且目前通义灵码暂时不收费,而且还有一个推荐奖励的活动,活动内容如下:

邀请好友达到一定人数,有一些奖励。

我目前看到微软的Azure云有个语音转文本的功能,而且订阅账号每个月可以白嫖5小时的免费额度,必须得是订阅用户才有,订阅用户需要Azure的账号绑定了信用卡才行

我想实现一个上传语音,转换成文本的功能,这次我将这个需求发给通义灵码和Claude3,看下哪个能实现我的功能。我的提示词如下:

如何使用微软的azure的语音服务实现将一个wav文件识别出里面的文字,用python语言实现,图形化界面,程序运行后,先让我选择wav文件,然后再将这个wav文件进行识别,识别出来的文字全部都保存到c:\temp下,按照时间戳来命名文本文件,请你给我代码。

直接给出结论:

通义灵码实现不了,Claude3也不能一次实现,但是经过几次修改,Claude3最终给出了准确的代码,过程有图有真相,不黑通义灵码也不吹Claude3,可能这个任务有点麻烦。

先看通义灵码的过程

再来看下Claude3(Opus)的过程;

将报错信息丢给Claude3,让它修改,每次修改它都给出完整代码,通义灵码每次只给出部分代码,对于我这种比较懒的,只想复制黏贴的外行来说,感觉Claude3更友好

经过7-8轮反复调试,终于Claude3给出了正确的代码,运行成功。

下面我将Claude3给出的代码分享出来

import os
import tkinter as tk
from tkinter import filedialog, ttk
import azure.cognitiveservices.speech as speechsdk
from datetime import datetime# 配置Azure语音服务的密钥和区域
speech_key = "key"
service_region = "service_region"def recognize_speech():# 获取选择的WAV文件路径wav_file = filedialog.askopenfilename(filetypes=[("WAV Files", "*.wav")])if wav_file:# 更新状态标签status_label.config(text="正在识别...")# 创建语音配置对象,并设置语言为中文speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)speech_config.speech_recognition_language = "zh-CN"# 创建音频配置对象audio_config = speechsdk.audio.AudioConfig(filename=wav_file)# 创建语音识别器对象speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)# 定义识别结果的回调函数recognized_text = []def handle_final_result(evt):recognized_text.append(evt.result.text)progress_bar.step(10)  # 每次识别结果更新进度条# 连接识别结果的事件处理程序speech_recognizer.recognized.connect(handle_final_result)# 定义识别状态的标志变量is_recognizing = True# 定义识别结束的回调函数def handle_session_stopped(evt):nonlocal is_recognizingis_recognizing = False# 连接识别结束的事件处理程序speech_recognizer.session_stopped.connect(handle_session_stopped)# 执行连续识别speech_recognizer.start_continuous_recognition()# 等待连续识别完成while is_recognizing:window.update()# 停止连续识别speech_recognizer.stop_continuous_recognition()# 获取当前时间戳timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")# 构建保存文件的路径save_path = os.path.join("C:\\temp", f"recognized_text_{timestamp}.txt")# 将识别结果保存到文件with open(save_path, "w", encoding="utf-8") as file:file.write("\n".join(recognized_text))# 更新状态标签status_label.config(text="识别完成,结果已保存到文件: " + save_path)# 重置进度条progress_bar["value"] = 0# 创建图形化界面
window = tk.Tk()
window.title("语音识别")# 创建选择文件按钮
select_button = tk.Button(window, text="选择WAV文件", command=recognize_speech)
select_button.pack(pady=10)# 创建状态标签
status_label = tk.Label(window, text="请选择要识别的WAV文件")
status_label.pack()# 创建进度条
progress_bar = ttk.Progressbar(window, length=200, mode="determinate")
progress_bar.pack(pady=10)# 运行图形化界面
window.mainloop()

其中,Service_region和key值需要到azure中去获取,先选语音服务

python在Visual stuidio中运行效果如下:

识别出来的结果就在c:\temp下

最后,还是建议各位如果有需求可以安装一下通义灵码,它用来简单的修改一下 bug,代码注释,实现简单的功能,目前还是够用了,但是如果稍微复杂一点的需求,这个时候就要权衡一下,个人建议还是用Claude3更能节省时间,目前测试下来,写代码还是Claude3(Opus)最强,GPT4也没它强,一家之言,个人愚见,仅供参考。

通义灵码安装方法如下:

免费扫码注册:

这篇关于通义灵码功能上线:编程挑战中Claude3(opus)领先一步的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/876648

相关文章

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t