腾讯云大模型知识引擎×DeepSeek | 企业应用快速接入手册

发布于:2025-03-25 ⋅ 阅读:(38) ⋅ 点赞:(0)

前言

其实早就该写这篇文章的,只是有各种原因耽搁了,一方面是由于确实想好好写,想写一点大家可以用的上的东西,考虑的太多反而不敢下笔;另一方面也是因为一直没想好写哪个方向的内容。本次的 腾讯云大模型知识引擎×DeepSeek 的测评活动一共提供了两个方向:应用搭建模式(低代码) 和 API开发模式(代码态) 。两个方向各有特点,不同的文章创作者适合不同的写作方向。本来是准备写应用搭建模式(低代码)方向的,但是根据官方活动群的反馈,应用搭建模式方向写的人比较多,那么就切换到 API开发模式方向来创作吧。本次活动的链接:https://cloud.tencent.com/developer/article/2496399 这里也期待更多的技术从业者能够参与进来,来帮助企业探索好产品,同时也可以促进官方产品更完善。多余的话就不说了,下面开始正文内容…

大模型知识引擎 LKE

在开始后续的API开发模式接入之前,还是需要先来了解一下我们的主角:大模型知识引擎 LKE。那么什么是大模型知识引擎 LKE?对于LKE的介绍,由于产品介绍容易理解,我们直接引用官方的介绍:【大模型知识引擎(LLM Knowledge Engine),是面向企业客户及合作伙伴的,基于大语言模型的知识应用构建平台,结合企业专属数据,提供知识问答等应用范式,更快更高效地完成大模型应用的构建,推动大语言模型在企业服务场景的应用落地。】
大模型知识引擎使用 OCR、LLM+RAG 、MLLM 等多种技术能力,擅长处理企业级多模态复杂知识问答,助力企业及开发者打造场景丰富、功能完善的智能客服解决方案,从而为用户提供准确、高效的问答服务。针对企业内部大量的文档资料,还能够实现智能检索和精准问答,帮助用户快速找到所需信息,助力企业及开发者实现企业级知识库数智化服务升级。

下面我们首先需要开通服务。

开通服务

大模型知识引擎 LKE 的服务开通比较简单,我们直接打开官网地址:https://cloud.tencent.com/product/lke?from_column=20421&from=20421 点击【产品体验】
在这里插入图片描述
系统会自动跳转到 大模型知识引擎 LKE 开通提示页面,在当前页面等待几秒就可以开通成功。在大模型知识引擎控制台页面可以看到应用平台已经为我们内置了多种场景的体验模版,包括:DeepSeek联网助手、汽车问答助手等,用户可以基于现有的模版快速创建自己的应用发布使用,大大的节省开发成本和接入成本
在这里插入图片描述
这里简单的说通过体验模版可以降低开发成本可能没有那么真实,我们直接来感受一下这个应用创建的速度和效果,以事实说话。

DeepSeek联网助手

在线体验DeepSeek联网版

个人对于DeepSeek的探索永远不止,只要看到 DeepSeek 的相关东西就想体验感受一下,就像这篇本章一样,虽然我主要内容是想要写 API开发模式,但是看到应用了还是想创建一下,毕竟后面API 调用也可能用得上。那么点击体验中心 DeepSeek联网助手的【立即体验】
在这里插入图片描述
在体验页面我们也可以直接在线体验 基于 DeepSeek 满血版(671B全尺寸模型)的服务,比如这里我输入我想知道的:【介绍一下你自己】,看了一下大模型知识引擎 内置模版的 DeepSeek 满血版 服务,感觉还不错,和DeepSeek 官网的对话页面返回的内容没啥差别,但是腾讯云的大模型知识引擎 的这个 DeepSeek联网助手的 体验页面 最大的优点就是永远不用担心【服务器繁忙,请稍后再试。】同样的,如果你对这个体验模版还挺满意,那么你就可以直接点击右上角的【创建为我的应用】来创建自己的应用了
在这里插入图片描述

创建DeepSeek联网助手

点击 DeepSeek联网助手在线体验页面右上角的【创建为我的应用】,可以打开大模型知识引擎 应用创建页面,在应用创建页面,单击应用图标,可更换应用头像及昵称。这里需要注意,点击默认的应用名称不能打开编辑应用页面哦,必须点击 应用图标 才可以。这里修改应用名称为【我的DeepSeek联网助手】其他默认选择不变,保存即可
在这里插入图片描述
在应用配置页选择 【模型设置】-【生成模型】,目前可以选择的生成模型有 DeepSeek-R1/V3 模型,其他模型暂时无法使用,这里我还是选择习惯用的 DeepSeek-R1 模型
在这里插入图片描述
下来配置项,找到并开启 【联网搜索】开关,随后就可以在右侧对话调试窗口,测试联网模式的对话效果,输入我想知道的内容:【鲁迅的一篇关于闰土的文章,帮我整一下原文】
在这里插入图片描述
开启联网搜索之后,答案生成后,会进一步展示搜索网页引用来源,单击【参考来源】,可跳转至原网页链接进行溯源
在这里插入图片描述
测试完成之后,我们就可以点击右上角的【发布】,为了标注版本信息,可以在发布上线的弹窗中的【发布说明】写下当前版本的描述,点击【发布】后完成应用的发布
在这里插入图片描述
发布完成后,可前往【发布管理】-【 调用信息】查看体验链接、分享链接、分享二维码。也可查看 API key,使用 接口调用 的方式,接入到业务场景中。这里我们直接点击【API管理】后面的【复制】按钮,复制 appkey 备用
在这里插入图片描述
大模型知识引擎应用发布成功之后,除了可以基于上面提到的web 页面在线体验以及 二维码扫码体验,还可以通过应用接口接入的方式来在企业的具体业务场景中落地使用,从而大大节省大语言模型落地企业应用系统的成本,推动大语言模型在企业服务场景的应用落地。下面我们来看一下应用接口接入操作。

