业务推广网站,网站制作上海市,设计制作商城网站,网络营销推广步骤火山方舟控制台 开通模型推理、知识库 应用入口#xff1b;
文档中心 各类接口说明及SDK 获取#xff1b;
向量数据库VikingDB 文档 下翻找到有java操作案例#xff1b;
实现目标功能效果#xff1a; 通过SDK调用 豆包大模型#xff0c;在代码内实现问答的效果#xf…火山方舟控制台 开通模型推理、知识库 应用入口
文档中心 各类接口说明及SDK 获取
向量数据库VikingDB 文档 下翻找到有java操作案例
实现目标功能效果 通过SDK调用 豆包大模型在代码内实现问答的效果 官方示例 通过使用知识库自己上传文档。让豆包大模型可以回答 你文档中的内容数据即自定义属于你自己自身业务领域的大模型
前置步骤
点击右上角头像处去创建 API 访问密钥控制台内 模型推理 - 在线推理 创建一个推理接入点按提示操作即可控制台内 知识库 - 创建知识库
代码
package com.example.demo.service.doubao;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 com.volcengine.auth.ISignerV4;
import com.volcengine.auth.impl.SignerV4Impl;
import com.volcengine.model.Credentials;
import com.volcengine.service.SignableRequest;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;import java.util.ArrayList;
import java.util.List;/*** Authorwwf* Packagecom.example.demo.service* Projectdemo* nameCreateArkClientExample* Date2024/11/28 15:32* FilenameCreateArkClientExample*/
public class CreateArkClientExample {//模型推理 - 在线推理 - API 调用 内查看获取private static final String API_KEY ea9fxxxxxxxxx49c;//这里获取 https://console.volcengine.com/iam/keymanageprivate static final String AK AKLTZDI2Yxxxxxxxxx2U2NGZmMzA;private static final String SK Tnpjd0xxxxxxxxxOa1pXRQ;public static void main(String[] args) throws Exception {// 以华北 2 (北京) 为例ARK_DOMAIN 处应改为 ark.cn-beijing.volces.comArkService service ArkService.builder().apiKey(API_KEY).baseUrl(https://ark.cn-beijing.volces.com/api/v3).build();System.out.println(
----- standard request -----);String host api-knowledgebase.mlp.cn-beijing.volces.com;String path /api/knowledge/collection/search_knowledge;String method POST;String body {name:wwfTest,query:总结介绍下王清};SignableRequest request prepareRequest(host, path, method, null, body, AK, SK);System.out.println(request.getURI());HttpClient client HttpClients.createDefault();HttpResponse response client.execute(request);int statusCode response.getStatusLine().getStatusCode();String content EntityUtils.toString(response.getEntity());System.out.println(statusCode);System.out.println(content);final ListChatMessage streamMessages new ArrayList();final ChatMessage streamSystemMessage ChatMessage.builder().role(ChatMessageRole.SYSTEM).content(你是豆包是由字节跳动开发的 AI 人工智能助手).content(content).build();final ChatMessage streamUserMessage ChatMessage.builder().role(ChatMessageRole.USER).content(总结介绍下王清).build();streamMessages.add(streamSystemMessage);streamMessages.add(streamUserMessage);ChatCompletionRequest streamChatCompletionRequest ChatCompletionRequest.builder().model(ep-20241128155250-zlbd8)//回调函数
// .tools().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());}});// shutdown serviceservice.shutdownExecutor();}/*** 构建请求** param host* param path* param method* param params* param body* param ak* param sk* return* throws Exception*/public static SignableRequest prepareRequest(String host, String path, String method, ListNameValuePair params, String body, String ak, String sk) throws Exception {SignableRequest request new SignableRequest();request.setMethod(method);request.setHeader(Accept, application/json);request.setHeader(Content-Type, application/json);request.setHeader(Host, api-knowledgebase.mlp.cn-beijing.volces.com);request.setEntity(new StringEntity(body, utf-8));URIBuilder builder request.getUriBuilder();builder.setScheme(https);builder.setHost(host);builder.setPath(path);if (params ! null) {builder.setParameters(params);}RequestConfig requestConfig RequestConfig.custom().setSocketTimeout(5000).setConnectTimeout(2000).build();request.setConfig(requestConfig);Credentials credentials new Credentials(cn-north-1, air);credentials.setAccessKeyID(ak);credentials.setSecretAccessKey(sk);// 签名ISignerV4 ISigner new SignerV4Impl();ISigner.sign(request, credentials);return request;}
}示例代码说明
本人随意使用gpt 编写了一篇短片小说通过平台内知识库以文档形式上传进去。小说内有个人物叫 王清于是问 豆包模型 介绍下王清的信息此时 模型可以准确快速的响应 关于王清的信息 本文为个人操作接入记录官方文档示例还是比较全的。仅记录大致接入流程