AI调用示例
更新时间:2026-10-26
概述
通过在线服务部署的自定义服务支持通过公网或 VPC 内地址调用两种方式。本文介绍如何调用百舸平台部署的在线服务。
调用方式
部署服务时,您可以选择网络接入方式。默认的云原生 AI 网关相对 BLB 负载均衡具备服务鉴权能力,并提供流量可观测监控大盘。如果您需要部署 WebUI、非 HTTP 网络协议,以及为服务提供独享网络接入时,请关闭云原生 AI 网关切换到 BLB 负载均衡。
公网访问
您可以直接通过公共网络访问部署在线服务,部署服务时需开启公网访问。为满足安全隔离和访问控制的要求,您可以配置 AI 网关。通过 AI 网关,您可以将请求转发至在线服务部署,从而确保客户端与服务器之间实现稳定且可靠的网络连接。
VPC 内访问
同一 Region 的两个 VPC 网络支持建立 VPC 连接,您可以访问同一地域中部署在资源池中的服务。
API调用说明
在百舸平台部署在线服务后,系统会自动生成调用服务地址。您可以在服务列表页或详情页查看调用信息,通过该调用信息可以进行调用测试。
AI网关
AI 网关集成 Token 鉴权机制,显著增强了服务的安全性。所有未经授权的请求将被网关自动拦截,能有效保护推理服务免受未授权访问。
使用 curl 访问
在 URL 后需拼接镜像内服务的路由路径 /v1/chat/completions。
Bash
1curl --location '<访问地址>/v1/chat/completions' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: <TOKEN>' \
4--data '{
5 "model": "deeepseek-r1",
6 "messages": [{"role": "system", "content": "你是一名天文学家,请回答用户提出的问题。"}, {"role": "user", "content": "人类是否能登上火星?"}, {"role": "assistant", "content": "目前来看,人类登上火星是完全可能的..."}],
7 "max_tokens": 1024,
8 "temperature": 0
9}'
使用 Python 访问
Python
1from openai import OpenAI
2
3def get_response():
4 client = OpenAI(
5 api_key="<TOKEN>", # 需要您将 Token 的 "Bearer" 去掉,该 SDK 会自动补齐
6 base_url="<访问地址>",
7 )
8
9 completion = client.chat.completions.create(
10 model="deeepseek-r1",
11 messages=[{"role": "system", "content": "你是一名天文学家,请回答用户提出的问题。"}, {"role": "user", "content": "人类是否能登上火星?"}, {"role": "assistant", "content": "目前来看,人类登上火星是完全可能的..."}]
12 )
13
14 print(completion.model_dump_json())
15
16if __name__ == '__main__':
17 get_response()
BLB负载均衡
使用 curl 访问
Bash
1curl --location '<访问地址>/v1/chat/completions' \
2--header 'Content-Type: application/json' \
3-d '{
4 "model": "deeepseek-r1",
5 "messages": [{"role": "system", "content": "你是一名天文学家,请回答用户提出的问题。"}, {"role": "user", "content": "人类是否能登上火星?"}, {"role": "assistant", "content": "目前来看,人类登上火星是完全可能的..."}]
6}'
使用 Python 访问
Python
1from openai import OpenAI
2
3def get_response():
4 client = OpenAI(
5 api_key="", # BLB 负载均衡无需填写 api_key,可以按照您的镜像配置
6 base_url="<访问地址>",
7 )
8
9 completion = client.chat.completions.create(
10 model="deeepseek-r1",
11 messages=[{"role": "system", "content": "你是一名天文学家,请回答用户提出的问题。"}, {"role": "user", "content": "人类是否能登上火星?"}, {"role": "assistant", "content": "目前来看,人类登上火星是完全可能的..."}]
12 )
13
14 print(completion.model_dump_json())
15
16if __name__ == '__main__':
17 get_response()
评价此篇文章