应用接口接入

当你创建好了大模型知识引擎应用之后,你可以通过接口接入的方式来嵌套进你的具体业务场景中。在具体业务场景中通过对话端接口与大模型知识引擎进行交互,目前大模型知识引擎平台提供了两种常用的接入方式:WebSocket 与 HTTP SSE 的方式。

其中 WebSocket 是面向链接的,全双工通道。客户端在建立链接前需要先从服务端获取 Token,然后通过这个 token 才能与服务端创建 WebSocket 链接。

而另一种 HTTP SSE 是单向通道,客户端发起 HTTP 请求之后,服务端持续推送流式数据到客户端,此时不支持双向交互。

官方文档中提供了 前端页面接入(含demo)以及 后端 demo 代码,由于个人是 Java 后端开发,因此这里贴出了 后端demo JAVA版本 的下载地址。对于需要在业务系统中接入 大模型知识引擎 应用的企业,可以直接下载前端 及 后端 demo 代码引入项目就可以。这里由于本人工作中暂时没有这样的通过前后端 交互对话的场景,因此这里不再列出具体业务场景应用代码。

WebSocket 接口配置

在你使用WebSocket 进行前后端交互的时候,对于官方提供的示例代码,需要你获取对应的 SecretId 、SecretKey ,这一点在官方文档中没有标明,这里我说明一下。关于 SecretId 、SecretKey 的获取地址,需要到 访问管理 控制台,选择【API密钥管理】,点击【新建密钥】,在弹出的创建SecretKey 的弹窗中,点击【复制】按钮复制 SecretId 、SecretKey 用于配置 WebSocket 接口参数【需要注意 SecretKey 只有新建密钥才可以复制,其他情况无法复制】
在这里插入图片描述
同时还需要获取具体的 机器人密钥,这里的机器人密钥,当Type=5时,BotAppKey 就是你创建的大模型知识引擎应用的AppKey ,这里的大模型知识引擎应用 appkey 就是我们这里用到的 BotAppKey,具体的获取在如下位置
在这里插入图片描述
随后我们将获取到的具体的SecretId 、SecretKey以及 BotAppKey (appkey) 的配置位置在示例代码的 Token.java 类中
在这里插入图片描述
关于Token.java 类配置了SecretId 、SecretKey 以及 BotAppKey (appkey) 后的代码这里我也贴在文章中,方便大家根据文档来参考配置具体的加密参数

package org.example;

import com.tencentcloudapi.common.CommonClient;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.profile.ClientProfile;
import org.json.JSONObject;


public class Token
{
    public String getWsToken() {
        try {
            Credential cred = new Credential(secretId, secretKey);

            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setRootDomain("tencentcloudapi.com");
            httpProfile.setReqMethod(HttpProfile.REQ_POST);
            httpProfile.setProtocol(HttpProfile.REQ_HTTPS);

            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);

            CommonClient client = new CommonClient("lke", "2023-11-30", cred, "ap-guangzhou", clientProfile);

            JSONObject params = new JSONObject();

            params.put("Type", connTypeApi);
            params.put("BotAppKey", botAppkey);
            params.put("VisitorBizId", visitorBizId);
            String respJsonStr = client.call("GetWsToken", params.toString());


            JSONObject resp = new JSONObject(respJsonStr);
            JSONObject respData = resp.getJSONObject("Response");
            return respData.getString("Token");
        } catch (Exception e) {
            System.out.println(e);
            return "";

        }
    }


    private final String secretId = "AKID8HG2h8LMEuwqbBev064A96sSwOtDMKl1"; // 填入腾讯云AKSK密钥(从腾讯云控制台获取)
    private final String secretKey = "66uUr0wfCaliSyCAwUAi6KNFvQpIfGkO"; // 填入腾讯云AKSK密钥(从腾讯云控制台获取)

    private final int connTypeApi = 5; // API 访客

    private static String botAppkey = "nIwXcQdo";  // 机器人密钥,不是BotBizId (从运营接口人处获取)

    private static String visitorBizId = "202403180001"; //  访客 ID(外部系统提供,需确认不同的访客使用不同的 ID)

}

