【人工智能深度学习应用】妙搜API最佳实践

功能概述

AI妙搜通过集成夸克通用搜索引擎,能够提供一个强大的搜索素材功能,大大提升内容创作者在寻找和使用网络资源时的效率和便捷性。用户只需输入相关的关键词或描述,系统将根据用户的搜索词在互联网上进行搜索,并展示与搜索词相关的素材结果,用户随后便可以把符合预期素材内容添加至素材库中。

说明

在使用“搜索素材”之前需要配置对应的搜索数据源。

功能优势

image

搜索类型

摘编式文本搜索

摘编式文本搜索是指文本搜索结果不经过大模型加工生成,完整摘编原文内容,查找与搜索Query最相符的相关片段,展现出处或原文页数可满足片段查找、原文溯源、出处查找等需求。例如搜索:“杭州亚运会开幕式相关的原文片段、三个代表原文出处、发动机漏油的处理方法”。

image

生成式文本搜索

生成式文本搜索是指原始搜索结果经过大模型加工,进行总结、生成、加工后,生成文本结果,可满足文本搜索问答需求。例如搜索:“总结2023年两会关于民生经济的重要观点”。

image

生成式文本聚合搜索

利用大模型强大的推理、分析、逻辑能力,在生成式文本搜索结果的基础上,支持按照特定条件、特定逻辑进行结果分析、内容聚合和处理,可展示成特定样式,可满足复杂推理、复杂条件聚合的结果搜索需求。例如搜索“分角色总结两会期间部长通道发言内容,每个人三点、分析对比苹果15与小米14的主要差异,用表格呈现”。

image

音视图文多模态搜索

音视频图文多模态搜索是指结果不经过任何,直接呈现与搜索Query最相关的音视图文内容可满足图片搜索、音视频片段搜索需求,例如搜索:“北京四合院相关视频和图片”。

image

生成式音视图文多模态搜索

在音视图文原始搜索结果上,大模型结合进行总结、分析、加工,生成文本答案,结合最相关的音视频图片片段结合文本答案共同给出,可满足音视图文理解问答需求,例如搜索“杭州亚运会闭幕式有哪些精彩瞬间?”

image

生成式音视图文多模态聚合搜索

利用大模型强大的推理、分析、逻辑能力,在生成式音视图文多模态搜索结果的基础上,支持按照特定条件、特定逻辑进行结果分析、内容聚合和处理,展示成特定样式,可满足复杂音视图文聚合、推理、条件式搜索需求,例如搜索“2022年主席出访的时间线盘点”。

image

Copliot模式

Copliot模式支持在搜索过程中,大模型针对不清晰、条件不够的搜索需求进行反问、寻求用户帮助,从而提高端到端搜索效果,同时Copliot模式支持用户干预所有搜索过程,可改变任一搜索过程,影响最终搜索结果,一般用于复杂条件、聚合搜索场景。

  1. 例如先搜索:“杭州亚运会”。

  2. 随即AI会再次询问:“您希望了解杭州亚运会的哪方面内容呢?”。

image

假设我需要了解“比赛项目”,只需在输入框输入内容,然后点击“发送”即可。

image

接下来是妙搜链路 API的最佳示例,帮助您快速入门并开发您自己的业务应用。

一、妙搜功能概述

1.1、一句话说明

妙搜内置“互联网搜索”,可以供通用领域知识、信息智能搜索生成,为了应对更多领域、企业知识的搜索生成,我们提供了“三方搜索API”和“企业知识”的集成能力。通过以下接口可以配置和管理企业API和知识。控制台入口

image

1.2、产品页面展示

image

1.2.1、数据源管理

控制台入口

对应“数据源管理”菜单:此菜单下为数据接入说明,支持PaasAPI方式维护数据源和数据集下知识。

功能说明

维护数据源,可以是多个,供“智能搜索”模块搜索获取知识。支持的数据源类型目前有三种:

  • 系统内置数据源:系统内置,不支持修改,目前内置“互联网搜索”,支持互联网通用领域的网站数据搜索;

  • 三方搜索API数据源:企业提供搜索API,妙搜提供大模型能力并整合,目前需联系后台技术维护,暂未开放自定义;

  • 企业知识数据源:企业提供知识,妙搜提供搜索和大模型能力,可以通过“数据源管理”下数据集相关API维护索引和索引中知识。

