说明
Viking AI 搜索是一款基于生成式 AI 的企业级 AI 搜索产品,基于大模型的多模态语义表征和理解能力,结合字节跳动信息检索领域多年最佳实践,为客户提供开箱即用的 AI 搜索搭建平台服务,帮助客户轻松搭建和集成端到端的多模态图文搜索和推荐能力。
AI 搜索包含召回、排序、重排、精细化运营干预共 4 个阶段:
召回流程:对用户输入的查询进行预处理后,与物品数据集中的多模态内容进行跨模态匹配召回计算。您可以通过以下配置项调整召回的策略:
排序流程:针对召回后的搜索结果,您可以配置是否基于物品热度进行排序:
重排流程:排序后的搜索结果,可以进一步基于实际需求,自定义干预策略进行重排。您可以通过以下配置再次调整排序的结果。如以下策略都开启,排序时将先执行语义重排,再执行提权降权、自定义排序,最后执行多样性规则对结果进行打散:
精细化运营干预:在实际使用过程中,您可能会发现有些特殊场景,无法直接应用通用策略,此时您可以使用控制台上提供的精细化运营功能,为特定的搜索关键词配置一套独立的召回、排序、重排策略:
除此以外,您还可以设置包括搜索词同义词典、搜索词纠错、搜索词补全等功能:
如果想探索更优的搜索体验,可以使用平台上提供的以下功能:
您可以进入应用后,在 体验配置>搜索体验 页面配置召回、排序、搜索词的策略,并可以同时创建多套策略,通过对比不同策略下的搜索效果,有助于找到实际业务场景下的最佳实践。
说明
如果应用中同时关联了多个数据集,需要对多个数据集的索引分别配置召回和排序的策略。可以从配置区域的数据集页签中选择需要配置的数据集。
AI搜索提供文字搜索和图片搜索两种搜索方案。
传入搜索词查询后,AI 搜索使用跨模态的混合检索来检索多数据源内容,返回经相关性排序的搜索结果。您可以调整数据模态匹配权重,选择侧重匹配物品文本信息或者侧重匹配物品图片信息,也可调整语义匹配权重或关键词匹配权重。
您可以在侧边栏找到配置选项:
您可以选择平台预设好的配置方案,或者选择自定义模式。
我们提供了3个预设,可按照您的业务诉求先使用预设配置来测试是否满足场景诉求。
均衡模式:采用预设的均衡权重,同时发挥向量检索(理解您输入的自然语言和图片意图)和关键词检索(精准匹配特定术语)的优势。这是最通用的设置,建议初次使用时选择。
语义检索优先:此模式将主要依赖向量模型进行语义相似度计算。当您的搜索词是自然问句、描述性长句,或希望进行以文搜图,此模式效果更佳。
关键词检索优先:此模式将主要依赖关键词匹配。当您需要查找包含特定产品型号、专有名词、编码等精确文本的内容时,此模式能提供更高的准确性。
若预设配置无法满足您的需求,可尝试打开自定义配置调整对不同类型特征的匹配权重。
匹配图/文内容的权重:
决定一条文本查询词在候选库中检索匹配时,更侧重匹配文本中的信息还是图片中的特征。
匹配文本语义/关键词内容的权重:
决定检索文本内容时,更侧重匹配语义特征还是关键词原文。这两种匹配方式各有侧重,理解它们的差异能帮助您更好地根据实际需求进行调整。
- 语义匹配通过向量检索来实现,它将文本内容的“含义”或“上下文”编码成高维向量。
- 更关注查询内容和数据库中存储文本的深层语义关联性。即使查询中没有出现完全相同的关键词,只要两者表达的意义相近,语义匹配也能找到高度相关的结果。
- 当您希望搜索结果能根据内容的概念或主题进行匹配时。
- 用户输入的查询可能非常口语化、长句或包含同义词时。
- 需要进行跨语言搜索,或处理多种表达方式的相似内容时。
- 更注重查询词汇与文档中词汇的精确对应。如果查询的关键词在文档中出现,那么该文档就会被认为是相关的。
- 当您需要根据特定术语、产品型号、名称或代码进行精确查找时。
- 在法律、医疗或技术文档等对词汇精确性要求极高的场景。
如果应用中关联的数据集创建了图片索引,可以开启图片搜索能力。上传图片发起搜索请求后,AI搜索会检索物品中的图片信息,并按相似性排序返回结果。目前支持两种模式:
根据图片相似性检索:基于图片的整体内容召回相似图片,而不是仅关注图片中的局部信息
根据物体相似性检索:忽略图片中的背景及人物主体,查找这张图片中出现的同款商品图片
此参数用于控制当用户通过本应用进行搜索时,针对单个关联的数据集,在一次搜索请求中最多能够返回的结果条目数量。它直接决定了从每一个数据来源获取信息量的上限。如果您的应用关联了多个数据集,您可以为每一个数据集分别独立设置其搜索结果数量上限。这允许您根据不同数据集的重要性和内容特性,进行差异化的结果数量控制。
默认值:200
配置约束:允许配置的值为 1 到 5000 之间的任意整数
例如: 假设您将应用关联的数据集 A 的结果上限设置为 5。那么,即使用户的某次搜索查询在数据集 A 中匹配到了 100 条结果,系统最终也只会从数据集 A 中返回最多 5 条最相关的结果。
重点保障召回可以确保在搜索结果中优先返回特定数据集或特定类型的内容,从而保障关键信息在搜索列表中得到曝光。
如果您的候选物品量级较高,但最终的搜索列表召回的比较短(例如10万个商品底库,每次召回200个搜索结果),则可能遇到以下效果问题:
- 每次搜索到的内容都是1个月之前的,虽然与用户的Query都是相关的,但时效性不高?
- 希望促销的商品品类、品牌等在搜索结果中得到曝光?
- 做了高时效性、高热度的内容提权,但搜索结果第一页的内容仍然不新、热度不高?
这是因为在默认的搜索策略中,搜索Query与全量的候选物品数据都会进行匹配,并按照相关度选择出最终的搜索结果列表候选,再进行策略重排序。新的内容、热度高的内容因相关度分数较低,可能导致不能召回,从而无法参与后续的提权扶持等策略重排逻辑。
您可以通过配置重点保障召回,将特定的希望曝光保障或要做提权的内容做单独的召回通道,从而保障这类物品在召回阶段会被召回,从而参与后续的排序和提权。这些重点保障的内容,根据您的业务策略可以是:
- 火热的内容(例如 点赞、评论量超过一定数量的内容)
- 要做曝光扶持的内容(例如 促销的商品类目,推广的内容标签等)
重点保障召回在控制台配置,配置完成保存生效后,则对相应的搜索策略的接口调用生效。
在控制台-体验配置-搜索 配置面板,找到您希望配置的搜索策略页签。在召回栏目下可配置重点保障召回策略:
点击添加一个重点保障召回通道:
通过配置物品字段需满足的条件,定义这条重点保障召回通道中召回哪些内容,召回条件支持复合条件组合。对于不同类型的字段支持配置不同类型的筛选条件。如下表:
配置示例:
新建一个新度召回的通道,保障新内容的曝光。召回条件满足以下任一条件:
保存后可测试效果。点击右上角更新配置,重点保障召回将在API调用时生效。
说明
重点保障召回使用限制:
- 每条重点保障召回策略中,最多可配置5行条件表达式
个性化召回能力可以在保证搜索结果相关的前提下,根据用户的个性化兴趣标签,调整结果的召回。用户的个性化兴趣标签,是基于其行为数据计算出来的,通常会覆盖品类、品牌等维度。
开启该功能前,需要一定的前置准备工作。
- 上传用户行为数据集:这是因为用户兴趣标签要依赖行为数据集进行推理和计算,导入行为数据可参考创建用户行为数据集
- 行为数据集上传完成后,数据初始化处理和兴趣标签生成预计需要 1 天时间,期间可能无法开启个性化召回功能,请您耐心等待。
- 配置兴趣标签字段为「可用于过滤」:根据控制台的提示(控制台-体验配置-搜索结果配置-召回-个性化召回,鼠标悬浮在选项上即可看到具体提示),将物品数据集中的指定字段勾选为「可用于过滤」,配置索引的流程请参考关于数据集和索引
上述配置完成后,即可在控制台开启个性化召回功能。
开启该功能后,目前可以选择强、弱两档,对应的干预程度不同。
- 弱个性化干预:在该模式下,系统会基于当前搜索用户的个性化兴趣标签,召回与搜索词相关、同时又与标签匹配的物品,但在计算物品召回分数时,兴趣标签匹配的权重较低,更多的权重会倾向于关键词匹配、语义匹配。
- 强个性化干预:在该模式下,系统同样会基于兴趣标签召回物品,同时在计算召回分数时,赋予兴趣标签匹配相对更高的权重,使兴趣相关物品有更高的概率排序靠前。
您可以在控制台上体验不同干预档位下的搜索效果,最终选定适合您业务场景的配置。验证完成后可点击【更新配置】按钮,使个性化召回立即生效并应用于搜索服务。
搜索商品维度用于控制搜索结果返回的商品粒度。当您的物品数据集中配置了「商品类型」(item_type)和「父商品 ID」(parent_id)属性时,可以选择按父商品或子商品粒度返回搜索结果,解决同款商品不同规格重复展示、结果层级不符合运营需求的问题。
在控制台「体验配置 > 搜索体验」页面,左侧策略配置面板的「搜索范围」区域下,找到「搜索商品维度」选项:
- 子商品(默认):按具体规格商品(variant,即 SKU 粒度)返回搜索结果。召回时限制 item_type != parent。
- 父商品:按商品聚合维度(parent,即 SPU 粒度)返回搜索结果。召回时限制 item_type = parent,系统自动匹配父商品维度的索引和召回通道,避免同款商品不同规格在搜索结果中重复出现。
- 该配置仅在关联的物品数据集中已配置「商品类型」和「父商品 ID」属性时生效;若数据集未配置这两个属性,搜索结果不受此限制(默认返回全部物品)。
- 选择后,搜索场景会根据您的选择返回对应粒度的物品。
- 配置支持保存并发布到线上,发布后对搜索 API 调用立即生效。
- 配置可随时更改,更改后需重新点击「更新配置」发布。
- 猜你想搜、搜索补全、问题池等搜索词辅助功能不受此维度限制,不区分词/问题来源是父商品还是子商品。
物品热度参与排序的功能,可在搜索结果相关性基础上,按物品热度重新调整排序。
物品热度分则是根据应用内上传的行为数据计算得出:点击、加购、购买、评论、收藏、分享等正反馈行为越多,物品的热度越高,搜索排序分越高。
使用该功能,可以帮助您的用户在搜索时发现更多热门、趋势物品。
开启该功能前,需要一定的前置准备工作。
- 上传用户行为数据集:这是因为物品热度要依赖行为数据集进行统计,导入行为数据可参考创建用户行为数据集
- 行为数据集上传完成后,会立即进行数据初始化处理和热度计算,正式生效预计需要 1 天时间,请您耐心等待。
上传并计算完成后,即可在控制台开启物品热度排序开关。
体验配置页面中,找到【搜索结果配置- 物品热度参与排序】选项,打开开关即可体验根据物品热度对搜索结果进行排序的效果。
在体验页面验证后,可点击【更新配置】按钮,使物品热度排序策略立即生效并应用于搜索服务。
此区域用于开启/关闭语义重排功能以及设置您想要重排的内容数量,从而为您优化前N个返回结果的准确性。通过开启语义重排,可为您减少搜索返回结果中不相关内容的干扰,提升搜索结果的准确性。
语义重排功能的效果主要依赖于您所提问的问题及相关的上下文,启用时将会在一定程度上影响搜索结果返回的速度,因此我们建议您主要在对话搜索中使用语义重排功能,对于常规搜索,由于搜索词通常较短,可被用于语义理解的文本内容较少,所以开启语义重排的效果往往有限,建议您视情况使用。
我们将为您默认关闭语义重排功能,若需开启语义重排,可以在左侧控制栏中的搜索配置中找到语义重排的相关设置,在此处选择是否开启语义重排功能。开启语义重排后,默认配置为重排前20个结果,您也可以选择在侧边栏自定义您希望重排的结果数量(可配置范围为[2,100] )。
当配置有多个数据集时,开启语义重排后,将分别对每个数据集进行语义重排。
- 注意,语义重排功能仅对纯文本类型的搜索生效。不支持包含图片、视频等非文本内容的搜索,若您开启语义重排后,在搜索问题中添加了图片内容,则语义重排将会自动关闭。
- 若您的数据集中数据条数/您在搜索配置中设置的搜索结果数量上限小于您设置的语义重排数量,此时语义重排的结果数量不会超过您的数据条数/搜索结果数量上限。
对于语义重排功能所涉及的对应API字段内容,您可以通过查询搜索接口中的SearchResult部分获取更多信息。
您可以使用提权、降权的策略来基于物品的属性来圈选一部分物品进行排序的提权奖励,或降权惩罚。
提权和降权策略的配置可以抽象为:“满足{condition}条件下的物品,在被搜索召回时,排序得分提权{weight}”。其中:
- {condition}:生效策略的物品范围对应的选择条件,以{属性字段}:{条件算子}:{值}来表示,比如"商品名"字段中包含"促销"关键词,"库存量"字段小于等于10,或者"价格"字段大于等于1000等。
- {weight}:权重的值,可选择从-100%到100%之间(不包含0)的值。
您可以为应用中每个关联的数据集分别进行提权、降权策略的配置,在搜索配置界面中,配置栏数据集页签下点击【提权、降权】>【添加策略】即可创建一条新的提权或降权规则。
说明
您可以对单个字段配置多条提权、降权策略,权重系数会进行叠加,例如:
当物品同时命中价格>500元和价格>1000元的条件时,其最终提权权重为110%(50% + 60%)。
当前支持每次添加一个对单一属性进行条件圈选并进行提权降权操作,基于物品字段配置生效范围的方式见下表:
当您的业务场景需要根据用户的地理位置距离对搜索结果进行动态调整时,可以通过配置基于地理位置的提权降权策略来实现。排序引擎将基于使用接口上传的用户地理位置和物品的地理位置进行距离计算,并对计算后的距离应用提权降权规则。
在设置策略前,请确保您的物品数据中包含经纬度信息,并且已配置为经度和纬度属性,经纬度属性配置详见图文物品数据集介绍
在控制台配置提权降权策略
- 在条件设置部分,从下拉菜单中选择‘大于’或‘小于’,在输入框中填写距离数值(如 20),并选择单位(如 km)。
地理位置列表处理
当存储地理位置的字段是一个JSON对象列表,如果一个物品存在了多组「经度」和「纬度」坐标,例如:
"location":[{"long":121.228,"lat":32.112},{"long":124.029,"lat":33.072}]
平台在计算与用户的距离时,会自动选择离用户最近的那组坐标。
在接口请求中上传用户地理位置
API请求的 context 对象中必须包含 location 字段来上传用户当前调用搜索时的地理位置。详情请查看 Context。 体验地理位置提权搜索
配置提降权策略后,体验页面将引导您去在左侧模拟用户的地理位置来体验提降权效果:
在左边「测试用户」区域,通过指定位置能力,模拟用户位置提降权的场景:
-
在真实业务场景中,您可能有除了查询与内容匹配相关性之外的排序需求,例如“将最近上新的内容排在更前”、“将最近购买量更高的商品排在更前”等。您可以使用自定义排序策略来调整最终搜索结果的排序原则。
自定义排序 vs. 搜索后排序
AI搜索支持在控制台配置自定义的排序调节规则,也支持通过Search接口的"Sort by"参数对搜索结果列表做搜索后排序(详见Search - 搜索)。两者的区别和适用场景: - 自定义排序:在返回搜索结果前,按照定义的排序字段做排序调整,在一批召回内容的相关性相近的情况下,将结果进行局部重排。最终的搜索结果是综合考虑相关性和自定义排序规则的,适合新度优先、热度优先等预置的业务策略。
- 搜索后排序:在返回搜索列表后,使用sort by和sort order对物品的指定字段做全局重排,适合用户在搜索列表页进行排序时调用接口重新排列搜索结果。
您可以在控制台-搜索体验页面配置自定义排序策略:
您可以按需配置物品的排序字段、排序策略以及不同策略之间的优先级:
选择排序字段:您可以选择一个物品中String,Float,Int类型的字段属性作为排序依据,例如 购买量(Int),上架时间("YYYY-MM-DD HH:MM:SS"类字符串)等。
选择正序/倒序:选择依据字段值的大小进行正序或倒序调整,字符串类的排序按照字典序进行排序,数值类字段则按照数值大小排序。
调整策略的优先级:如果您选择使用多个策略(比如按上架时间倒序 & 按购买量倒序),则需要定义一下策略之间的优先级。您可以通过拖动策略项来调整它们的执行顺序,排在前面的策略将优先应用于搜索结果排序。例如将“按上架时间倒序”排在“按购买量倒序”之前,在一组相关性相近的召回物品中,先按照上架时间倒序调整顺序,若其中2个物品上架时间一致(均为2025-8),则再按照购买量倒序进行二次调整。
AI 搜索是基于您输入的搜索词,从物品池中召回与搜索词高相关的物品。当搜索词在物品池中匹配到的物品相似度较高时,返回的搜索结果可能出现相似物品扎堆出现的情况,造成用户浏览疲劳。
通过「搜索多样性」能力,您可以自定义规则,在搜索结果返回给用户前,对结果列表进行打散,提高搜索返回的物品多样性。该功能主要面向运维团队和策略产品经理,旨在帮助你提升终端用户的浏览体验和搜索效率。本章节介绍如何在搜索策略下配置多样性规则。
点击【搜索结果配置 - 搜索多样性】,并点击【添加规则】,即可开始创建您的搜索多样性规则:
配置多样性规则时,需要填写以下配置项:
配置完成后,点击【确认】保存至配置面板。在体验页面验证后可点击【更新配置】按钮,使配置的搜索多样性规则立即生效并应用于搜索服务。
Viking AI 搜索支持针对不同的搜索词(Query)设置差异化的搜索策略。您可以定义触发条件和对应的执行动作,使搜索服务在命中特定条件时,自动执行指定策略,从而实现精细化的搜索运营干预。
在默认情况下,搜索策略对所有搜索请求统一生效。但在实际业务场景中,不同类型的搜索词可能需要命中不同的搜索策略。例如:
- 当用户搜索品牌名时,希望只召回和排序该品牌的产品,不希望其他品牌物品被召回
- 当用户输入纯数字时,希望仅使用关键词精确匹配进行检索,召回产品编码精准命中的物品
精细化运营功能通过 "条件-差异化规则" 二元组模式来满足上述需求。您可以在控制台创建规则,指定触发条件和对应的搜索策略规则,系统会在搜索请求命中条件时自动执行对应策略。
您可以在【搜索结果配置 - 精细化运营】中使用该功能。
触发条件用于定义规则的生效场景。一条规则最多可配置 5 个触发条件,多个条件之间可以支持配置 且 及 或 的逻辑:
系统支持以下 3 种条件类型:
您可以随时删除无用的条件:
触发条件配置完成后,下一步就是继续配置该组条件下,需要执行的差异化策略规则。您可以配置多条规则,规则之间是 且 的关系,会同时生效于您指定的这个条件范围。
目前支持配置的搜索规则如下,值得注意的是,每一类规则项的配置方法,和配置全局生效规则时是一样的:
您也可以随时删除无用的规则,但至少保留一项,否则无法保存成功:
AI 搜索使用语义向量匹配,模型中已经学习到了共识性的有近似语义的词组特征,可在一定程度上解决通用的同义词匹配需求(例如:”苹果公司“和”apple“)。但对于专业术语或领域特定词汇的同义词匹配,建议通过自定义同义词表进行补充配置,以确保检索的准确性和完整性。
平台支持同义词组配置,在同一个同义词组内的多个词会被视为”互为同义词“。用户输入任何一个同义词组中的词汇时,包含同义词组其他词的物品会被判别为相关并召回。
点击【搜索词配置 - 同义词设置】,即可开始构建你的行业或品牌垂直同义词表:
请注意,一个词仅允许在唯一一组同义词组中出现,重复配置会导致系统无法确定该词的正确同义词映射关系,保存时系统会进行判重提示:
配置完成后,点击【确定】保存至配置面板。在体验页面验证后可点击【更新配置】按钮,使配置的同义词规则立即生效并应用于搜索服务。
AI搜索在搜索框体验中提供关键词自动纠错能力,在用户的输入中存在拼写错误或常见错误时,系统会自动识别并提供纠正建议,从而提升搜索结果的准确性和用户体验。
在搜索词配置 > 搜索词纠错 打开开关可见2类配置:
- 直接纠正:在系统识别出搜索词中的拼写和常见错误时,自动纠正为正确的词汇并直接返回纠正后的搜索结果,无需用户手动确认。
- 仅做建议:在系统识别出搜索词错误时,使用用户的原词进行搜索,同时提供纠正建议通过搜索接口返回,您可以在集成时,在页面上方显示“您是否期望搜索:{纠正后的词汇}?”的提示,让用户自行决定是否采纳纠正建议。
选择任意一个模式,搜索接口中都会返回纠正后的建议搜索词,您可以根据您的搜索界面体验设计进行自由的集成。详见:Search - 搜索。
AI搜索在搜索框体验中,支持基于输入字符自动联想补全,并推荐相关搜索词,可以提高用户输入效率,帮助用户尽快找到想要的内容,也帮助您放大搜索场景的效率和价值。
在搜索词配置 > 搜索词补全 可见2项配置:
- 补全词数量上限:即每次请求返回的建议搜索词最大数量,默认为10。
- 激活补全的最小字符数:在用于设置用户输入了多少个字符后,才触发一次搜索补全的请求,默认为2,即用户输入字符数<2时,不会触发补全并推荐相关搜索词,输入字符数≥2时才会触发,呈现效果如上图。
该功能推荐的相关搜索词,来源于应用关联的物品数据集中配置的用于补全的物品字段,以及应用的历史高热搜索记录,我们通过构建丰富的词索引,为您自动维护一套专属的搜索联想词库。
Viking AI 搜索支持对搜索结果按指定字段进行分类聚合统计(Facet)。开启该功能后,每次搜索请求返回搜索结果的同时,还会返回指定字段下各枚举值的匹配数量统计,便于您在搜索结果页构建分类标签、侧边栏筛选器等交互组件,帮助用户快速缩小搜索范围、提升搜索效率。
在搜索场景中,用户除了浏览搜索结果列表,通常还需要通过分类标签或筛选面板对结果进行二次筛选。例如:
- 在电商场景中,搜索"手机"后,页面侧边栏展示品牌(Apple: 120、华为: 70)、价格区间(0-2000: 50、2000-5000: 80)等分类标签供用户筛选。
- 在文档搜索场景中,搜索关键词后,页面顶部展示文档类型分类标签(文档: 30、视频: 15、API: 8),帮助用户快速定位目标内容。
聚合统计功能正是为此类场景提供支持。您可以指定物品数据集中的一个或多个字段作为聚合维度,系统会在搜索时自动统计每个维度下各枚举值的匹配数量,并随搜索结果一同返回。
暂不支持:Object 和 Array<Object> 类型的字段用于聚合统计
分类聚合统计功能支持以下字段类型:
使用该功能前,需要完成以下前置配置:
- 已在数据集字段配置中勾选"用于过滤/分类统计":进入应用的数据集字段配置页面,将需要用于聚合的字段勾选为"用于过滤/分类统计"。只有勾选了该选项的字段,才能在体验配置页面中被选为聚合字段。
- 已完成索引构建:勾选字段后,系统会为该字段构建索引,索引构建完成后即可使用。
- 在搜索结果配置区域,找到 搜索结果分类统计,点击 添加规则。
在规则中选择需要聚合统计的物品字段。可选的字段列表为已在数据集字段配置中勾选了"用于过滤/分类统计"的字段。
根据所选字段的类型不同,需要配置的参数也有所不同:
字符串类型字段(String、Boolean、Array<String>)
针对该类型字段,仅支持按字段枚举值进行分类和统计,可配置接口返回的最大枚举值数量:
数值类型字段(Int、Float、Array<Int>、Array<Float>)
数值类型字段支持两种聚合方式,需先选择聚合方式,再配置对应参数:
选择 数值区间 时:
选择 枚举值 时:
配置完成后,点击 确认 保存规则。在体验页面验证搜索效果后,点击 更新配置 按钮,使聚合统计规则生效并应用于搜索服务。