底层技术大揭秘!AI智能导购如何重塑购物体验

简介: 双十一期间,淘宝内测AI助手“淘宝问问”,基于阿里通义大模型,旨在提升用户在淘宝上的商品搜索和推荐效率。该助手通过品牌推荐、兴趣商品推荐和关联问题三大板块,提供个性化购物体验。其背后采用多智能体架构,包括规划助理和商品导购助理,通过对话历史和用户输入,实现精准商品推荐。此外,文章还介绍了如何快速部署此解决方案,并探讨了其对现代购物体验的影响。

前言

在刚过去不久的双十一中,相信不少消费者都经历了购物狂欢带来的兴奋与挑战。随着电商行业的迅猛发展,线上购物已成为人们生活中不可或缺的一部分。然而,在海量的商品信息面前,如何快速找到心仪的产品、获得个性化的推荐,成为了众多消费者和商家共同关注的问题。

自今年9月14日以来,淘宝就开始内测AI助手“淘宝问问”,它接入阿里通义大模型,旨在帮助用户提升在淘宝上的商品推荐和搜索效率。

换做传统的购物方式,大多是进去“关键词搜索”?“商品展示页”,当用户搜索较为复杂或模糊的需求的时候,搜索的结果常常不尽如意,购买效率往往较低,所以,为了提升用户在复杂需求场景下的使用效率,淘宝问问为商家和用户分别提供了提升种草内容生产效率的AI内容工具,以及提升商品搜索效率的AI导购工具。

image.png

比如说,我们可以直接提问:“有哪些小众耐磨女士运动鞋?”

淘宝问问提供的答案分为三个主要板块:

  1. 品牌推荐:展示一系列精选的品牌供用户选择;

  2. 兴趣商品推荐:呈现用户“可能感兴趣”的商品链接;

  3. 关联问题:提供一些与当前查询相关的周边问题,方便用户进一步探索。

其中,“兴趣商品推荐”推荐基于用户的日常搜索数据。例如,如果用户之前搜索过女士运动鞋品牌,这些品牌的相关商品将被优先推荐,确保个性化和相关性。

image.png

同时,如果我们有明确的需求,也可以采用逐轮对话的方式直接挑选出符合要求的商品:

0c44e5bd-d4b7-400b-b522-e8bf923c16a7.gif

那么如此好用且强大的功能是如何实现的呢?本文就将深入探讨便宜云服务器提供的《主动式智能导购AI助手构建》解决方案,揭秘其背后的技术原理,分享部署实践中的心得体会,并讨论该技术对重塑现代购物体验的深远影响。希望通过对这一先进工具的解析,能够为更多开发者和技术爱好者带来启发,同时也为寻求优化用户体验的电商从业者提供有价值的参考。

主动式智能导购 AI 助手构建

技术解决方案地址:https://www.aliyun.com/solution/tech-solution/build-an-ai-shopping-assistant

方案架构

image.png

Multi-Agent架构主要以规划助理(Router Agent)作为核心,接收用户的购买意向或参数输入,并根据对话历史和用户输入选择合适的商品导购助理(如手机导购、冰箱导购、电视导购)进行回复。商品导购助理(Shopping Agent)会主动询问用户的商品参数偏好,收集完整参数后,系统通过百炼应用或SQL查询商品数据库进行智能商品检索,生成推荐的商品列表。用户与各助理的对话历史为每个助理的决策提供了参考依据,确保推荐更加精准和个性化。

【注释】

Multi-Agent架构:多智能体架构,它模拟了现实世界中代理(agent)之间的互动与合作。在这种架构中,系统由多个自主的、智能的代理组成,每个代理都能执行特定的任务,并且能够根据环境变化做出决策。代理之间通过消息传递或共享知识库进行沟通和协作,以完成复杂的任务或解决问题。本次涉及到的Agent有多个,分别是规划助理(Router Agent)和商品导购助理(Shopping Agent),而商品导购助理(Shopping Agent)又分为手机导购助理、电视导购助理、冰箱导购助理。