API:数据源管理(仅混合云,公有云待上线)

1.2.2、系统配置->通用/媒资搜索信源

控制台入口

对应“系统配置”菜单下“通用搜索信源”、“媒资搜索信源”两个tab。

功能说明

维护“智能搜索”模块两个tab下索引的启用与否、召回文章、chunk(片段)条数。

API:系统配置-信源管理

1.2.3、智能搜索

控制台入口
  • 妙搜首页下多模态搜索框。

    image

  • 妙笔首页右上角搜索素材

    image

功能说明

深度服务通用领域,影视、媒体、营销、影视、媒体等行业的多模态搜索。

API:智能搜索

chatconfig.SearchSource 字段下配置“数据源(信源)”。

二、PaasAPI整体对接方案

2.1、方案概览

image

2.2、接口明细

三、PaasAPI对接示例

3.1、前提条件

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aimiaobi20230801</artifactId>
    <version>${latest}</version>
</dependency>
  • 引入三方依赖:本文SSE示例采用okhttp开源三方组件,如果使用示例代码需要引入如下pom。

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.1</version>
</dependency>

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp-sse</artifactId>
    <version>4.9.1</version>
</dependency>

3.2、管控API(HTTP)-CreateToken

准备:

  • 阿里云账号已开通产品;

  • 获取AccessKey:对应示例中 ALIBABA_CLOUD_ACCESS_KEY_ID;

  • 获取AccessKeySecret:对应示例中 ALIBABA_CLOUD_ACCESS_KEY_SECRET;

  • 获取AgentKey:对应示例中 AgentKey;

接口文档

接口说明

  • 获取推理API依赖的访问鉴权token;

  • 获取到授权token 注意:token有效期,时效为三分钟。

在线调试&示例

调用示例

  • Java-SDK:

import com.aliyun.aimiaobi20230801.models.CreateTokenRequest;
import com.aliyun.aimiaobi20230801.Client;
import com.aliyun.teaopenapi.models.Config;

public class Sample {

    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     * @return Client
     *
     * @throws Exception
     */
    public static Client createClient() throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html。
        Config config = new Config()
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。      
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // Endpoint 请参考 https://api.aliyun.com/product/AiMiaoBi
        config.endpoint = "aimiaobi.cn-beijing.aliyuncs.com";
        return new Client(config);
    }

    public static void main(String[] args) throws Exception {
        Client client = createClient();
        CreateTokenRequest createTokenRequest = new CreateTokenRequest();
        createTokenRequest.setAgentKey("AgentKey");
        try {
            // 复制代码运行请自行打印 API 的返回值
            client.createToken(createTokenRequest);
        } catch (Exception e) {
            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
            e.printStackTrace();
        }
    }
}

3.3、推理API(HTTP-SSE)-chatGenerate

准备

  • 阿里云账号已开通产品;

  • 获取AccessKey:对应示例中 ALIBABA_CLOUD_ACCESS_KEY_ID;

  • 获取AccessKeySecret:对应示例中 ALIBABA_CLOUD_ACCESS_KEY_SECRET;

  • 获取AgentKey:对应示例中 AgentKey;

  • 通过CreateToken获取鉴权token:放入请求header中:Authorization: Bearer {token} 。

接口文档

接口地址

  • https://aimiaobi.aliyuncs.com/api/llm/gc/chatGenerate。

接口说明

  • 妙搜-智能搜索接口。

调用示例

  • Java-SDK:

import com.aliyun.aimiaobi20230801.Client;
import com.aliyun.aimiaobi20230801.models.CreateTokenResponse;
import com.aliyun.teaopenapi.models.Config;
import okhttp3.*;
import okhttp3.internal.sse.RealEventSource;
import okhttp3.sse.EventSource;
import okhttp3.sse.EventSourceListener;

import java.util.concurrent.TimeUnit;