在给 Token.java 类配置了SecretId 、SecretKey 以及 BotAppKey (appkey) 后执行 main 方法可以看到具体的 应用接口返回结果
在这里插入图片描述
正常情况下应该是前端和后端通过 WebSocket 保持交互,从而来不断地调用具体的应用接口获取服务,这里由于目前个人所接触的业务没有涉及,因此也就不再详细说明,这里只是给出了 WebSocket 配置接口参数的类的相关说明以及后端的模拟调用结果。

HTTP SSE 接口配置

对于 HTTP SSE 接口配置,相对于 WebSocket的接口配置简单多了,毕竟 HTTP SSE 接口是通过服务端持续推送流式数据到客户端,不是双向交互,因此 HTTP SSE 接口类配置就比较简单,只需要配置 机器人密钥 botAppKey 就可以了。和上面同样的办法,获取 机器人密钥 botAppKey(appkey)配置在 HttpSSE.java 类的 如下位置
在这里插入图片描述
配置了具体的 appkey 后的 HttpSSE.java 的完整代码如下,放在这里供大家有需要的来使用

package org.example;

import okhttp3.*;
import okhttp3.sse.EventSource;
import okhttp3.sse.EventSourceListener;
import okhttp3.sse.EventSources;
import org.json.JSONException;

import org.json.JSONObject;


public class HttpSSE {


    public void sseInvoke(String content, String sid) {

        // 创建 OkHttpClient 对象
        OkHttpClient client = new OkHttpClient();

        // 创建 JSON 请求体
        MediaType mediaType = MediaType.get("application/json");
        JSONObject reqBody = new JSONObject();
        try {
            reqBody.put("content", content);
            reqBody.put("bot_app_key", botAppKey);
            reqBody.put("visitor_biz_id", visitorBizId);
            reqBody.put("session_id", sid);
        } catch (Exception e) {
            e.printStackTrace();

        }

        Request request = new Request.Builder()
                .url(sseUrl)
                .post(RequestBody.create(reqBody.toString(),mediaType))
                .build();

        EventSourceListener listener = new EventSourceListener() {
            @Override
            public void onOpen(EventSource eventSource, Response response) {
                System.out.println("SSE connection opened");
            }

            @Override
            public void onClosed(EventSource eventSource) {
                System.out.println("SSE connection closed");
            }


            @Override
            public void onEvent(EventSource eventSource, String id, String type, String data) {
                if (type.equals("reply")) {
                    try {
                        JSONObject dataObj = new JSONObject(data);
                        JSONObject payload = dataObj.getJSONObject("payload");

                        if (payload.length() > 0) {
                            boolean isFromSelf = payload.getBoolean("is_from_self");
                            boolean isFinal = payload.getBoolean("is_final");
                            String content = payload.getString("content");
                            if (isFromSelf) {
                                System.out.println("is_from_self, event: " + type + ", content: " + content);
                            } else if (isFinal){
                                System.out.println("is_final, event: " + type + ", content: " + content);

                            }
                        }
//                    System.out.println("Received SSE reply: " + dataObj);
                    } catch (JSONException e) {
                        throw new RuntimeException(e);
                    }
                } else {
                    System.out.println("Received SSE event: " + type);
                }

            }

            @Override
            public void onFailure(EventSource eventSource, Throwable t, Response response) {
                System.err.println("Error occurred: " + t.getMessage());
            }
        };
        EventSource.Factory factory = EventSources.createFactory(client);
        factory.newEventSource(request, listener);


    }
    private final String sseUrl = "https://wss.lke.cloud.tencent.com/v1/qbot/chat/sse"; // SSE 服务器的 URL
    private static String botAppKey = "nIwXcQdo"; // 机器人密钥,不是BotBizId (从运营接口人处获取)
    private static String visitorBizId = "202403180001"; //   访客 ID(外部系统提供,需确认不同的访客使用不同的 ID)
}

我们再一次执行main 方法,可以看到具体的应用接口返回结果
在这里插入图片描述
对于应用接口接入,根据官方文档提供的示例demo ,我们可以直接配置具体的加密参数以及应用 appkey 后就可以直接使用,那么在具体的业务场景中有对应的需求之后,就可以直接复制当前示例 demo 中的代码到应用系统代码中,从而大大的节省落地企业业务场景的学习成本和开发成本,这对于企业来说,是很大的利好。

原子能力接口

当然,大模型知识引擎除了提供 基于 WebSocket 、HTTP SSE 的应用接口接入方法,还同时提供了通过腾讯云DeepSeek API结合大模型知识引擎开放的文档解析、拆分、embedding、多轮改写等多项API原子能力,下面我们来具体模拟一下原子能力接口的调用。

特征向量