百炼平台:百炼平台是便宜云服务器推出的一个大型预训练模型服务平台,它基于深度学习技术,旨在为开发者和企业提供强大的自然语言处理(NLP)和机器学习能力。对于文中提到的商品检索场景,百炼平台可以用于理解用户的查询意图,解析商品参数偏好,并且智能化地从海量的商品信息中检索出最符合用户需求的商品推荐结果。这不仅提升了搜索的效率,也增强了用户体验,使得导购过程更加个性化和精准。

快速部署

回到解决方案,点击立即部署,跳转至操作文档界面

image.png

访问已有的函数计算应用模板,进入如下界面:

image.png

进入到百炼平台中,点击个人头像,获取自己的API-Key

image.png

选择 直接部署 ,填入自己的API-Key,其它表单项保持默认,单击页面左下角的创建并部署默认环境,等待项目部署完成即可(预计耗时 1 分钟)

image.png

开始部署后会跳转至如下界面:

image.png

当看到部署完成,点击访问域名:

image.png

此时,网站一键部署完成:

image.png

这里我们也可以借助官方文档学习一下,看看官方编写的Agent prompt设定是什么样的

ROUTER_AGENT_INSTRUCTION = """你是一个问题分类器
请根结合用户的提问和上下文判断用户是希望了解的商品具体类型。

注意,你的输出结果只能是下面列表中的某一个,不能包含任何其他信息:
- 手机(用户在当前输入中提到要买手机,或正在进行手机参数的收集)
- 电视机(用户在当前输入中提到要买电视机,或正在进行电视参数的收集)
- 冰箱(用户在当前输入中提到要买冰箱,或正在进行冰箱参数的收集)
- 其他(比如用户要买非上述三个产品、用户要买不止一个产品等情况)

输出示例:
手机
"""
router_agent = Assistants.create(
    model="qwen-plus",
    name='引导员,路由器',
    description='你是一个商城的引导员,负责将用户问题路由到不同的导购员。',
    instructions=ROUTER_AGENT_INSTRUCTION
)

上述是规划助理的设定prompt,我们可以清晰的看到,该设定明确规划助理的任务是作为问题分类器,根据用户的提问和上下文来确定用户感兴趣的商品类型,并且严格规定输出只能是从预定义列表中选择一个类别,即手机、电视机或冰箱,以及一个兜底的“其他”选项,用于处理不在上述三个主要类别内的查询。这种严格的输出限制确保了输出的一致性和简洁性,便于后续处理逻辑直接使用这些信息,同时通过提供具体的判断标准提高了分类的准确性。

但是,在实际的业务中,这种设定在面对复杂或模糊的用户请求时也会缺乏灵活性,尤其是在用户有多个购物意向或需要更深入理解上下文的情况下,可能会导致分类不准确或过于泛化的问题,所以此处并不能直接投入到生产环境中去使用。

在识别意图之后,会再分理至不同的Agent进行处理,通过预先定义的映射表agent_map,系统能够依据用户的问题类型选择最合适的导购员来提供服务。如果用户的查询被分类为“手机”、“电视机”或“冰箱”,系统将会把请求转交给专门负责该类商品的导购员代理,由它们来生成详细的回复内容。

agent_map = {
   
    "意图分类": router_agent.id,
    "手机": mobilephone_guide_agent.id,
    "冰箱": fridge_guide_agent.id,
    "电视机": tv_guide_agent.id
}

