网站下载的软件怎么安装,免费注册网址域名,各省网站备案时长,wordpress 用户 购物在人工智能领域#xff0c;我们一直在追求让机器像人类一样思考。然而#xff0c;即使是最先进的AI#xff0c;也常常被诟病缺乏“常识”#xff0c;难以理解复杂问题#xff0c;更不用说像人类一样进行逻辑推理和解决问题了。最经常的表现就是遇到不会的地方#xff0c;…在人工智能领域我们一直在追求让机器像人类一样思考。然而即使是最先进的AI也常常被诟病缺乏“常识”难以理解复杂问题更不用说像人类一样进行逻辑推理和解决问题了。最经常的表现就是遇到不会的地方或者一些人一眼能看出来的地方AI在那里胡扯。
为了解决这个问题一种名为“思维链Chain of Thought, COT”的技术应运而生。COT的核心思想是将复杂问题分解成一系列简单的子问题并逐步推理出最终答案。这就像人类在解决问题时会先将问题拆解成一个个小步骤然后一步步推理最终得出结论。 什么是思维链COT
思维链COT是一种新兴的AI技术旨在通过将复杂问题分解为多个简单的子问题来提高AI的推理能力。COT不仅提升了AI解决复杂问题的能力还增强了模型的可解释性使得AI的决策过程更加透明便于人类理解和调试。
理解COT的实践
为了更好地理解COT我们来看一个简单的例子数单词“strawberry”中有几个字母“r”。
from langchain_openai import ChatOpenAI
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate# 模型
model ChatOpenAI(modeldeepseek-chat, openai_api_keysk-xxx,openai_api_basehttps://api.deepseek.com,max_tokens4096
)
# 定义一个简单的提示模板
prompt_template PromptTemplate(input_variables[user_input],template用户: {user_input}\nAI:
)
# 创建一个链将提示模板与模型连接起来
chain LLMChain(llmmodel, promptprompt_template)# 手动输入一个值并发送给模型
user_input strawberry里面有几个r
# 发送消息给模型并获取响应
response chain.run(user_inputuser_input)
print(f\n\nAI: {response}\n)初步结果
我们得到的结果是
AI: 在单词 strawberry 中有两个字母 r。显然这个结果是错误的。AI没有正确地数出“r”的数量。
使用COT解决问题
接下来我们尝试使用COT来解决这个问题。通过将问题分解为多个步骤AI可以更准确地得出答案。
user_input
回答下面问题并注意回答的时候严格按照以下步骤逐步进行
1将单词拆开
2从左到右一个,一个对比字母是不是是的话你要记录他的位置并记住数量加一
3第2步数出来多少个r直接输出
问题strawberry里面有几个r
# 发送消息给模型并获取响应
response chain.run(user_inputuser_input)
print(f\n\nAI: {response}\n)改进后的结果
通过使用COTAI得到了正确的答案
AI: 1. 将单词拆开: s, t, r, a, w, b, e, r, r, y
2. 从左到右一个,一个对比字母是不是r:- 第1个字母是s不是r- 第2个字母是t不是r- 第3个字母是r是r记录位置3数量加一- 第4个字母是a不是r- 第5个字母是w不是r- 第6个字母是b不是r- 第7个字母是e不是r- 第8个字母是r是r记录位置8数量加一- 第9个字母是r是r记录位置9数量加一- 第10个字母是y不是r
3. 第2步数出来多少个r直接输出: 3通过逐步推理AI成功地数出了三个“r”。
内置COT的优势
在上面的例子中我们引导AI解决了一个具体的问题。但如果我们不知道用户想问什么又想内置思维链怎么办呢我们可以通过编写一个通用的COT框架来实现这一点。
from langchain_openai import ChatOpenAI
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
import json# 模型
model ChatOpenAI(modeldeepseek-chat, openai_api_keysk-xxx,openai_api_basehttps://api.deepseek.com,max_tokens4096
)
# 定义一个简单的提示模板
prompt_template PromptTemplate(input_variables[user_input],template用户: {user_input}\nAI:
)
# 创建一个链将提示模板与模型连接起来
chain LLMChain(llmmodel, promptprompt_template)# 手动输入一个值并发送给模型
initial_prompt
你是一个能够逐步解释推理过程的专家AI助手。对于每一步提供一个描述你在该步骤中所做内容的标题以及相应的内容。决定是否需要另一步骤或你已准备好给出最终答案
且每次推理你仅执行一步等我说继续才能执行下一步。输出以JSON格式响应包含 ‘title’, ‘content’, 和 ‘next_action’要么是 ‘continue’要么是 ‘final_answer’键值。为了提高指令遵从性通过大写字母强调指令的重要性包括一组提示和最佳实践
1、尽可能多地使用推理步骤。至少5步且每次推理你仅执行一步等我说继续才能执行下一步
2、意识到作为语言模型你的限制以及你能做什么和不能做什么。
3、包括探索替代答案。考虑你可能是错误的如果你的推理是错误的错误可能在哪里。
4、当你说你在重新检查时实际上要重新检查并采用另一种方法来做。不要只是说你在重新检查。
5、至少使用3种方法得出答案。
6、使用最佳实践。问题如下周五昨天的后天是周几
# 发送消息给模型并获取响应
response chain.run(user_inputinitial_prompt)
print(f\n\nAI: {response}\n)通过这种方式我们可以让AI在不明确问题的情况下自动进行问题拆解和推理。
COT的优势 提升复杂问题的解决能力传统的AI模型通常只能处理简单、直接的任务而COT可以将复杂问题分解成多个简单的子问题从而提升模型解决复杂问题的能力。 增强模型的可解释性COT将推理过程可视化使得模型的决策过程更加透明便于人类理解和调试。 促进模型的学习和进化COT可以帮助模型更好地理解问题的本质从而促进模型的学习和进化使其在解决新问题时更加高效。
COT的未来展望
COT作为一种新兴的技术目前还处于发展初期但其潜力巨大。未来随着技术的不断进步COT有望在以下几个方面取得突破 更强大的推理能力未来的COT模型将能够处理更加复杂、抽象的问题并进行更加深入的推理。 更强的可解释性未来的COT模型将能够提供更加清晰、易懂的推理过程使得人类可以更好地理解和信任AI的决策。
【CodeMoss】集成13个种AI模型GPT4、o1等、提示词助手100、支持Open API调用、自定义助手、文件上传等强大功能助您提升工作效率 CodeMoss点击访问 https://pc.aihao123.cn/index.html#/page/login?invite1141439fromChannel1_Moss1213siwei
结语
思维链COT技术为AI的推理能力带来了革命性的提升。通过将复杂问题分解为简单的子问题COT不仅提高了AI解决问题的能力还增强了模型的可解释性和学习能力。随着技术的不断进步COT将在更多领域发挥重要作用为人类带来更多便利和创新。