public class Sample {

    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     * @return Client
     *
     * @throws Exception
     */
    public static Client createClient() throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html。
        Config config = new Config()
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。      
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // Endpoint 请参考 https://api.aliyun.com/product/AiMiaoBi
        config.endpoint = "aimiaobi.cn-beijing.aliyuncs.com";
        return new Client(config);
    }

    /**
     * 获取鉴权token
     * @return
     */
    private static String createToken() throws Exception {
        com.aliyun.aimiaobi20230801.Client client = createClient();
        com.aliyun.aimiaobi20230801.models.CreateTokenRequest createTokenRequest = new com.aliyun.aimiaobi20230801.models.CreateTokenRequest();
        createTokenRequest.setAgentKey("AgentKey");
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        // 复制代码运行请自行打印 API 的返回值
        CreateTokenResponse createTokenResponse = client.createTokenWithOptions(createTokenRequest, runtime);
        return createTokenResponse.getBody().getData().getToken();
    }

    
    public static void chatGenerate(String token) throws Exception {
        String url = "https://aimiaobi.aliyuncs.com/api/llm/gc/chatGenerate";
        
        //构建请求参数
        String requestBodyJson = "{\n" +
                "    \"prompt\": \"杭州亚运会吉祥物\",\n" +
                "    \"chatConfig\": {\n" +
                "        \"generateTechnology\": \"copilotReference\",\n" +
                "        \"searchModels\": [\n" +
                "            \"TextGenerate\"\n" +
                "        ]\n" +
                "    }\n" +
                "}";
        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), requestBodyJson);

        //构建SSE请求
        Request request = new Request.Builder()
                .url(url)
                .header("Authorization", "Bearer " + token)
                .post(requestBody)
                .build();

        // 定义OkHttpClient
        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .connectTimeout(1, TimeUnit.MINUTES)
                .readTimeout(1, TimeUnit.MINUTES)
                .build();

        // 实例化EventSource,注册EventSource监听器
        RealEventSource realEventSource = new RealEventSource(request, new EventSourceListener() {
            private long callStartNanos;

            private void printEvent(String name) {
                long nowNanos = System.nanoTime();
                if (name.equals("callStart")) {
                    callStartNanos = nowNanos;
                }
                long elapsedNanos = nowNanos - callStartNanos;
                System.out.printf("=====> %.3f %s%n", elapsedNanos / 1000000000d, name);
            }

            @Override
            public void onOpen(EventSource eventSource, Response response) {
                printEvent("onOpen");
            }

            @Override
            public void onEvent(EventSource eventSource, String id, String type, String data) {
                printEvent("onEvent");
                //响应到的报文:todo 这里做业务逻辑处理
                System.out.println(data);
            }

            @Override
            public void onClosed(EventSource eventSource) {
                printEvent("onClosed");
            }

            @Override
            public void onFailure(EventSource eventSource, Throwable t, Response response) {
                //这边可以监听并重新打开
                printEvent("onFailure");
            }
        });
        //真正开始请求的一步
        realEventSource.connect(okHttpClient);
    }

    public static void main(String[] args) {
        try {
            chatGenerate(createToken());
        } catch (Exception e) {
            //处理异常
            e.printStackTrace();
        }
    }
}
  • CURL:

curl 'https://aimiaobi.aliyuncs.com/api/llm/gc/chatGenerate' \
-X 'POST' \
-H 'Content-Type: application/json' \
-H 'Accept: text/event-stream' \
-H 'Authorization: Bearer {token}' \
--data '{
    "prompt": "杭州亚运会吉祥物",
    "chatConfig": {
        "generateTechnology": "copilotReference",
        "searchModels": [
            "TextGenerate"
        ],
        "searchParam": {
            "searchSources": [
                {
                    "code": "SystemSearch",
                    "datasetName": "QuarkCommonNews"
                }
            ]
        }
    }
}'
  • 请求参数json样例:

{
    "prompt": "杭州亚运会吉祥物",
    "chatConfig": {
        "generateTechnology": "copilotReference",
        "searchModels": [
            "TextGenerate"
        ],
        "searchParam": {
            "searchSources": [
                {
                    "code": "SystemSearch",
                    "datasetName": "QuarkCommonNews"
                }
            ]
        }
    }
}
  • 关键参数说明:

    • chatConfig.generateTechnology:搜索模式:copilotReference:通用搜索;copilotPrecise:媒资搜索;

    • chatConfig.searchModels:搜索类型(Agent),比如:TextGenerate 总结生成答案;

    • chatConfig.searchParam.searchSources:搜索信源。

