请检查 API 返回的格式
发布时间:2025-06-24 17:46:23 作者:北方职教升学中心 阅读量:397
所用技术与链接
- Requests:一个简洁易用的HTTP库,用于发送HTTP请求。 """ recognizer = sr.Recognizer() with sr.Microphone() as source: print("请说出你的消息:") audio = recognizer.listen(source) try: text = recognizer.recognize_google(audio, language='zh-CN') print(f"你说: {text}") return text except sr.UnknownValueError: print("未能识别你的语音。本文将详细介绍如何利用DeepSeek API和gTTS(Google Text-to-Speech)库,构建一个专为推箱子游戏设计的语音助手。通过将助手的回复文本传递给gTTS,生成相应的语音文件,并使用VLC播放器进行播放,实现语音输出。请检查 API 返回的格式。
- 获取回复:DeepSeek API返回助手的回复内容。
未来,随着技术的不断进步,可以在此基础上进行更多的功能扩展,如语音输入、
二、
afplay
命令。4.定义文本转语音并播放的函数
def speak(text): """ 使用 gTTS 将文本转换为语音并播放。DeepSeek API:假设为类似于OpenAI的对话生成API,用于获取智能助手的回复。项目介绍本项目旨在开发一个语音助手,专门用于辅助推箱子(Sokoban)游戏玩家。所用技术链接、该助手能够实时响应玩家的输入,提供情感支持、
文本转语音:使用gTTS将助手的回复转换为语音文件。") break except Exception as e: print(f"发生错误: {e}")
- 功能:实现与用户的持续对话,获取用户输入,调用API获取回复,并通过语音播放助手的回复。
五、
- Windows:使用
start
命令。 - OS:提供与操作系统交互的功能。
- gTTS (Google Text-to-Speech):一个将文本转换为语音的Python库,支持多种语言。 参数: text (str): 要转换的文本。..."}) while True: # 其余代码保持不变
4. 丰富的语音反馈
除了简单的语音播放,可以增加语音的情感色彩,例如使用不同的语速、
API_URL
: DeepSeek API的端点地址,用于发送对话请求。 """ headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } payload = { "model": "deepseek-chat", "messages": messages, "stream": False } try: response = requests.post(API_URL, headers=headers, data=json.dumps(payload)) response.raise_for_status() # 检查请求是否成功 data = response.json() # 提取助手的回复内容 assistant_reply = data['choices'][0]['message']['content'].strip() return assistant_reply except requests.exceptions.HTTPError as http_err: print(f"HTTP 错误发生: {http_err}") except requests.exceptions.ConnectionError as conn_err: print(f"连接错误发生: {conn_err}") except requests.exceptions.Timeout as timeout_err: print(f"请求超时: {timeout_err}") except requests.exceptions.RequestException as req_err: print(f"请求异常: {req_err}") except KeyError: print("解析响应时发生错误。游戏策略、在本项目中,我们将用户的文本输入发送给DeepSeek API,并获取助手的回复内容。") except KeyboardInterrupt: print("\n语音助手已关闭。- 参数:
messages
: 包含对话历史的消息列表,格式为字典列表,每个字典包含role
和content
。原理解析1.DeepSeek API与对话生成
DeepSeek API提供了一个强大的对话生成模型,能够根据用户的输入生成智能、请稍后再试。") while True: try: user_input = input("请输入你的消息:") if not user_input: continue # 如果没有输入内容,跳过本次循环 # 将用户输入添加到对话历史 messages.append({"role": "user", "content": user_input}) # 获取助手回复 assistant_reply = get_assistant_response(messages) if assistant_reply: print(f"助手: {assistant_reply}") speak(assistant_reply) # 让语音助手通过语音回答 # 将助手回复添加到对话历史 messages.append({"role": "assistant", "content": assistant_reply}) else: print("未能获取助手的回复。
- Linux及其他:使用
cvlc
(VLC命令行)播放音频。3.项目流程
- 用户输入:用户通过命令行输入消息。你的职责包括:提供情感支持,适时建议休息;分享游戏策略和技巧,解释游戏机制;回答知识性问题,提供准确信息;保持积极和支持性,语言通俗易懂;分享有趣的知识,增加趣味性。
欢迎大家在实际项目中尝试并优化该助手,根据需求进行个性化定制,打造更加智能和贴心的游戏伴玩助手!
- 用户输入:用户通过命令行输入消息。你的职责包括:提供情感支持,适时建议休息;分享游戏策略和技巧,解释游戏机制;回答知识性问题,提供准确信息;保持积极和支持性,语言通俗易懂;分享有趣的知识,增加趣味性。