def chat(input_prompt, thread_id):
    # 首先根据用户问题及 thread 中存储的历史对话识别用户意图
    router_agent_response = get_agent_response(agent_name="意图分类", input_prompt=input_prompt, thread_id=thread_id)
    classification_result = parse_streaming_response(router_agent_response)

    response_json = {
   
        "content": "",
    }
    # 如果分类识别为其他时,引导用户调整提问方式
    if classification_result == "其他":
        return_json["content"] = "不好意思,我没有理解您的问题,能换个表述方式么?"
        return_json['current_agent'] = classification_result
        return_json['thread_id'] = thread_id
        yield f"{json.dumps(return_json)}\n\n"
    # 如果分类是手机、电视机或冰箱时,让对应的 Agent 进行回复
    else:
          agent_response = get_agent_response(agent_name=classification_result, input_prompt=input_prompt, thread_id=thread_id)
        for chunk in agent_response:
            response_json["content"] = chunk
            response_json['current_agent'] = classification_result
            response_json['thread_id'] = thread_id
            yield f"{json.dumps(response_json)}\n\n"

其实也可以看出,每个特定商品类型的Agent都经过了优化,可以较好地理解和回应与之相关的具体问题和需求。如果分类结果是“其他”,则意味着用户的查询不符合预设的商品类别,这时系统会提示用户调整提问方式,以获得更准确的帮助。整个过程确保了用户的问题能够被快速且精准地路由到最适合的处理节点,从而提高了服务效率和用户体验。

应用于生产环境

上述其实也提到,demo确实无法直接适用于生产环境,不过好在官方文档中给出了适配生产环境的方式

首先第一点,适配生产环境必须要修改对应的知识库内容

这里又不得不提到我们的百炼平台了,关于这一块的操作步骤可以参考百炼官方文档

解决方案这里写的确实太简洁了,大家参考上面的百炼官方文档即可

image.png

第二点,也是最关键的,就是修改源码中的prompt

这一块确实也没办法直接给出,并且需要反复调试才可以达到最优,这里周周推荐一个取巧的方式,就是将官方的prompt丢给千问,让千问模仿给出符合自己需求的

比如手机导购助理的Agent prompt设定如下:

MOBILEPHONE_GUIDE_AGENT_INSTRUCTION = """你是负责给顾客推荐手机的智能导购员。

你需要按照下文中【手机的参数列表】中的顺序来主动询问用户需要什么参数的手机,一次只能问一个参数,不要对一个参数进行重复提问。
如果用户告诉了你这个参数值,你要继续询问剩余的参数。
如果用户询问这个参数的概念,你要用你的专业知识为他解答,并继续向他询问需要哪个参数。
如果用户有提到不需要继续购买商品,请输出:感谢光临,期待下次为您服务。

【手机的参数列表】
1.使用场景:【游戏、拍照、看电影】
2.屏幕尺寸:【6.4英寸、6.6英寸、6.8英寸、7.9英寸折叠屏】
3.RAM空间+存储空间:【8GB+128GB、8GB+256GB、12GB+128GB、12GB+256GB】

如果【参数列表】中的参数都已收集完毕,你要问他:“请问您是否确定购买?”,并同时将顾客选择的参数信息输出,如:用于拍照|8GB+128GB|6.6英寸。问他是否确定需要这个参数的手机。如果顾客决定不购买,要问他需要调整哪些参数。

如果顾客确定这个参数符合要求,你要按照以下格式输出:
【使用场景:拍照,屏幕尺寸:6.8英寸,存储空间:128GB,RAM空间:8GB】。请你只输出这个格式的内容,不要输出其它信息。"""

mobilephone_guide_agent = Assistants.create(
    model="qwen-max",
    name='手机导购',
    description='你是一个手机导购,你需要询问顾客想要什么参数的手机。',
    instructions=MOBILEPHONE_GUIDE_AGENT_INSTRUCTION
)

我们想写一个在线问诊的Agent prompt设定,可以如此提问:

已知手机导购助理prompt如下:XXX

请你模仿帮我构建一个适用于在线问诊的Agent prompt设定

通义给出的回复如下:

ONLINE_DIAGNOSIS_AGENT_INSTRUCTION = """你是负责提供在线健康咨询服务的智能医疗助手。

你的任务是根据【问诊参数列表】中的顺序,逐步询问用户有关其症状、病史等信息,每次只问一个问题,并确保不重复提问。如果用户提供了相关信息,继续询问下一个参数。如果用户对某个术语或概念有疑问,请用通俗易懂的语言解释,并继续询问其他参数。如果用户表示不再需要服务或感觉不适,请输出:“感谢您的信任,祝您早日康复,如有需要随时联系我们。”

【问诊参数列表】
1. 主要症状:请描述您当前最困扰的症状(如头痛、咳嗽、发热等)。
2. 症状持续时间:这些症状已经持续多久了?
3. 既往病史:您是否有任何慢性疾病或其他健康问题?(如高血压、糖尿病等)
4. 当前用药情况:您目前正在服用哪些药物?
5. 过敏史:您是否对某些食物、药物或物质过敏?
6. 其他相关信息:您还有其他想要告知医生的信息吗?

当所有【问诊参数列表】中的信息都收集完毕后,你需要告诉用户:“我们已经收集到了您的基本信息,接下来会根据您提供的信息进行初步分析。”然后向用户提出:“请问您是否希望我们为您预约一位专业医生进行详细咨询?”同时将用户提供的信息总结并展示给用户确认。

如果用户同意进一步咨询,则按照以下格式输出:
【主要症状:头痛,症状持续时间:三天,既往病史:,当前用药情况:,过敏史:青霉素】

如果你无法提供具体的医疗建议或诊断,一定要提醒用户及时就医,并强调你所提供的只是基于现有信息的初步建议,不能代替专业医生的面对面诊疗。确保始终以用户的健康和安全为优先考虑。

请注意,在整个沟通过程中保持耐心和同情心,尊重用户的隐私和感受。"""

online_diagnosis_agent = Assistants.create(
    model="qwen-max",
    name='在线医疗助手',
    description='你是一个在线医疗助手,负责询问患者有关症状、病史等信息,为用户提供初步健康咨询。',
    instructions=ONLINE_DIAGNOSIS_AGENT_INSTRUCTION
)

当然,这个还可以进一步细化【问诊参数列表】,给出prompt如下:

请根据医生就诊的实际过程来优化【问诊参数列表】

最终优化后的Agent prompt设定如下:

ONLINE_DIAGNOSIS_AGENT_INSTRUCTION = """你是负责提供在线健康咨询服务的智能医疗助手。

你的任务是根据【问诊参数列表】中的顺序,逐步询问用户有关其症状、病史等信息,每次只问一个问题,并确保不重复提问。如果用户提供了相关信息,继续询问下一个参数。如果用户对某个术语或概念有疑问,请用通俗易懂的语言解释,并继续询问其他参数。如果用户表示不再需要服务或感觉不适,请输出:“感谢您的信任,祝您早日康复,如有需要随时联系我们。”

【问诊参数列表】
1. **基本信息**- 您的年龄、性别和职业是什么?
2. **主要症状**- 请描述您当前最困扰的症状(如头痛、咳嗽、发热等),并说明这些症状首次出现的时间。
3. **症状特点**- 这些症状是否有特定的时间模式?例如,是否在早晨更为严重,或者是在某些活动后加剧?
4. **伴随症状**- 是否还有其他伴随症状?比如恶心、呕吐、呼吸困难等。
5. **既往病史**- 您是否有任何慢性疾病或其他健康问题?(如高血压、糖尿病等)
6. **家族病史**- 您的直系亲属中是否有人患有类似症状或相关疾病?
7. **用药情况**- 您目前正在服用哪些药物?包括处方药、非处方药、草药或补充剂。
8. **过敏史**- 您是否对某些食物、药物或物质过敏?
9. **生活方式与环境因素**- 您的生活方式如何?例如,饮食习惯、运动频率、吸烟饮酒情况等。
   - 您的工作或生活环境是否存在可能影响健康的因素?
10. **近期变化**- 最近几周内,您的生活或工作环境中是否发生了重大变化?
11. **其他相关信息**- 您还有其他想要告知医生的信息吗?

当所有【问诊参数列表】中的信息都收集完毕后,你需要告诉用户:“我们已经收集到了您的基本信息,接下来会根据您提供的信息进行初步分析。”然后向用户提出:“请问您是否希望我们为您预约一位专业医生进行详细咨询?”同时将用户提供的信息总结并展示给用户确认。

如果用户同意进一步咨询,则按照以下格式输出:
【基本信息:年龄30,性别男,职业程序员,主要症状:头痛,症状首次出现时间:三天前,症状特点:早晨较重,伴随症状:,既往病史:,家族病史:,用药情况:,过敏史:青霉素,生活方式:久坐办公室,近期变化:最近加班较多】

如果你无法提供具体的医疗建议或诊断,一定要提醒用户及时就医,并强调你所提供的只是基于现有信息的初步建议,不能代替专业医生的面对面诊疗。确保始终以用户的健康和安全为优先考虑。

请注意,在整个沟通过程中保持耐心和同情心,尊重用户的隐私和感受。"""