响应示例

id:32c02e8e-3498-4765-878e-2125fd5e7caa
event:task-finished
data:{
    "payload": {
        "output": {
            "agentContext": {
                "bizContext": {
                    "prompt": "杭州亚运会吉祥物",
                    "currentStep": "search",
                    "nextStep": "generate",
                    "searchKeywords": [
                        "杭州",
                        "亚运会",
                        "吉祥物"
                    ],
                    "supplementEnable": false,
                    "supplementDataType": "searchQuery",
                    "searchQueryList": [
                        "杭州亚运会吉祥物"
                    ],
                    "multimodalMediaSelection": {},
                    "generatedContent": {
                        "textSearchResult": {
                            "total": 10,
                            "searchQuery": "杭州亚运会吉祥物",
                            "searchResult": [
                                {
                                    "docUuid": "53558a72452efbe881f41e81bd6138fe",
                                    "chunks": [
                                        "AI知识君全网内容智能分析杭州第19届亚运会的吉祥物是三个造型活泼可爱且又充满时代活力的机器人形象,分别是琮、莲莲和宸宸。\n1. \n琮琮:代表位于浙江省杭州市余杭区瓶窑镇内的良渚古城遗址。它的名字来源于良渚古城遗址出土的代表性文物玉琮,具有坚强刚毅、敦厚善良、体魄强健和热情奔放四大美好寓意。\n2. \n莲莲:代表杭州的城市名片西湖,结合吉祥物莲莲身上的主色调,人们自然会想到西湖上的接天莲叶。这一吉祥物形象除了寓意纯洁善良、活泼可爱、热情好客、美丽动人外,还寄托了莲花那高贵、纯洁的美好品质。\n3. 宸宸:代表世界上里程最长、工程量最大的古代运河京杭大运河。宸宸这一名字源于京杭大运河上的著名建筑拱宸桥,其寓意为机智勇敢、聪慧灵动、乐观向上、积极进取。\n",
                                        "2. \n莲莲:代表杭州的城市名片西湖,结合吉祥物莲莲身上的主色调,人们自然会想到西湖上的接天莲叶。这一吉祥物形象除了寓意纯洁善良、活泼可爱、热情好客、美丽动人外,还寄托了莲花那高贵、纯洁的美好品质。\n3. 宸宸:代表世界上里程最长、工程量最大的古代运河京杭大运河。宸宸这一名字源于京杭大运河上的著名建筑拱宸桥,其寓意为机智勇敢、聪慧灵动、乐观向上、积极进取。",
                                        "3. 宸宸:代表世界上里程最长、工程量最大的古代运河京杭大运河。宸宸这一名字源于京杭大运河上的著名建筑拱宸桥,其寓意为机智勇敢、聪慧灵动、乐观向上、积极进取。\n参考来源[1]琮琮(杭州第19届亚运会吉祥物)_百度百科百度百科[2]杭州亚运会吉祥物分别代表什么 一文详解2022年亚运会吉祥物美好寓意qtx.com\n杭州第19届亚运会的吉祥物是三个造型活泼可爱且又充满时代活力的机器人形象,分别是琮琮、莲莲和宸宸。\n1. \n琮琮:代表位于浙江省杭州市余杭区瓶窑镇内的良渚古城遗址。它的名字来源于良渚古城遗址出土的代表性文物玉琮,具有坚强刚毅、敦厚善良、体魄强健和热情奔放四大美好寓意。\n2. \n莲莲:代表杭州的城市名片西湖,结合吉祥物莲莲身上的主色调,人们自然会想到西湖上的接天莲叶。这一吉祥物形象除了寓意纯洁善良、活泼可爱、热情好客、美丽动人外,还寄托了莲花那高贵、纯洁的美好品质。\n"
                                    ],
                                    "index": 1,
                                    "searchSourceType": "SystemSearch",
                                    "searchSource": "QuarkCommonNews",
                                    "searchSourceName": "互联网搜索",
                                    "pubTime": "2024-08-09 05:48:52",
                                    "source": "百度百科",
                                    "title": "杭州第19届亚运会的吉祥物是三个造型活泼可爱且又充满时代活力的机器人形象,分别是琮琮、莲莲和宸宸。<",
                                    "content": "AI知识君全网内容智能分析杭州第19届亚运会的吉祥物是三个造型活泼可爱且又充满时代活力的机器人形象,分别是琮琮、莲莲和宸宸。\n1. \n琮琮:代表位于浙江省杭州市余杭区瓶窑镇内的良渚古城遗址。它的名字来源于良渚古城遗址出土的代表性文物玉琮,具有坚强刚毅、敦厚善良、体魄强健和热情奔放四大美好寓意。\n2. \n莲莲:代表杭州的城市名片西湖,结合吉祥物莲莲身上的主色调,人们自然会想到西湖上的接天莲叶。这一吉祥物形象除了寓意纯洁善良、活泼可爱、热情好客、美丽动人外,还寄托了莲花那高贵、纯洁的美好品质。\n3. 宸宸:代表世界上里程最长、工程量最大的古代运河京杭大运河。宸宸这一名字源于京杭大运河上的著名建筑拱宸桥,其寓意为机智勇敢、聪慧灵动、乐观向上、积极进取。\n参考来源[1]琮琮(杭州第19届亚运会吉祥物)_百度百科百度百科[2]杭州亚运会吉祥物分别代表什么 一文详解2022年亚运会吉祥物美好寓意qtx.com\n杭州第19届亚运会的吉祥物是三个造型活泼可爱且又充满时代活力的机器人形象,分别是琮琮、莲莲和宸宸。\n1. \n琮琮:代表位于浙江省杭州市余杭区瓶窑镇内的良渚古城遗址。它的名字来源于良渚古城遗址出土的代表性文物玉琮,具有坚强刚毅、敦厚善良、体魄强健和热情奔放四大美好寓意。\n2. \n莲莲:代表杭州的城市名片西湖,结合吉祥物莲莲身上的主色调,人们自然会想到西湖上的接天莲叶。这一吉祥物形象除了寓意纯洁善良、活泼可爱、热情好客、美丽动人外,还寄托了莲花那高贵、纯洁的美好品质。\n3. 宸宸:代表世界上里程最长、工程量最大的古代运河京杭大运河。宸宸这一名字源于京杭大运河上的著名建筑拱宸桥,其寓意为机智勇敢、聪慧灵动、乐观向上、积极进取。",
                                    "url": "https://page.sm.cn/blm/midpage-317/index?h=v7.wenda_llm.quark.cn&id=24_bef1416cd6f6aedf89355fa42e67cb20&from=kkframenew",
                                    "summary": "杭州第19届亚运会的吉祥物是三个造型活泼可爱且又充满时代活力的机器人形象,<em>分别是琮琮、莲莲和宸宸</em>。<br>1. 琮琮:代表位于浙江省杭州市余杭区瓶窑镇内的良渚古城遗址。它的名字来源于良渚古城遗址出土的代表性文物玉琮,具有坚强刚毅、敦厚善良、体魄强健和热情奔放四大美好寓意。<br>2. 莲莲:代表杭州的城市名片西湖,结合吉祥物莲莲身上的主色调,人们自然会想到西湖上的接天莲叶。这一吉祥物形象除了寓意纯洁善良、活泼可爱、热情好客、美丽动人外,还寄托了莲花那高贵、纯洁的美好品质。<br",
                                    "select": true,
                                    "score": 1.0,
                                    "rankScore": 2.6661994,
                                    "isChunk": true
                                }
                            ]
                        }
                    }
                },
                "agentName": "PlannerAgent"
            }
        },
        "usage": {
            "totalTokens": 693
        }
    },
    "header": {
        "sessionId": "32c02e8e-3498-4765-878e-2125fd5e7caa",
        "taskId": "67a91c00-54aa-4684-8eb3-cb9951cb8382",
        "event": "task-finished",
        "show": true,
        "eventInfo": "生成完成",
        "responseTime": 7525
    }
}