那么什么是特征向量?在大语言模型(如GPT、BERT等)中,特征向量通常指文本(词、句或段落)通过模型编码后生成的高维向量表示,这些向量由模型的隐藏层(如Transformer层的输出)计算得到,能够捕捉语义、语法和上下文信息。也就是说,大语言模型通过将文本转化为用数值表示的向量形式,从而用于文本检索、信息推荐、知识挖掘等场景。举个例子:日常生活中我们的拍图搜物品,其实就是应用了特征向量的模式,通过提取拍图的特征向量数据,与已经存在的特征向量数据进行比对,根据返回特征向量比较相似度的值由高到低展示供我们选择,文本也是同样可以提取特征向量的。

在使用原子能力接口之前,由于默认的免费体验API 原子能力接口 资源包已经过期了,
在这里插入图片描述
直接使用接口调用的话,接口会给出如下提示

{
  "Response": {
    "Error": {
      "Code": "ResourceUnavailable.ResourcePackageRunOut",
      "Message": "20031-not enough quota"
    },
    "RequestId": "46b2b9fc-755d-4feb-aeac-c7497e0bf9cc"
  }
}

这个时候如果想要使用原子能力接口的话,可以点击【计费管理】后面的【增购】跳转到具体的套餐购买页面,如果是个人测试的话,则可以开启后付费设置,选择【计费管理】-【后付费设置】-【开启】按钮
在这里插入图片描述
开启了后付费设置之后就可以进行大模型知识引擎原子能力接口的具体调用操作。在接口文档,我们可以直接接口文档的【点击调试】按钮
在这里插入图片描述
跳转到原子能力接口在线调试页面,通过具体的输入具体的参数等,可以直接在【代码示例】页面获取当前接口的 main 方法调用示例,在应用系统接入过程中,就可以复制具体的main 方法代码到具体的业务场景代码中,从而实现快速接入大模型知识引擎的 原子能力接口API 调用
在这里插入图片描述
在企业应用系统项目pom.xml 文件引入一下配置,其中代码示例中的 SecretId 和 SecretKey 同样也是来自 【访问管理】-【API密钥管理】中的密钥配置

<!--# 版本在maven生效需要时间,如获取不到对应的版本,可以调低版本号-->
        <dependency>
            <groupId>com.tencentcloudapi</groupId>
            <artifactId>tencentcloud-sdk-java-lke</artifactId>
            <version>3.1.1222</version>
        </dependency>

完成密钥配置后的示例代码如下

package org.example;

import com.tencentcloudapi.common.AbstractModel;

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;

import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.lke.v20231130.LkeClient;
import com.tencentcloudapi.lke.v20231130.models.GetEmbeddingRequest;
import com.tencentcloudapi.lke.v20231130.models.GetEmbeddingResponse;

public class Sample

{
    public static void main(String [] args) {
        try{
            // 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
            // 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性
            // 以下代码示例仅供参考,建议采用更安全的方式来使用密钥
            // 请参见:https://cloud.tencent.com/document/product/1278/85305
            // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
            Credential cred = new Credential("AKIDugOxISO7d1DCxVr20oSwDIH9pJZfZJsE", "FNVUGpDbt0wpZ5OVRAvUs35wdAWheR1M");
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("lke.tencentcloudapi.com");
            // 实例化一个client选项,可选的,没有特殊需求可以跳过

            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的

            LkeClient client = new LkeClient(cred, "ap-guangzhou", clientProfile);
            // 实例化一个请求对象,每个接口都会对应一个request对象
            GetEmbeddingRequest req = new GetEmbeddingRequest();
            req.setModel("lke-text-embedding-v1");

            String[] inputs1 = {"介绍一下你自己"};
            req.setInputs(inputs1);

            req.setOnline(false);
            // 返回的resp是一个GetEmbeddingResponse的实例,与请求对象对应

            GetEmbeddingResponse resp = client.GetEmbedding(req);
            // 输出json格式的字符串回包
            System.out.println(AbstractModel.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }
    }
}

对于企业来说,可以通过获取特征向量接口将企业文档或者查询记录等信息,存入企业向量数据库,从而在后续为企业或者用户提供服务时,可以通过相似度快速检索相关内容。并且通过用户问题与知识向量库的比对,生成精准答案。另外还可以结合用户历史行为向量与内容向量,为用户快速推荐相似的文本内容、商品、文章等,比如在线商城的个性化推荐功能。目前大模型知识引擎的获取特征向量接口暂时只支持文本内容输入,相信后期随着大模型知识引擎的不断升级迭代,也将会提供多模态的输入转向量能力,从而实现文本搜索图片,或者图片搜索文本,视频能的应用能力。

多轮改写

多轮改写原子能力接口主要用于多轮对话中,进行指代消解和省略补全。使用多轮改写接口,无需输入prompt描述,根据对话历史即可生成更精确的用户查询。举个例子:当你在购买商品之前,你会询问客服A 一些关于商品的详细信息,比如型号、配置、保修期等,对于客服人员来说,不同的客服所管理的产品内容并不交叉。也就是说,当你在和客服一问一答咨询问题时,可能会超出当前客服业务范围,那么此时就出现了客服转接。将你从客服A转移到了客服B,那么客服B 并不知道你与客服A 的聊天记录,这个时候就会提示【稍等一下,我先阅读下历史消息】。

例子列举完了,那就到了多轮改写的场景了。多轮改写可以根据历史对话(客户与客服A)的对话快速生成精确的用户咨询记录,从而快速的定位用户的需求,提高服务用户的精准度和满意度。同样的方法,我们可以直接点击接口文档的【点击调试】进入在线调试页面
在这里插入图片描述
通过输入具体的接口请求参数来获取多轮改写后的内容,这里需要区分角色user 和 assistant 比如这里有一个用户想买一个手机,那么最后整理的历史对话记录的格式如下示例代码

package org.example;

import com.tencentcloudapi.common.AbstractModel;


import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;

import com.tencentcloudapi.lke.v20231130.LkeClient;
import com.tencentcloudapi.lke.v20231130.models.*;


public class Sample2
{

