说明
Viking AI 搜索是一款基于生成式 AI 的企业级 AI 搜索产品,基于大模型的多模态语义表征和理解能力,结合字节跳动信息检索领域多年最佳实践,为客户提供开箱即用的 AI 搜索搭建平台服务,帮助客户轻松搭建和集成端到端的多模态图文搜索和推荐能力。
本篇教程将带您了解如何从零开始,一步步创建一个属于您自己的 AI 搜索应用。请按照我们的指引进行操作,您将快速掌握核心的配置流程。
开通AI搜索服务后 ,即可创建一个AI搜索应用。它将作为您后续所有数据配置和体验配置的基础。创建应用演示录屏说明:
成功创建应用后,我们需要为其指定数据来源。这里,我们将演示如何创建一个全新的数据集,让您熟悉完整的操作流程。创建数据集主要包含三个环节:上传数据,配置数据集字段策略,以及(作为可选项)利用大语言模型来生成新字段。
设置数据集名称并上传数据样例用于解析数据字段和生成配置,创建完成可应用于后续配置策略。上传数据演示录屏说明:
说明
[ { "item_id": "product_123", "name": "新款时尚连衣裙", "price": 299.00, "current_price": 249.00, "description": "优雅修身,适合各种场合。", "images": [ { "image_url": "https://example.com/images/dress_1.jpg" }, { "image_url": "https://example.com/images/dress_2.jpg" } ], "category": "女装", "key_words": ["连衣裙", "时尚", "优雅", "修身", "女装"] }, { "item_id": "product_456", "name": "智能运动手表", "price": 599.00, "current_price": 559.00, "description": "监测心率、步数、睡眠等,多种运动模式。", "images": [ { "image_url": "https://example.com/images/watch_1.jpg" } ], "category": "智能设备", "key_words": ["智能手表", "运动手表", "心率监测", "步数", "睡眠"] } ]
对关联的数据源进行字段的策略配置,用于控制每个数据字段在搜索中被如何理解与使用。配置字段演示录屏说明:
注意
此字段必须已被标记为“可被搜索的字段”,并且其字段属性需为“图片链接“。
配置完成并生效后,系统会自动进行数据语义信息的分析和索引处理。
说明
什么时候需要?
您希望大模型结合物品内的图文数据去增强和丰富物品数据内容,比如:
利用使用大模型合成新字段功能,可在配置数据集时,借助 AI 自动从现有图文数据中创造有价值的新信息。
成功配置数据集后,在数据集创建成功提示框中点击继续配置应用,进入应用的数据配置界面。应用配置演示录屏说明:
至此,您已完成应用创建、数据集配置及数据导入的所有基础步骤。现在,您的 AI 搜索应用已准备就绪,可以开始体验其多模态搜索功能了。您可以在应用页面的体验配置中进行搜索与对话的在线测试。
搜索演示录屏说明:
数据集配置完成后,如果您希望为其导入更多数据(例如,导入完整数据或进行增量更新),请按以下步骤操作
在这里,您会看到系统提供的两种主要数据导入方式(通过API导入和导入本地JSONL文件),可用于后续的数据添加
Service:aisearch Region:cn-beijing
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/dataset/dataset_ID/write' \ -H 'Content-Type: application/json' \ -H 'Authorization: 签名字符串' \ -d '{ "fields": JSON object list }'
dataset_ID**:创建数据集时控制台自动生成的数据集ID,可在控制台查看签名字符串**:使用签名方法构造的签名字符串JSON object array**:上传的数据列表,可同时用 JSON object array 的格式上传多条数据。一次支持上传 10000 条数据,总请求体不大于 10MB。注意上传的 JSON 对象必须遵循您创建数据集时定义并保存的 schema。
数据格式要求:
* 必须包含一个可以作为唯一标识的String或Int类型字段
* 可以上传多个图片字段,字段类型为String或Array
说明
您可以通过调用我们提供的特定 API 接口来实现数据的编程方式导入、更新或删除。具体的 API 使用方法、端点、参数及认证方式,请查阅相关的 API 文档。
调用Search接口进行检索
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/${application_id}/search' \ -H 'Content-Type: application/json' \ -H 'Authorization: 签名字符串' \ -d '{ "query": { "text": "query文本字符串" "image_url":image文件 }, "page_number": 搜索页码,从 1 开始, "page_size": 每页搜索结果的数量, "user": { "user_id": 用户ID }, "filter": 搜索过滤条件 "dataset_id": 指定的数据集ID }'
application_id:您创建的应用IDquery文本字符串:用字符串的形式传入用户输入的query文本image文件:用base64的形式传入用户上传的,用于图片搜索的图片搜索页码,从 1 开始:搜索页码,可用于列表分页功能,必传项,从 1 开始每页搜索结果的数量:搜索每页的数据量,必传项用户ID:上传此次调用对应的用户ID,非必传项搜索过滤条件:JSON对象格式的过滤语句,在搜索时对召回的物品数据进行过滤筛选,使用前请确认被过滤的字段已经在应用配置中配置为了可筛选字段。过滤在API参数中的传入方式见API参考:Search - 搜索指定的**数据集ID: 您创建的数据集ID,必传项
接口返回示例:
{ "request_id": "25ee998a-5462-9385-9f18-035f1da7a6e5", "result": { "search_results": [ { "_id": "12345", "display_fields": { "item_id": "12345", "pub_time": 1741835835, "status": 1, "images": [ { "image_url": "https://demo.com/image.jpg" } ], "author": "Alice" } }, { "_id": "12345", "display_fields": { "item_id": "12345", "pub_time": 1741835835, "status": 1, "images": [ { "image_url": "https://demo.com/image1.jpg" } ], "author": "Alice" } }, { "_id": "12346", "display_fields": { "item_id": "12346", "pub_time": 1741835836, "status": 2, "images": [ { "image_url": "https://demo.com/image2.jpg" } ], "author": "Bob" } } ], "total_items": 300 } }
根据聊天内容,动态处理闲聊,拒答,搜索等意图,再给出合适的用户回复的同时,动态地调用搜索功能并返回搜索到的物品数据。
使用对话搜索功能时,您需要自行维护会话session的唯一标识,每次调用可上传session_id:
调用Chat-search接口:
curl -X POST 'https://aisearch.cn-beijing.volces.com/api/v1/application/${application_id}/chat_search' \ -H 'Content-Type: application/json' \ -H 'Authorization: 签名字符串' \ -d '{ "query": { "session_id": 会话ID, "input_message": { "content": [ { "type":输入类型, "text":(类型为"text"时)Query文本, "image_url":(类型为"image"时)图片文件 } ] "search_params": { "limit":返回物品列表长度 , "filter": 搜索过滤条件 } }, "user": { "user_id": 用户ID }, "enable_suggestions": true }'
application_id**:您创建的应用ID会话ID**:每次对话上传您自己定义的session_id输入类型**:可传入"text"或"image"(类型为"text"时)Query文本**:输入用户的Query文本(类型为"image"时)图片文件**:以base64形式上传Query图片,进行图搜返回物品列表长度**:返回的物品列表长度,可用于分页中每页的数据量,必传项搜索过滤条件:key是数据集id,value是对应数据集的过滤条件。
搜索过滤条件,可根据应用数据源配置中支持过滤的字段对检索内容进行过滤。
用户ID:上传此次调用对应的用户ID,非必传项
** 对话中进行搜索暂不支持分页
Chat Search接口流式返回数据,每次返回包含以下内容:
{ "request_id":请求ID, "result": { "step": 会话处理步骤 , "payload": 返回意图识别或搜索结果, "content": 返回大模型输出的对话文本内容 } }
会话处理步骤**:返回当前的处理步骤,可返回三类:
返回意图识别或搜索结果**:会话步骤处于意图识别时,可返回意图识别的结果:
会话步骤处于进行搜索阶段时,返回搜索结果详情,格式为一个JSON Object列表,返回物品数据唯一标识和所有字段返回大模型输出的对话文本内容:流式返回的消息内容,多个请求的content需要拼接才能获取完整的消息。
返回示例:
{"request_id":"077d4dae-9d94-4576-944e-6aa4edf4a75b","result":{"step":"intent recognition"}} {"request_id":"077d4dae-9d94-4576-944e-6aa4edf4a75b","result":{"step":"tool call"}} {"request_id":"077d4dae-9d94-4576-944e-6aa4edf4a75b","result":{"payload":{"search":{"106260839":{"search_results":[{"_id":"10699","display_fields":{"category":["sop积分兑换专区","礼品兑换专区"],"detail":"\u003cp\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721294723485/10.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721294723485/11.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003c/p\u003e","images":["https://resources.amway.com.cn/product/99/10699/1/10699-1-1200Wx1200H.jpg?x-oss-process=image/resize,m_fixed,h_1200,w_1200"],"item_id":"10699","keywords":["成人钙镁片"],"name":"钙镁锰锌铜维D片90","skus":["10699"]},"score":0.16666666666666666},{"_id":"10573","display_fields":{"category":["sop积分兑换专区","礼品兑换专区"],"detail":"\u003cp\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721295438993/维生素C_09.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003cbr/\u003e\u003c/p\u003e","images":["https://resources.amway.com.cn/product/73/10573/1/10573-1-1200Wx1200H.jpg?x-oss-process=image/resize,m_fixed,h_1200,w_1200"],"item_id":"10573","keywords":[""],"name":" 维生素C片(45片)","skus":["10573"]},"score":0.09555555555555556},{"_id":"10521","display_fields":{"category":["sop积分兑换专区","礼品兑换专区"],"detail":"\u003cp\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721294065789/11.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003cimg src=\"https://resources.amway.com.cn/product/1721294065789/12.jpg\" style=\"max-width:100%;\" contenteditable=\"false\"/\u003e\u003cbr/\u003e\u003c/p\u003e","images":["https://resources.amway.com.cn/product/21/10521/1/10521-1-1200Wx1200H.jpg?x-oss-process=image/resize,m_fixed,h_1200,w_1200"],"item_id":"10521","keywords":[""],"name":"倍立健片(30片x2包)","skus":["10521"]},"score":0.0900735294117647}],"total_items":100,"query":{"text":"适合老年人吃的钙片"},"page_size":10,"page_number":1,"dataset_id":"106263733"}}}}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"step":"answer"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"为"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"你"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"推荐"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"钙"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"镁"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"锰"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"锌"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"铜"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"维生素"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"D"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"片"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"2"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"5"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"0"}} {"request_id":"5e01f0b3-99d7-93af-b199-32165f8bb105","result":{"content":"片"}}
说明