豆包大模型接口调用
一.环境描述
Python版本:Python 3.11.3(官方要求上大于2.7即可)
二.基础库的安装
python
# 实现语音识别
pip install pyttsx3
# 加载env环境文件
pip install dotenv
# 环境SDK的安装
pip install volcengine-python-sdk
在SDK中安装出错
- 按下 Win+R ,输入 regedit 打开注册表编辑器。
- 设置 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 路径下的变量 LongPathsEnabled 为 1 即可。
三.pycharm创建项目
创建一个.env文件,用于变量的读取
四.火山引擎
点击网址后进行注册,实名认证后可以申请API接口
名称和API后面要使用(名称是VOLC_ACCESSKEY,API key是VOLC_SECRETKEY)
创建推理申请接入点
添加模型
官方赠送50万tokens,额度用完后就收费
复制上述的字符串后续使用(ENDPOINT_ID的内容)
五.程序编写
1.在.env文件中填写以下内容
VOLC_ACCESSKEY= your Access Key
VOLC_SECRETKEY= your Secret Access Key
ENDPOINT_ID= your ENDPOINT_ID
2.把第四部分相应内容填写到文件中
python
import os
import pyttsx3
from volcenginesdkarkruntime import Ark
import dotenv
# 加载环境变量
dotenv.load_dotenv(".env")
# 初始化 Ark 客户端
client = Ark()
client = Ark(api_key="your api-key", region="cn-beijing")
# 初始化 pyttsx3 引擎
engine = pyttsx3.init()
# 配置 TTS 的语速和音量(可选)
engine.setProperty('rate', 150) # 语速
engine.setProperty('volume', 1) # 音量
# 从环境变量中获取模型 ID
model_id = os.getenv("ENDPOINT_ID")
# 欢迎语
Welcome_Text = "您好,我是豆包,您的大模型对话助手,请问有什么可以帮到您?(输入 'exit' 退出对话)"
print(Welcome_Text)
# engine.say(Welcome_Text)
# engine.runAndWait() # 等待语音播放完毕
# 进入多轮对话的循环
while True:
# 从终端获取用户输入
user_input = input("User:\r\n")
# 检查用户是否想退出
if user_input.lower() in ["exit", "quit"]:
print("AI:感谢您的使用,再见!")
break
# 创建流式对话请求
stream = client.chat.completions.create(
model=model_id,
messages=[
{"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
{"role": "user", "content": user_input}, # 使用终端输入的内容
],
stream=True
)
print("AI:")
# 初始化一个空字符串来存储所有文本
full_text = ""
# 逐块读取流式输出并将结果打印
for chunk in stream:
if not chunk.choices:
continue
# 获取文本内容
text = chunk.choices[0].delta.content
# 输出文本到控制台
print(text, end="")
# 将文本累积到 full_text
full_text += text
# # 当流式结果全部接收完成后,开始将累积的文本通过 TTS 朗读出来
# if full_text:
# engine.say(full_text)
# engine.runAndWait() # 等待语音播放完毕
print("\r\n")
注意:因为模型指定北京,需要将代理指定北京,api key为下述,可以开启语音朗读,把代码中的注释取消即可
client = Ark(api_key="your api-key", region="cn-beijing")
3.运行结果
定北京,api key为下述,可以开启语音朗读,把代码中的注释取消即可
client = Ark(api_key="your api-key", region="cn-beijing")
[外链图片转存中...(img-ZjA8DraG-1729483323133)]