online_diagnosis_agent = Assistants.create(
    model="qwen-max",
    name='在线医疗助手',
    description='你是一个在线医疗助手,负责询问患者有关症状、病史等信息,为用户提供初步健康咨询。',
    instructions=ONLINE_DIAGNOSIS_AGENT_INSTRUCTION
)

在测试完成后,可以开始进行第三步,将智能导购集成到已有的网站中,这里可以直接参考10分钟在网站上增加一个AI助手

其实最终效果就和这个类似:

image.png

也可以参看我以前的文章:详解基于百炼平台及函数计算快速上线网页AI助手

总结

这篇体验下来,说实话,与之前【10分钟在网站上增加一个AI助手】的逻辑基本一致,只是由单Agent变成了多Agent,虽然听起来只是数量多了点,但是实际上是代表了框架和服务能力的一次质的飞跃

在单Agent模式下,所有的用户请求都被同一个通用的AI助手处理,这可能导致对于复杂或多意图的问题响应不够精确或者需要更多的时间来理解上下文。而多Agent架构允许根据用户的输入和需求动态地选择最合适的专家级Agent来进行对话管理,从而确保了更专业、更快速的服务响应。例如,在电商场景中,当用户询问关于手机的信息时,系统会自动将请求转交给专门负责手机导购的Agent;如果用户随后转向咨询电视机,则另一个专精于电视产品的Agent会接手继续服务。

整个解决方案确实也非常优秀,基本没有槽点,具有很高的指导性和可操作性!好评!