说明

关注event:task-finished:标识搜索生成完成。

四、业务场景最佳实践

4.1、场景一:互联网智能搜索

场景说明

无企业专属知识,走互联网通用领域知识进行智能搜索生成。

技术对接步骤

  1. 配置信源:

    1. “1.2.2、系统配置->通用/媒资搜索信源”下配置“互联网搜索”的开启&条数。

  2. 对接智能搜索API:

    1. “1.2.3、智能搜索”模块下API,指定“互联网搜索”数据集作为搜索源。

4.2、场景二:企业搜索API智能搜索

场景说明

企业有自己的搜索能力(可以是企业知识库搜索,也可以是三方通用领域搜索等),并提供了搜索API,可以走三方企业搜索API接入,加持妙搜大模型能力后,实现灵活的企业级智能搜索生成。

技术对接步骤:

  1. 准备三方企业搜索API:

    1. 按照推荐的API模板提供API(非标、或不支持的鉴权需要定开):三方搜索API模板

  2. 配置三方企业搜索API:

    1. 提供账号、API定义给技术团队后台维护(未来会开放自定义三方API的维护能力)。

  3. 配置信源:

    1. “1.2.2、系统配置->通用/媒资搜索信源”下配置对应索引的开启&条数。

  4. 对接智能搜索API:

    1. “1.2.3、智能搜索”模块下API,指定对应数据集作为搜索源。

