豆包大模型接入体验
- Ai
- 2025-01-01
- 289热度
- 0评论
前置条件
需要先创建获得API key和创建推理接入点。
API key获取
https://www.volcengine.com/docs/82379/1361424#f79da451
创建推理接入点
https://www.volcengine.com/docs/82379/1099522
安装python环境
python版本需要安装到Python 2.7或以上版本。执行python --version可以检查当前Python的版本信息。我这里的版本已经到3.8.10
python3 --version
Python 3.8.10
接着安装豆包sdk
pip install volcengine-python-sdk
Collecting volcengine-python-sdk
Downloading volcengine-python-sdk-1.0.118.tar.gz (3.1 MB)
|████████████████████████████████| 3.1 MB 9.7 kB/s
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from volcengine-python-sdk) (2019.11.28)
Requirement already satisfied: python-dateutil>=2.1 in /usr/lib/python3/dist-packages (from volcengine-python-sdk) (2.7.3)
Requirement already satisfied: six>=1.10 in /usr/lib/python3/dist-packages (from volcengine-python-sdk) (1.14.0)
Requirement already satisfied: urllib3>=1.23 in /usr/lib/python3/dist-packages (from volcengine-python-sdk) (1.25.8)
Building wheels for collected packages: volcengine-python-sdk
Building wheel for volcengine-python-sdk (setup.py) ... done
Created wheel for volcengine-python-sdk: filename=volcengine_python_sdk-1.0.118-py3-none-any.whl size=10397043 sha256=c4546246eb0ef4e1c68e8047c6f2773d601821bd1acb7bc3a6162919f161423b
Stored in directory: /home/apple/.cache/pip/wheels/d2/dc/23/70fa1060e1a527a290fc87a35469401b7588cdb51a2b75797d
Successfully built volcengine-python-sdk
Installing collected packages: volcengine-python-sdk
Successfully installed volcengine-python-sdk-1.0.118
需要更新
pip install --upgrade 'volcengine-python-sdk[ark]'
Requirement already up-to-date: volcengine-python-sdk[ark] in /home/apple/.local/lib/python3.8/site-packages (1.0.118)
Requirement already satisfied, skipping upgrade: urllib3>=1.23 in /usr/lib/python3/dist-packages (from volcengine-python-sdk[ark]) (1.25.8)
Requirement already satisfied, skipping upgrade: six>=1.10 in /usr/lib/python3/dist-packages (from volcengine-python-sdk[ark]) (1.14.0)
Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in /usr/lib/python3/dist-packages (from volcengine-python-sdk[ark]) (2.7.3)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from volcengine-python-sdk[ark]) (2019.11.28)
Collecting cryptography<43.0.4,>=43.0.3; extra == "ark"
Downloading cryptography-43.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB)
|████████████████████████████████| 4.0 MB 1.7 MB/s
Collecting httpx<1,>=0.23.0; extra == "ark"
Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
|████████████████████████████████| 73 kB 1.0 MB/s
Collecting pydantic<3,>=1.9.0; extra == "ark"
Downloading pydantic-2.10.4-py3-none-any.whl (431 kB)
|████████████████████████████████| 431 kB 1.6 MB/s
Collecting anyio<5,>=3.5.0; extra == "ark"
Downloading anyio-4.5.2-py3-none-any.whl (89 kB)
|████████████████████████████████| 89 kB 1.8 MB/s
Collecting cffi>=1.12; platform_python_implementation != "PyPy"
Downloading cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (446 kB)
|████████████████████████████████| 446 kB 1.2 MB/s
Collecting httpcore==1.*
Downloading httpcore-1.0.7-py3-none-any.whl (78 kB)
|████████████████████████████████| 78 kB 1.8 MB/s
Requirement already satisfied, skipping upgrade: idna in /usr/lib/python3/dist-packages (from httpx<1,>=0.23.0; extra == "ark"->volcengine-python-sdk[ark]) (2.8)
Collecting pydantic-core==2.27.2
Downloading pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)
|████████████████████████████████| 2.0 MB 1.0 MB/s
Collecting typing-extensions>=4.12.2
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Collecting annotated-types>=0.6.0
Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB)
Collecting exceptiongroup>=1.0.2; python_version < "3.11"
Downloading exceptiongroup-1.2.2-py3-none-any.whl (16 kB)
Collecting sniffio>=1.1
Downloading sniffio-1.3.1-py3-none-any.whl (10 kB)
Collecting pycparser
Downloading pycparser-2.22-py3-none-any.whl (117 kB)
|████████████████████████████████| 117 kB 2.9 MB/s
Collecting h11<0.15,>=0.13
Downloading h11-0.14.0-py3-none-any.whl (58 kB)
|████████████████████████████████| 58 kB 3.3 MB/s
Installing collected packages: pycparser, cffi, cryptography, h11, httpcore, exceptiongroup, typing-extensions, sniffio, anyio, httpx, pydantic-core, annotated-types, pydantic
WARNING: The script httpx is installed in '/home/apple/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed annotated-types-0.7.0 anyio-4.5.2 cffi-1.17.1 cryptography-43.0.3 exceptiongroup-1.2.2 h11-0.14.0 httpcore-1.0.7 httpx-0.28.1 pycparser-2.22 pydantic-2.10.4 pydantic-core-2.27.2 sniffio-1.3.1 typing-extensions-4.12.2
测试
单张图片测试
vim test.py
import os
# 通过 pip install volcengine-python-sdk[ark] 安装方舟SDK
from volcenginesdkarkruntime import Ark
# 替换为您的模型推理接入点
model="ep-20250101121404-stw4s"
# 初始化Ark客户端,从环境变量中读取您的API Key
client = Ark(
api_key=os.getenv('ARK_API_KEY'),
)
# 创建一个对话请求
response = client.chat.completions.create(
# 指定您部署了视觉理解大模型的推理接入点ID
model = model,
messages = [
{
"role": "user", # 指定消息的角色为用户
"content": [ # 消息内容列表
{"type": "text", "text":"这张图片讲了什么?"}, # 文本消息
{
"type": "image_url", # 图片消息
# 图片的URL,需要大模型进行理解的图片链接
"image_url": {"url": "https://www.laumy.tech/wp-content/uploads/2024/12/wp_editor_md_7a3e5882d13fb51eecfaaf7fc8c53b59.jpg"}
},
],
}
],
)
print(response.choices[0])
执行返回结果
python3 test.py
Choice(
finish_reason='stop',
index=0,
logprobs=None,
message=ChatCompletionMessage(
content='这张图片展示了一个WebRTC(Web实时通信)的流程示意图,涉及到PC(个人计算机)、MQTT代理(mqtt broker)和CEMARA设备。以下是流程图的主要步骤:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n1. **PC端操作**:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **连接和订阅**:PC端首先进行连接(connect),然后订阅相关主题("webrtc/id/jsonrpc"和"webrtc/id/jsonrpc-replay")。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **发布消息**:PC端发布消息(pub),发送"offer"请求(offer (req))。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **接收消息**:PC端接收来自MQTT代理的消息,包括"message"事件和相关的应答(res)。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **创建应答**:PC端创建应答(pc.createAnswer),并设置远程描述(pc.setRemoteDescription)。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n2. **STUN/TURN服务器交互**:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **STUN/TURN绑定请求和应答**:在STUN/TURN服务器上,PC端发起绑定请求(binding req)和应答(binding res),获取SDP(Session Description Protocol)信息。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **ANSWER请求和应答**:PC端发送ANSWER请求(anser (req)),并接收ANSWER应答(anser (res))。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n3. **检查和连接过程**:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **检查连接**:PC端按照优先级顺序检查连接的顺畅性(host、srflx、relay)。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **连接完成**:经过一系列的检查和交互,PC端与CEMARA设备成功连接(CONNECTED)。\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n4. **数据交互和完成**:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **数据交互**:PC端和CEMARA设备开始进行数据交互(agent_send和agent_recv)。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n - **完成状态**:数据交互完成后,流程进入“COMPLETED”状态,表示整个WebRTC通信过程结束。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n整个流程图清晰地展示了WebRTC通信过程中PC端与MQTT代理以及STUN/TURN服务器之间的交互过程,包括连接、消息发布、应答接收、绑定请求、检查连接等步骤,最终实现了PC端与CEMARA设备的数据通信。', role='assistant', function_call=None, tool_calls=None, audio=None
)
)