    public static void main(String [] args) {
        try{
            // 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
            // 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性
            // 以下代码示例仅供参考,建议采用更安全的方式来使用密钥
            // 请参见:https://cloud.tencent.com/document/product/1278/85305
            // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
            Credential cred = new Credential("AKIDugOxISO7d1DCxVr20oSwDIH9pJZfZJsE", "FNVUGpDbt0wpZ5OVRAvUs35wdAWheR1M");
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("lke.tencentcloudapi.com");
            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            LkeClient client = new LkeClient(cred, "ap-guangzhou", clientProfile);
            // 实例化一个请求对象,每个接口都会对应一个request对象
            QueryRewriteRequest req = new QueryRewriteRequest();
            req.setQuestion("我想买个手机");

            Message[] messages1 = new Message[8];
            Message message1 = new Message();
            message1.setRole("assistant");
            message1.setContent("您需要什么牌子");
            messages1[0] = message1;


            Message message2 = new Message();
            message2.setRole("user");
            message2.setContent("小米的");
            messages1[1] = message2;


            Message message3 = new Message();
            message3.setRole("assistant");
            message3.setContent("内存需要多大呢");
            messages1[2] = message3;

            Message message4 = new Message();
            message4.setRole("user");
            message4.setContent("12G");

            messages1[3] = message4;

            Message message5 = new Message();
            message5.setRole("assistant");
            message5.setContent("存储空间需要多大呢");
            messages1[4] = message5;

            Message message6 = new Message();
            message6.setRole("user");
            message6.setContent("256GB");
            messages1[5] = message6;

            Message message7 = new Message();
            message7.setRole("assistant");
            message7.setContent("价格在什么区间呢");
            messages1[6] = message7;

            Message message8 = new Message();
            message8.setRole("user");
            message8.setContent("2000元以内");
            messages1[7] = message8;

            req.setMessages(messages1);

            req.setModel("lke-query-rewrite-base");
            // 返回的resp是一个QueryRewriteResponse的实例,与请求对象对应
            QueryRewriteResponse resp = client.QueryRewrite(req);
            // 输出json格式的字符串回包
            System.out.println(AbstractModel.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }
    }
}

智能客服通过与用户的多轮对话之后,为用户推荐适合用户需求的商品,从而完成交易场景。多轮改写能力可以基于用户与客服之间的多轮对话内容来快速整改写出用户的精准需求,为用户推荐满意的商品,从而提高服务用户的质量。在企业具体场景接入时,可以直接获取用户和客服的对话记录,生成改写后的精准化用户查询内容,实时高效为用户提供最优质的客服服务。可以接入日常的客服问答系统或者是对话推荐商品搜索服务中。

文档解析

大模型知识引擎的原子能力接口文档解析能力分为异步文档解析和文档解析,那么异步文档解析就是通过创建文档解析任务的形式将图片或PDF文件转换成Markdown格式文件,并且是将内容智能转换成阅读顺序。这里提到的PDF文件,并不是只支持PDF格式文件,目前文档解析支持的文档格式主要有
在这里插入图片描述
异步文档解析任务需要在30天内可以通过GetReconstructDocumentResult 接口查询TaskId对应的处理结果 。单次通过异步查询任务结果接口 返回的 DocumentRecognizeResultUrl 的有效期为10分钟,企业可以通过下载文档解析返回URL 地址内容来获取文档解析的结果。

非异步的文档解析同样支持将图片或PDF文件转换成Markdown格式文件,可解析包括表格、公式、图片、标题、段落、页眉、页脚等内容元素,并将内容智能转换成阅读顺序。根据返回数据来看支持识别生成的Markdown文件以及输入文件中嵌入的图片,同时支持输入文件中嵌入的图片中文字内容的识别结果返回
在这里插入图片描述
根据在线接口调试代码示例整理的关于创建异步文档解析任务的示例代码可以参考

package org.example;
import com.tencentcloudapi.common.AbstractModel;

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.lke.v20231130.LkeClient;
import com.tencentcloudapi.lke.v20231130.models.*;

public class Sample3
{
    public static void main(String [] args) {
        try{
            // 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
            // 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性
            // 以下代码示例仅供参考,建议采用更安全的方式来使用密钥
            // 请参见:https://cloud.tencent.com/document/product/1278/85305
            // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
            Credential cred = new Credential("AKIDugOxISO7d1DCxVr20oSwDIH9pJZfZJsE", "FNVUGpDbt0wpZ5OVRAvUs35wdAWheR1M");
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("lke.tencentcloudapi.com");
            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            LkeClient client = new LkeClient(cred, "ap-guangzhou", clientProfile);
            // 实例化一个请求对象,每个接口都会对应一个request对象
            CreateReconstructDocumentFlowRequest req = new CreateReconstructDocumentFlowRequest();
            req.setFileType("PDF");
            req.setFileBase64("文件的 Base64 值。支持的文件大小:所下载文件经Base64编码后不超过 8M。文件下载时间不超过 3 秒。支持的图片像素:单边介于20-10000px之间。文件的 FileUrl、FileBase64 必须提供一个,如果都提供,只使用 FileUrl。");
        // 返回的resp是一个CreateReconstructDocumentFlowResponse的实例,与请求对象对应
            CreateReconstructDocumentFlowResponse resp = client.CreateReconstructDocumentFlow(req);
            // 输出json格式的字符串回包
            System.out.println(AbstractModel.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }
    }
}

以及非异步的文档解析的示例代码可以参考如下

package org.example;
import com.tencentcloudapi.common.AbstractModel;

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.lke.v20231130.LkeClient;
import com.tencentcloudapi.lke.v20231130.models.*;

public class Sample4
{
    public static void main(String [] args) {
        try{
            // 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
            // 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性
            // 以下代码示例仅供参考,建议采用更安全的方式来使用密钥
            // 请参见:https://cloud.tencent.com/document/product/1278/85305
            // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
            Credential cred = new Credential("AKIDugOxISO7d1DCxVr20oSwDIH9pJZfZJsE", "FNVUGpDbt0wpZ5OVRAvUs35wdAWheR1M");
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("lke.tencentcloudapi.com");
            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            LkeClient client = new LkeClient(cred, "ap-guangzhou", clientProfile);
            // 实例化一个请求对象,每个接口都会对应一个request对象
            ReconstructDocumentRequest req = new ReconstructDocumentRequest();
            req.setFileBase64("文件的 Base64 值。 支持的文件格式:PNG、JPG、JPEG、PDF。 支持的文件大小:所下载文件经Base64编码后不超过 8M。文件下载时间不超过 3 秒。 支持的图片像素:单边介于20-10000px之间。 文件的 FileUrl、FileBase64 必须提供一个,如果都提供,只使用 FileUrl。");
            // 返回的resp是一个ReconstructDocumentResponse的实例,与请求对象对应
            ReconstructDocumentResponse resp = client.ReconstructDocument(req);
            // 输出json格式的字符串回包
            System.out.println(AbstractModel.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }
    }
}

这里我上传本地图片,后调用接口,原始图片内容如图
在这里插入图片描述
通过文档解析接口调用后返回参数

{
  "Response": {
    "DocumentRecognizeInfo": [
      {
        "Angle": 0,
        "Elements": [
          {
            "Elements": null,
            "Index": 0,
            "InsetImageName": "",
            "Level": 0,
            "Polygon": {
              "LeftBottom": {
                "X": 35,
                "Y": 63
              },
              "LeftTop": {
                "X": 35,
                "Y": 36
              },
              "RightBottom": {
                "X": 164,
                "Y": 63
              },
              "RightTop": {
                "X": 164,
                "Y": 36
              }
            },
            "Text": "征文主题",
            "Type": "title"
          },
          {
            "Elements": null,
            "Index": 1,
            "InsetImageName": "",
            "Level": 0,
            "Polygon": {
              "LeftBottom": {
                "X": 26,
                "Y": 137
              },
              "LeftTop": {
                "X": 26,
                "Y": 87
              },
              "RightBottom": {
                "X": 1261,
                "Y": 137
              },
              "RightTop": {
                "X": 1261,
                "Y": 87
              }
            },
            "Text": "即日起,腾讯云智能联合腾讯云开发者社区、腾讯云文档中心,共同发起以「腾讯云大模型知识引擎xDeepSeek」为主题的最佳实践有奖征文最佳实践活动,企业客户、开发者均可参与。",
            "Type": "paragraph"
          },
          {
            "Elements": null,
            "Index": 2,
            "InsetImageName": "",
            "Level": 0,
            "Polygon": {
              "LeftBottom": {
                "X": 26,
                "Y": 177
              },
              "LeftTop": {
                "X": 26,
                "Y": 157
              },
              "RightBottom": {
                "X": 262,
                "Y": 177
              },
              "RightTop": {
                "X": 262,
                "Y": 157
              }
            },
            "Text": "最佳实践征集方向将重点聚焦:",
            "Type": "title"
          },
          {
            "Elements": null,
            "Index": 3,
            "InsetImageName": "",
            "Level": 0,
            "Polygon": {
              "LeftBottom": {
                "X": 26,
                "Y": 279
              },
              "LeftTop": {
                "X": 26,
                "Y": 198
              },
              "RightBottom": {
                "X": 1275,
                "Y": 279
              },
              "RightTop": {
                "X": 1275,
                "Y": 198
              }
            },
            "Text": "1、应用搭建模式(低代码):大模型知识引擎内置DeepSeek-R1、V3模型,通过DeepSeek模型+联网搜索+行业领先RAG能力,分钟级快捷搭建并发布联网应用,且可实现与现有业务系统的无缝对接,开发过程稳定高效。此选题重点征集包括但不限于在政务、金融、教育、文旅、出行、零售、医疗、工业、能源等行业的工作流、Agent、RAG等多种模式知识问答应用案例。",
            "Type": "paragraph"
          },
          {
            "Elements": null,
            "Index": 4,
            "InsetImageName": "",
            "Level": 0,
            "Polygon": {
              "LeftBottom": {
                "X": 26,
                "Y": 377
              },
              "LeftTop": {
                "X": 26,
                "Y": 297
              },
              "RightBottom": {
                "X": 1262,
                "Y": 377
              },
              "RightTop": {
                "X": 1262,
                "Y": 297
              }
            },
            "Text": "2、API开发模式(代码态):腾讯云大模型知识引擎同步提供DeepSeek-R1、V3两款模型API快速接入,API服务更稳定、安全、易用。通过腾讯云DeepSeek API结合大模型知识引擎开放的文档解析、拆分、embedding、多轮改写等多项API原子能力,企业或者个人开发者可以灵活组建开发专属AI服务,可基于实际项目,或是潜在应用开发思考。",
            "Type": "paragraph"
          },
          {
            "Elements": null,
            "Index": 5,
            "InsetImageName": "",
            "Level": 0,
            "Polygon": {
              "LeftBottom": {
                "X": 51,
                "Y": 458
              },
              "LeftTop": {
                "X": 51,
                "Y": 438
              },
              "RightBottom": {
                "X": 626,
                "Y": 458
              },
              "RightTop": {
                "X": 626,
                "Y": 438
              }
            },
            "Text": "*活动投稿需基于腾讯云大模型知识引擎输出最佳实践,否则视为偏离主题。",
            "Type": "paragraph"
          },
          {
            "Elements": null,
            "Index": 6,
            "InsetImageName": "",
            "Level": 0,
            "Polygon": {
              "LeftBottom": {
                "X": 51,
                "Y": 490
              },
              "LeftTop": {
                "X": 51,
                "Y": 469
              },
              "RightBottom": {
                "X": 1064,
                "Y": 490
              },
              "RightTop": {
                "X": 1064,
                "Y": 469
              }
            },
            "Text": "*活动投稿必须保证内容原创性,禁止AI生成内容的文章(如经检测AI生成内容超过内容主体20%,该篇内容将被取消参赛资格)。",
            "Type": "paragraph"
          }
        ],
        "Height": 535,
        "OriginHeight": 535,
        "OriginWidth": 1294,
        "PageNumber": 1,
        "RotatedAngle": 0,
        "Width": 1294
      }
    ],
    "InsetImagePackage": null,
    "MarkdownBase64": "IyMg5b6B5paH5Li76aKYCgrljbPml6XotbfvvIzohb7orq/kupHmmbrog73ogZTlkIjohb7orq/kupHlvIDlj5HogIXnpL7ljLrjgIHohb7orq/kupHmlofmoaPkuK3lv4PvvIzlhbHlkIzlj5Hotbfku6XjgIzohb7orq/kupHlpKfmqKHlnovnn6Xor4blvJXmk454RGVlcFNlZWvjgI3kuLrkuLvpopjnmoTmnIDkvbPlrp7ot7XmnInlpZblvoHmlofmnIDkvbPlrp7ot7XmtLvliqjvvIzkvIHkuJrlrqLmiLfjgIHlvIDlj5HogIXlnYflj6/lj4LkuI7jgIIKCiMjIOacgOS9s+Wunui3teW+gembhuaWueWQkeWwhumHjeeCueiBmueEpjoKCjHjgIHlupTnlKjmkK3lu7rmqKHlvI8o5L2O5Luj56CBKTrlpKfmqKHlnovnn6Xor4blvJXmk47lhoXnva5EZWVwU2Vlay1SMeOAgVYz5qih5Z6L77yM6YCa6L+HRGVlcFNlZWvmqKHlnosr6IGU572R5pCc57SiK+ihjOS4mumihuWFiFJBR+iDveWKm++8jOWIhumSn+e6p+W/q+aNt+aQreW7uuW5tuWPkeW4g+iBlOe9keW6lOeUqCzkuJTlj6/lrp7njrDkuI7njrDmnInkuJrliqHns7vnu5/nmoTml6DnvJ3lr7nmjqUs5byA5Y+R6L+H56iL56iz5a6a6auY5pWI44CC5q2k6YCJ6aKY6YeN54K55b6B6ZuG5YyF5ous5L2G5LiN6ZmQ5LqO5Zyo5pS/5Yqh44CB6YeR6J6N44CB5pWZ6IKy44CB5paH5peF44CB5Ye66KGM44CB6Zu25ZSu44CB5Yy755aX44CB5bel5Lia44CB6IO95rqQ562J6KGM5Lia55qE5bel5L2c5rWB44CBQWdlbnTjgIFSQUfnrYnlpJrnp43mqKHlvI/nn6Xor4bpl67nrZTlupTnlKjmoYjkvovjgIIKCjLjgIFBUEnlvIDlj5HmqKHlvI8o5Luj56CB5oCBKTrohb7orq/kupHlpKfmqKHlnovnn6Xor4blvJXmk47lkIzmraXmj5DkvptEZWVwU2Vlay1SMeOAgVYz5Lik5qy+5qih5Z6LQVBJ5b+r6YCf5o6l5YWl77yMQVBJ5pyN5Yqh5pu056iz5a6a44CB5a6J5YWo44CB5piT55So44CC6YCa6L+H6IW+6K6v5LqRRGVlcFNlZWsgQVBJ57uT5ZCI5aSn5qih5Z6L55+l6K+G5byV5pOO5byA5pS+55qE5paH5qGj6Kej5p6Q44CB5ouG5YiG44CBZW1iZWRkaW5n44CB5aSa6L2u5pS55YaZ562J5aSa6aG5QVBJ5Y6f5a2Q6IO95Yqb77yM5LyB5Lia5oiW6ICF5Liq5Lq65byA5Y+R6ICF5Y+v5Lul54G15rS757uE5bu65byA5Y+R5LiT5bGeQUnmnI3liqHvvIzlj6/ln7rkuo7lrp7pmYXpobnnm67vvIzmiJbmmK/mvZzlnKjlupTnlKjlvIDlj5HmgJ3ogIPjgIIKCirmtLvliqjmipXnqL/pnIDln7rkuo7ohb7orq/kupHlpKfmqKHlnovnn6Xor4blvJXmk47ovpPlh7rmnIDkvbPlrp7ot7XvvIzlkKbliJnop4bkuLrlgY/nprvkuLvpopjjgIIKCirmtLvliqjmipXnqL/lv4Xpobvkv53or4HlhoXlrrnljp/liJvmgKfvvIznpoHmraJBSeeUn+aIkOWGheWuueeahOaWh+eroCjlpoLnu4/mo4DmtYtBSeeUn+aIkOWGheWuuei2hei/h+WGheWuueS4u+S9kzIwJe+8jOivpeevh+WGheWuueWwhuiiq+WPlua2iOWPgui1m+i1hOagvCnjgIIKCg==",
    "RequestId": "2518b760-db45-43df-a62f-0706a35c5baf"
  }
}

对于文档解析能力,在企业的文本语义理解与自动化处理场景中,企业可通过API快速集成,例如在智能客服中实时解析用户意图并匹配答案库,或在电商场景中自动分类商品评论、提取关键词优化搜索推荐。落地时需结合业务数据微调模型、构建向量数据库实现高效检索,最终在内容审核、知识管理、营销分析等环节降本提效。

最后总结

到这里,整个关于大模型知识引擎的相关操作就结束了,那么对于基于大模型知识引擎应用平台快速创建并发布应用,操作上来说可以参考官方文档进行,配置比较简单。比如DeepSeek联网助手创建,可以自主选择是否支持联网搜索,从而为企业提供垂直领域的专业化智能客服能力,助力企业及开发者打造场景丰富、功能完善的智能客服解决方案,实现知识生产效率、问题覆盖率、回答准确率跨越式提升。

同时为了提高智能客服在企业自由知识领域问题回答的准确性,还可以可基于企业私域知识文档,提供知识问答服务,企业也可以通过大模型知识引擎应用平台快速发布 基于 DeepSeek 满血版(671B全尺寸模型) + RAG(检索增强生成)的大模型知识问答应用,可以通过上传企业专有知识库文档,并通过在应用配置开启知识库 文档及问答的配置来实现基于企业知识库的精准问答
在这里插入图片描述
当然,为了助力企业快速接入大模型知识引擎应用以及降低接入成本,大模型知识引擎提供了基于应用接口接入的方式来实现企业业务系统对接大模型知识引擎的无缝接入,基于官方提供的示例demo 代码,可以轻松实现大模型知识引擎应用的企业级落地。

同时,大模型知识引擎也提供了大模型原子能力接口,企业可以基于原子能力接口来快速实现在文本检索、信息推荐、知识挖掘等场景,以及智能问答、对话式搜索等场景的快速接入,同时提供了企业内部知识文档的文档解析功能,帮助企业在结合业务数据微调模型、构建向量数据库实现高效检索等方面快速实现场景落地。原子能力接口的调用,不基于大模型知识引擎应用的创建,在使用上也就更加灵活,企业用户可以直接参考文中的示例代码快速接入,而不用关系应用的创建操作,进一步提高企业接入的灵活性和可操作性。


网站公告

今日签到

点亮在社区的每一天
去签到