4.3、场景三:企业知识库智能搜索

场景说明:

有企业知识需要语义构建索引,或已有企业知识搜索能力效果不理想,可以考虑直接通过妙搜构建企业知识库语义索引,用来企业知识库智能搜索生成。

技术对接步骤:

  1. 数据对接:通过“1.2.1、数据源管理”模块下维护企业知识语义索引。

    1. 如果是poc或者临时固定数据集构建,可以联系技术团队后台批量导入

  2. 通过API构建:

    1. 数据集-新增接口:初始化一个新的数据集(全局一次)可以手动(curl)一次性提前创建好。

    2. 数据集-添加文档数据接口:往步骤i创建的数据集中添加企业知识。

  3. 配置信源:

    1. “1.2.2、系统配置->通用/媒资搜索信源”下配置对应索引的开启&条数。

  4. 对接智能搜索API:

    1. “1.2.3、智能搜索”模块下API,指定对应数据集作为搜索源。

 

三方搜索API模板,妙搜接入三方API时,推荐的API输入参数格式。

请求信息

  • 协议:HTTP(S)

  • header

    • Request Method:POST

    • Content-Type: application/json

  • 鉴权

    • Authorization:{{鉴权信息}}

    • 例如:

      • Authorization: Basic ${BasicToken}

      • Authorization: Bearer ${BasicToken}

请求参数

字段名

字段类型

是否必填

字段描述

字段示例值

query

String

搜索关键字

杭州亚运会

current

Integer

当前页:默认1

1

size

Integer

返回数据条数:默认20

20

includeContent

Boolean

是否包含正文:默认true

true

响应信息

  • header

  • Content-Type: application/json

响应参数

字段名

字段类型

字段描述

字段示例值

success

Boolean

请求是否成功

true

code

String

响应码:请求失败时返回的响应码

Error

message

String

响应错误信息

内部错误

data

List<Article>

文章数据

current

Integer

当前页

1

size

Integer

返回数据条数

20

total

Integer

总条数

100

Article

字段名

字段类型

是否必须

字段描述

字段示例值

source

String

文章来源

央视网

title

String

文章标题

杭州亚运会

content

String

文章内容

无论是“大莲花”“小莲花”“大玉琮”“杭州伞”等场馆造型。

url

String

文章URL

http://news.cctv.com/2023/08/29/ARTIZeHbELfOWLgviHk1IxGb230829.shtml

summary

String

文章摘要

如无,取前n字

pubTime

String

文章发布时间

2023-01-01 12:01:01

示例

请求

curl -X POST --location '{{url}}' \
    -H 'Authorization: basic {{BasicToken}}' \
    -H 'Content-Type: application/json' \
    -d '{
          "query": "杭州亚运会"
        }'

响应

{
  "success": true,
  "code": "",
  "message": "",
  "data": [
    "source": "",
    "title": "",
    "content": "",
    "url": "",
    "summary": "摘要",
    "pubTime": "2023-01-01 12:01:01"
  ]
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

soso1968

你的鼓励是我继续创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值