
一文快速了解如何调用天工API接口
API(Application Programming Interface,应用程序编程接口)是一种软件接口,它定义了不同应用程序之间如何相互通信、交互。API接口分为很多种,常见的有Web API,数据库API,操作系统API等。
Web API是目前最流行的API接口,它作为一种开放式API接口,能够让不同的系统与平台进行交互。Web API可以返回JSON格式的数据或XML格式等数据。
模型名称 | 简介 |
Doubao-lite-4k | Doubao-lite拥有极致的响应速度,更好的性价比,为客户不同场景提供更灵活的选择。支持4k上下文窗口的推理和精调。 |
Doubao-lite-32k | Doubao-lite拥有极致的响应速度,更好的性价比,为客户不同场景提供更灵活的选择。支持32k上下文窗口的推理和精调。 |
Doubao-lite-128k | Doubao-lite 拥有极致的响应速度,更好的性价比,为客户不同场景提供更灵活的选择。支持128k上下文窗口的推理和精调。 |
Doubao-pro-4k | 效果最好的主力模型,适合处理复杂任务,在参考问答、总结摘要、创作、文本分类、角色扮演等场景都有很好的效果。支持4k上下文窗口的推理和精调。 |
Doubao-pro-32k | 效果最好的主力模型,适合处理复杂任务,在参考问答、总结摘要、创作、文本分类、角色扮演等场景都有很好的效果。支持32k上下文窗口的推理和精调。 |
Doubao-pro-128k | 效果最好的主力模型,适合处理复杂任务,在参考问答、总结摘要、创作、文本分类、角色扮演等场景都有很好的效果。支持128k上下文窗口的推理和精调。 |
您可以创建模型推理接入点来开始模型推理。模型推理接入点创建有3个入口,点击创建按钮后,在弹出的表单中,填写相应信息,信息填写完毕后,点击【新建】,即可完成在线服务推理接入点的创建。
接入模型表单字段详细说明:
参数名称 | 参数说明 |
接入点名称 | 填写接入点名称 |
接入点描述 | 描述接入模型的业务需求,如接入场景、用途(如测试、线上业务)等 |
接入模型 | 可选择【模型广场】或【精调模型】中的模型进行接入选择【模型广场】中的模型后,需进一步选择模型版本选择【精调模型】中的模型后,需进一步选择模型版本和 Checkpoint。当前仅支持基于豆包系列模型进行精调的模型 |
购买方式 | – 支持使用【按Token付费】、【按模型单元付费】2种模式 |
模型单元是调用某个特定模型的 TPM(Token per Minite)配额。创建推理接入点选择按模型单元付费后,用户可以获得比按 Token 付费更大的并发量,且无需再为 Token 消耗付费。模型单元付费方式为预付费。
我们对Doubao系列模型与部分开源模型支持模型单元。支持范围请参考产品计费
目前支持在+ 创建推理接入 点配置算力保障时,进行购买模型单元,可以配置购买模型单元的数量、时长、是否自动续费。自动续费支持按照单次自动续费时长(按天)及自动续费次数(永久生效、自定义次数)自定义配置。
通过【模型推理】列表页,找到需要调整的接入点,点击右侧的 ··· 可以进行调整模型单元、续费、退订。
点击续费按钮,会跳转到费用中心的续费管理页面,可以进行续费操作
想要删除买了模型单元的接入点,需要到费用中心退订管理中操作模型单元退订,退订成功后,再进行接入点的删除操作。
注意:因为模型单元是按实例组购买的,点击接入点名称详情中复制的模型单元ID是实例组 ID,实例组存在强绑定关系,因此续费、退订须同步发起。请注意,未到期的模型单元退订会产生惩罚系数,无法100%退费。
进入 API Key 管理 页面,选择需要的项目,点击 创建 API Key,即可生成长效 API Key。all权限默认给予项目下所有模型接入点和智能体访问权限。
<dependency>
<groupId>com.volcengine</groupId>
<artifactId>volcengine-java-sdk-ark-runtime</artifactId>
<version>LATEST</version>
</dependency>
import com.volcengine.ark.runtime.model.completion.chat.ChatCompletionRequest;
import com.volcengine.ark.runtime.model.completion.chat.ChatMessage;
import com.volcengine.ark.runtime.model.completion.chat.ChatMessageRole;
import com.volcengine.ark.runtime.service.ArkService;
import java.util.ArrayList;
import java.util.List;
public class DouBaoDemo {
public static void main(String[] args) {
ArkService service = new ArkService("ARK_API_KEY");
System.out.println("\n----- 标准请求 -----");
final List<ChatMessage> messages = new ArrayList<>();
final ChatMessage systemMessage = ChatMessage.builder().role(ChatMessageRole.SYSTEM).content("你是豆包,是由字节跳动开发的 AI 人工智能助手").build();
final ChatMessage userMessage = ChatMessage.builder().role(ChatMessageRole.USER).content("请自我介绍?").build();
messages.add(systemMessage);
messages.add(userMessage);
ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
.model("${YOUR_ENDPOINT_ID}")
.messages(messages)
.build();
service.createChatCompletion(chatCompletionRequest).getChoices().forEach(choice -> System.out.println(choice.getMessage().getContent()));
System.out.println("\n----- 流请求 -----");
final List<ChatMessage> streamMessages = new ArrayList<>();
final ChatMessage streamSystemMessage = ChatMessage.builder().role(ChatMessageRole.SYSTEM).content("你是豆包,是由字节跳动开发的 AI 人工智能助手").build();
final ChatMessage streamUserMessage = ChatMessage.builder().role(ChatMessageRole.USER).content("请自我介绍?").build();
streamMessages.add(streamSystemMessage);
streamMessages.add(streamUserMessage);
ChatCompletionRequest streamChatCompletionRequest = ChatCompletionRequest.builder()
.model("${YOUR_ENDPOINT_ID}")
.messages(streamMessages)
.build();
service.streamChatCompletion(streamChatCompletionRequest)
.doOnError(Throwable::printStackTrace)
.blockingForEach(
choice -> {
if (choice.getChoices().size() > 0) {
System.out.print(choice.getChoices().get(0).getMessage().getContent());
}
}
);
service.shutdownExecutor();
}
}