相关文章
|
6天前
|
人工智能 达摩院 计算机视觉
SHMT:体验 AI 虚拟化妆!阿里巴巴达摩院推出自监督化妆转移技术
SHMT 是阿里达摩院与武汉理工等机构联合研发的自监督化妆转移技术,支持高效妆容迁移与动态对齐,适用于图像处理、虚拟试妆等多个领域。
42 9
SHMT:体验 AI 虚拟化妆!阿里巴巴达摩院推出自监督化妆转移技术
|
20天前
|
人工智能 编解码 搜索推荐
深度测评-主动式智能导购 AI 助手构建的实现与优化
本文深度测评某平台提供的函数计算应用模板,用于快速搭建集成智能导购的电商网站。通过简洁直观的创建与部署流程,用户只需填写API Key等基本信息,即可完成配置。智能导购AI助手能通过多轮对话引导顾客明确需求,精准推荐商品,提升购物体验和转化率。系统支持自定义设置,具备高效、个性化、灵活扩展的特点。未来可引入更多维度推荐、机器学习及语音识别技术,进一步优化导购效果。
114 15
深度测评-主动式智能导购 AI 助手构建的实现与优化
|
3天前
|
存储 人工智能 安全
AI时代的网络安全:传统技术的落寞与新机遇
在AI时代,网络安全正经历深刻变革。传统技术如多因素身份认证、防火墙和基于密码的系统逐渐失效,难以应对新型攻击。然而,AI带来了新机遇:智能化威胁检测、优化安全流程、生物特征加密及漏洞管理等。AI赋能的安全解决方案大幅提升防护能力,但也面临数据隐私和技能短缺等挑战。企业需制定清晰AI政策,强化人机协作,推动行业持续发展。
33 16
|
11天前
|
人工智能 缓存 Ubuntu
AI+树莓派=阿里P8技术专家。模拟面试、学技术真的太香了 | 手把手教学
本课程由阿里P8技术专家分享,介绍如何使用树莓派和便宜云服务器服务构建AI面试助手。通过模拟面试场景,讲解了Java中`==`与`equals`的区别,并演示了从硬件搭建、语音识别、AI Agent配置到代码实现的完整流程。项目利用树莓派作为核心,结合便宜云服务器的实时语音识别、AI Agent和文字转语音服务,实现了一个能够回答面试问题的智能玩偶。课程展示了AI应用的简易构建过程,适合初学者学习和实践。
71 22
|
3天前
|
人工智能
解决方案 | 主动式智能导购AI助手构建获奖名单公布!
解决方案 | 主动式智能导购AI助手构建获奖名单公布!
|
9天前
|
人工智能 Java 程序员
通义灵码AI编码助手和AI程序员背后的技术
通义灵码AI编码助手和AI程序员背后的技术,由通义实验室科学家黎槟华分享。内容涵盖三部分:1. 编码助手技术,包括构建优秀AI编码助手及代码生成补全;2. 相关的AI程序员技术,探讨AI程序员的优势、发展情况、评估方法及核心难点;3. 代码智能方向的展望,分析AI在软件开发中的角色转变,从辅助编程到成为开发主力,未来将由AI执行细节任务,开发者负责决策和审核,大幅提升开发效率。
90 12
|
10天前
|
人工智能 搜索推荐
AI视频技术的发展是否会影响原创内容的价值
AI视频技术的发展显著降低了视频制作的门槛与成本,自动完成剪辑、特效添加等繁琐工作,大大缩短创作时间。它提供个性化创意建议,帮助创作者突破传统思维,拓展创意边界。此外,AI技术使更多非专业人士也能参与视频创作,注入新活力与多样性,丰富了原创内容。总体而言,AI视频技术不仅提升了创作效率,还促进了视频内容的创新与多样化。
|
4天前
|
机器学习/深度学习 存储 人工智能
AI实践:智能工单系统的技术逻辑与应用
智能工单系统是企业服务管理的核心工具,通过多渠道接入、自然语言处理等技术,实现工单自动生成、分类和分配。它优化了客户服务流程,提高了效率与透明度,减少了运营成本,提升了客户满意度。系统还依托知识库和机器学习,持续改进处理策略,助力企业在竞争中脱颖而出。
20 5
|
23天前
|
人工智能 搜索推荐 Serverless
打造智能购物新体验:主动式智能导购AI助手解决方案评测
便宜云服务器推出的《主动式智能导购AI助手构建》解决方案,基于百炼大模型和函数计算,采用Multi-Agent架构,提供个性化、智能化的购物体验。系统具备主动交互、精准推荐、自动化架构等亮点,支持快速部署和生产环境应用。评测结果显示,该方案在功能效果和架构设计上表现出色,但仍需优化文档和技术细节。欢迎参加官方评测活动... 详细评测及参与方式请参考:[链接](/topic/build-an-ai-shopping-assistant?spm=a2c6h.12873639.article-detail.17.13902d93dZhiyK)。
80 2
打造智能购物新体验:主动式智能导购AI助手解决方案评测

热门文章

最新文章

http://www.vxiaotou.com