Linux本地复现 open_llm_leaderboard 评测

场景:

huggingface官方提供了大模型的评测体系,并在这里提供了运行评测的方法,可以在本地对自己的模型进行评测,得到各个指标的结果。


问题描述

本地运行涉及网络问题

例如:exact_match.py以及一些评测数据集是默认从huggingface或者GitHub加载的,但是由于网络环境下载不到,并且不会报错,只会卡在原地没有进度,只有Ctrl+C强制退出才可以看到具体报错信息。这种情况下我们要手动下载所需的资源放到本地。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5e06b91700cc4964bc87a3f39f1955d3.png
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/525e083820d24298b0a6bbef460c037b.png

解决方案:

提示:这里我举两个例子,其他的内容大同小异,各位读者请举一反三

1.缺少文件
在这里插入图片描述
这里主要是在load方法这里,首先从huggingface这里!下载exact_match.py文件,然后将"exact_match"替换成本地路径即可。

2、所有数据集是在第一次评测的时候从huggingface上下载的,具体下载路径的配置文件在lm_eval/tasks文件夹中,例如mmlu_pro数据集的位置位于lm_eval/tasks/leaderboard/mmlu_pro/将其中的yaml配置文件的数据集路径替换成提前下载好的本地路径即可。
在这里插入图片描述

### 使用ASR、LLM和TTS API进行集成或开发 #### 选择合适的API服务提供商 为了构建一个完整的语音与文本交互系统,需要选择可靠的ASR、LLM以及TTS的服务提供商。目前市场上有许多优秀的服务商提供这类API接口,比如阿里云、百度智能云、腾讯云等国内厂商,还有Google Cloud Speech-to-Text, OpenAI GPT系列模型,Microsoft Azure Cognitive Services中的Speech service等国际知名平台。 #### 配置环境变量 在开始之前,确保已经获取了所选服务商提供的API密钥,并将其配置为环境变量以便后续调用[^1]。 ```bash export OPENAI_API_KEY='your_openai_api_key' export EDGE_TTS_VOICE='zh-CN-XiaoxiaoNeural' # 可根据需求调整发音人 ``` #### 实现基本的功能模块 下面将以Python为例展示如何分别调用这三个组件来完成一次简单的对话流程: ##### 自动语音识别(ASR) 使用`whisper`库来进行音频文件的转录工作。首先安装必要的依赖包: ```bash pip install git+https://github.com/openai/whisper.git ``` 编写如下代码片段读取本地mp3格式的声音文件并转换成文字描述: ```python import whisper def transcribe_audio(file_path): model = whisper.load_model("base") # 加载预训练好的基础版本model result = model.transcribe(file_path) return result["text"] ``` ##### 大规模语言模型(LLM) 这里采用OpenAI官方给出的方式请求GPT-3.5 Turbo接口生成回复消息: ```python import openai openai.api_key = os.getenv('OPENAI_API_KEY') def generate_response(prompt): response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}, {"role": "assistant"}], temperature=0.7, max_tokens=256 ) message = response.choices[0].message.content.strip() return message ``` ##### 文本到语音(TTS) 最后借助微软Azure提供的Edge TTS工具将返回的文字信息合成为可播放的人声: ```bash pip install edge-tts ``` 定义函数执行实际操作: ```python from pathlib import Path import asyncio import edge_tts async def text_to_speech(text, output_file='./output.mp3'): communicate = edge_tts.Communicate(text=text, voice=os.environ.get('EDGE_TTS_VOICE')) await communicate.save(output_file) if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(text_to_speech(generate_response(transcribe_audio('./input.mp3')), './response.mp3')) ``` 上述脚本实现了从接收用户输入声音到最后输出计算机回应整个过程的一站式自动化处理机制[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值