所有文章 > API开发 > 【豆包大模型】-Python调用豆包大模型API及文本转语音TTS
【豆包大模型】-Python调用豆包大模型API及文本转语音TTS

【豆包大模型】-Python调用豆包大模型API及文本转语音TTS

豆包大模型简介 

豆包是字节跳动研发的先进人工智能。它依托海量数据与深度神经网络架构,具备卓越的语言理解和生成本领,无论是日常对话、专业知识问答,还是创意内容创作,都能应对自如。其知识储备极为丰富,涵盖了科学、历史、文化、技术等众多领域,犹如一部无所不知的智能知识库。同时,豆包能够根据用户的独特需求与交互习惯,提供高度个性化的交流体验,真正实现与用户的深度互动与心灵共鸣。本文将聚焦于运用 Python 调用豆包大模型 API,并借助相关技术达成 TTS 文本转语音功能,从而把豆包大模型的输出结果生动地播报出来,为用户打造更加智能便捷、丰富多彩的人机交互新范式。

环境描述

本项目开发环境配置如下:

计算机系统架构:x86,为项目运行提供稳定且具兼容性与扩展性的硬件基础。Python 版本Python 3.11.3,在特性、性能及库支持等方面有提升,满足功能开发需求。Pycharm 版本:Pycharm 2023.1 专业版,具备强大代码编辑功能与丰富开发工具插件,可高效管理与开发项目,提升开发效率与体验。

基础库安装

在达成文本转语音(TTS)功能以及成功加载 .env 配置文件的目标进程中,首要任务是完成特定 Python 基础库的安装工作。具体而言,需借助 pip 工具来安装 pyttsx3 和 dotenv 库,其安装指令如下:

pip install pyttsx3
pip install dotenv

豆包大模型Python库安装

为了在 Python 项目中调用豆包大模型,需要安装 volcengine-python-sdk 库。在终端执行以下命令进行安装:

pip install volcengine-python-sdk

然而,在安装过程中可能会遭遇特定错误。若出现如下错误信息:

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for volcengine-python-sdk
Running setup.py clean for volcengine-python-sdk
Failed to build volcengine-python-sdkERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (volcengine-python-sdk)

这通常是由于 Windows 系统存在最长路径限制,进而导致安装失败。可按照以下步骤解决:

第一步,按下 Win+R 组合键,在弹出的 “运行” 对话框中输入 regedit,随后点击 “确定” 打开注册表编辑器。

第二步,在注册表中找到 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 路径,将其下的 LongPathsEnabled 变量设置为 1

完成上述注册表修改操作后,再次运行 pip install volcengine-python-sdk 命令,即可顺利完成 volcengine-python-sdk 库的安装,从而为后续在 Python 代码中集成豆包大模型奠定基础。

大模型后台设置

1.注册登录

首先,需在浏览器中输入火山引擎官方网址 https://console.volcengine.com/auth/login?redirectURI=%2Fhome,进入火山引擎官网首页。在此页面中,若尚未拥有账号,可点击注册按钮,依据页面提示填写相关信息(如邮箱、手机号码、密码等)完成注册流程。注册成功后,使用注册时设定的账号信息进行登录操作,从而进入火山引擎的用户控制台界面,为后续获取 API 访问密钥及相关设置做好准备。

2. 获取 API 访问密钥

登录成功后,在火山引擎控制台界面中,找到并点击进入 “API 访问密钥网页”,其网址为 https://console.volcengine.com/iam/keymanage/。在该页面中,按照系统指引与安全规范,进行 API 访问密钥的创建与获取操作。此 API 访问密钥将作为后续 Python 代码与豆包大模型进行交互通信的重要凭证,需妥善保管,避免泄露,以保障数据安全与服务的正常使用。

具体流程如下: 

即可获取到API Key。

获取model

进入火山引擎model获取网页,获取model:

https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint?current=1&pageSize=10

具体流程如下:

模型 选择Doubao-pro-4k,主线模型选择240515即可。

接入点名称下的这一串代码就是 ENDPOINT_ID,非常重要,后续需要填到Python程序中。

开通模型

进入以下网站,开通模型:

https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement

 开通Doubao-pro-4k的模型服务。

编写程序

1. 文件夹配置

借助 Pycharm 集成开发环境来构建新工程。在成功创建工程后,于工程目录结构内分别创建 .env 和 main.py 这两个关键文件。其中,.env 文件主要用于存储敏感配置信息,如火山引擎的相关密钥等;main.py 文件则作为整个程序的主入口,承载着主要的逻辑代码编写与功能实现。通过这样的文件夹配置方式,能够有效地组织项目代码结构,使不同功能模块的代码各司其职,便于后续的开发、维护与调试工作。

2. 程序编写

在 .env 文件中,需要按照特定格式填写如下内容:

VOLC_ACCESSKEY= your Access Key

VOLC_SECRETKEY= your Secret Access Key
ENDPOINT_ID= your ENDPOINT_ID

务必将上述示例中的 your Access Key 替换为在火山引擎后台获取到的真实 Access Key,同理,your Secret Access Key 和 your ENDPOINT_ID 也需分别替换成对应的真实信息。这些信息是程序与豆包大模型进行安全、稳定通信的关键凭证,准确配置能够确保后续程序在调用大模型 API 时顺利进行身份验证与数据交互。

接下来编写 main.py 文件,在该文件中,首先需要导入必要的 Python 库,如 volcengine-python-sdk 以及用于处理环境变量的库(如 dotenv)等。然后,在代码中通过读取 .env 文件中的配置信息,完成与火山引擎 API 的连接初始化工作。例如:

import os
from dotenv import load_dotenv
import volcengine
from volcengine.maas import MaasService, ChatCompletionRequest

# 加载.env 文件中的环境变量
load_dotenv()

# 获取环境变量中的密钥和端点信息
access_key = os.getenv('VOLC_ACCESSKEY')
secret_key = os.getenv('VOLC_SECRETKEY')
endpoint_id = os.getenv('ENDPOINT_ID')

# 初始化火山引擎服务
volcengine.maas.ApiInfo(api_key=access_key, api_secret=secret_key, version='2023-05-29', endpoint_id=endpoint_id)
maas_service = MaasService()

# 构建聊天完成请求对象并设置相关参数(示例)
request = ChatCompletionRequest()
request.model = "your_model_name" # 替换为实际使用的模型名称
request.messages = [{"role": "user", "content": "your_prompt"}] # 设置用户提问内容

# 发送请求并获取响应
response = maas_service.chat_completions(request)
print(response)

在上述代码示例中,首先利用 load_dotenv 函数加载 .env 文件中的环境变量,随后通过 os.getenv 函数获取对应的密钥和端点信息,并使用这些信息初始化火山引擎服务。接着构建了一个简单的聊天完成请求对象 ChatCompletionRequest,设置了模型名称和用户提问内容(这里需根据实际情况替换为真实的模型名称和具体的提问),最后向豆包大模型发送请求并打印出响应结果。通过这样的代码编写流程,初步实现了基于 Python 调用豆包大模型 API 的功能框架,后续可根据具体需求进一步扩展和完善代码逻辑,如添加更多的输入处理、结果解析与展示等功能模块。

本文章转载微信公众号@python技术研究

#你可能也喜欢这些API文章!