面向开发者的LLM入门课程-处理输入:提取产品和类别: 处理输入-链式 链式提示是将复杂任务分解为多个简单Prompt的策略。在本教程中,我们将学习如何通过使用链式Prompt……
哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门课程-处理输入:提取产品和类别”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。
面向开发者的LLM入门课程-处理输入:提取产品和类别:
处理输入-链式
链式提示是将复杂任务分解为多个简单Prompt的策略。在本教程中,我们将学习如何通过使用链式Prompt 将复杂任务拆分为一系列简单的子任务。你可能会想,如果我们可以通过思维链推理一次性完成,那为什么要将任务拆分为多个 Prompt 呢?
主要是因为链式提示它具有以下优点:
1. 分解复杂度,每个 Prompt 仅处理一个具体子任务,避免过于宽泛的要求,提高成功率。这类似于分阶段烹饪,而不是试图一次完成全部。
2. 降低计算成本。过长的 Prompt 使用更多 tokens ,增加成本。拆分 Prompt 可以避免不必要的计算。
3. 更容易测试和调试。可以逐步分析每个环节的性能。
4. 融入外部工具。不同 Prompt 可以调用 API 、数据库等外部资源。
5. 更灵活的工作流程。根据不同情况可以进行不同操作。
综上,链式提示通过将复杂任务进行科学拆分,实现了更高效、可靠的提示设计。它使语言模型集中处理单一子任务,减少认知负荷,同时保留了多步骤任务的能力。随着经验增长,开发者可以逐渐掌握运用链式提示的精髓。
提取产品和类别
我们所拆解的第一个子任务是,要求 LLM 从用户查询中提取产品和类别。
from tool import get_completion_from_messages
delimiter = “####”
system_message = f”””
您将获得客户服务查询。
客户服务查询将使用{delimiter}字符作为分隔符。
请仅输出一个可解析的Python列表,列表每一个元素是一个JSON对象,每个对象具有以下格式:
‘category’: <包括以下几个类别:Computers and Laptops、Smartphones and Accessories、
Televisions and Home Theater Systems、Gaming Consoles and Accessories、Audio
Equipment、Cameras and Camcorders>,
以及
‘products’: <必须是下面的允许产品列表中找到的产品列表>
类别和产品必须在客户服务查询中找到。
如果提到了某个产品,它必须与允许产品列表中的正确类别关联。
如果未找到任何产品或类别,则输出一个空列表。
除了列表外,不要输出其他任何信息!
允许的产品:
Computers and Laptops category:
TechPro Ultrabook
BlueWave Gaming Laptop
PowerLite Convertible
TechPro Desktop
BlueWave Chromebook
Smartphones and Accessories category:
SmartX ProPhone
MobiTech PowerCase
SmartX MiniPhone
MobiTech Wireless Charger
SmartX EarBuds
Televisions and Home Theater Systems category:
CineView 4K TV
SoundMax Home Theater
CineView 8K TV
SoundMax Soundbar
CineView OLED TV
Gaming Consoles and Accessories category:
GameSphere X
ProGamer Controller
GameSphere Y
ProGamer Racing Wheel
GameSphere VR Headset
Audio Equipment category:
AudioPhonic Noise-Canceling Headphones
WaveSound Bluetooth Speaker
AudioPhonic True Wireless Earbuds
WaveSound Soundbar
AudioPhonic Turntable
Cameras and Camcorders category:
FotoSnap DSLR Camera
ActionCam 4K
FotoSnap Mirrorless Camera
ZoomMaster Camcorder
FotoSnap Instant Camera
只输出对象列表,不包含其他内容。
“””
user_message_1 = f”””
请告诉我关于 smartx pro phone 和 the fotosnap camera 的信息。
另外,请告诉我关于你们的tvs的情况。 “””
messages = [{‘role’:’system’, ‘content’: system_message},
{‘role’:’user’, ‘content’: f”{delimiter}{user_message_1}
{delimiter}”}]
category_and_product_response_1 = get_completion_from_messages(messages)
print(category_and_product_response_1)
[{‘category’: ‘Smartphones and Accessories’, ‘products’: [‘SmartX ProPhone’]},
{‘category’: ‘Cameras and Camcorders’, ‘products’: [‘FotoSnap DSLR Camera’,
‘FotoSnap Mirrorless Camera’, ‘FotoSnap Instant Camera’]}, {‘category’:
‘Televisions and Home Theater Systems’, ‘products’: [‘CineView 4K TV’, ‘CineView
8K TV’, ‘CineView OLED TV’, ‘SoundMax Home Theater’, ‘SoundMax Soundbar’]}]
可以看到,输出是一个对象列表,每个对象都有一个类别和一些产品。如 “SmartX ProPhone” 和 “Fotosnap DSLR Camera” 、”CineView 4K TV”。
我们再来看一个例子。
user_message_2 = f”””我的路由器不工作了”””
messages = [{‘role’:’system’,’content’: system_message},
{‘role’:’user’,’content’: f”{delimiter}{user_message_2}
{delimiter}”}]
response = get_completion_from_messages(messages)
print(response)
[]
嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门课程-处理输入:提取产品和类别”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!
还没有评论呢,快来抢沙发~