通义灵码功能上线:编程挑战中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

相关文章

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

基于SpringBoot实现文件秒传功能

《基于SpringBoot实现文件秒传功能》在开发Web应用时,文件上传是一个常见需求,然而,当用户需要上传大文件或相同文件多次时,会造成带宽浪费和服务器存储冗余,此时可以使用文件秒传技术通过识别重复... 目录前言文件秒传原理代码实现1. 创建项目基础结构2. 创建上传存储代码3. 创建Result类4.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML