Created
Aug 8, 2024 06:59 AM
Favorite
Favorite
Priority
备注
推荐
类型
Prompt
notion image

在prompt中添加示例,可以规定模型回答的格式、措辞、范围界定、明确任务。使用具体而多样的示例可以帮助模型生成更准确的结果。如果示例能清晰的显示当前任务,那么我们可以采用更简单的prompt来解决问题,可以有效缓解调prompt的难度。下面我们将介绍langchain和dspy中fewshot的使用,并引出里面的优化方案,让大家去进一步探索:

环境搭建

本文用到的环境如下:

LangChain中的使用

load 模型

搭建流程

在langchain中搭建fewshot流程,只需定义好prompt 模板就好了,然后通过FewShotChatMessagePromptTemplate方法调用:
高级方法
我们可以通过相似度检索,添加与问题相近的示例做动态fewshot,这样能得到更好的效果:LangChain中的Prompt模板搭建|Prompt工程Few-Shot优化方案
Dspy中的使用

DSPy是一个由斯坦福NLP研究人员开发的框架,全称为"D declarative S self-improved Language P programs (in Python)",发音为“dee-es-pie”。它是一种“基于基础模型的编程”框架,强调编程而不是提示,使构建基于语言模型(LM)的管道远离操作提示而更接近编程。因此,它旨在解决构建基于LM的应用程序中的脆弱性问题。

dspy可以帮助我们,通过一行代码,搭建流程:斯坦福dspy自动优化大模型流水线帮你解放双手(实战)

load 模型

流程搭建
是不是很简单,使用dspy,只需两行代码就完成了整个流程的搭建。
进一步优化
dspy还支持prompt自动调优,DSPY中有很多种优化方法,包含prompt调整、模型调整等,后面有机会再介绍。下面介绍fewshot的调试:
如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用。
好了,这就是我今天想分享的内容。如果你对大模型应用感兴趣,别忘了点赞、关注噢~
往期推荐
langchain4
Loading...