摘要:
新版langchain中已经弃用了LLMChain等内置链的组装和框架,取而代之的是使用 runables包中内置的类和方法 来构建更灵活的链,其中最主要的方法是RunablesSequence,RunnableLambda和RunnableMap。 一:RunnablesSenquence Run 阅读全文
摘要:
1. 文本知识库的加载和分割 实现一个智能文档助手,基于已有知识库给向ai发起提问使ai能够基于知识库回答更加准确的答案,首先需要加载对应的文档,文档类型可以是docx,xlsx,md等格式。并且对文档进行分割,将其分割成一块一块的Document类型并转成list类型方便后续处理。 def get 阅读全文
摘要:
文本向量化实现方式 在复杂的大模型中文本向量化有很多好处,比如提高检索速度,在大规模数据集上向量通过相似表示可以快速找到相似文本,在处理长文本和跨语言对齐等任务上也可以减少很多开销。在langchain中可以从包langchain.embeddings.openai中可以引入方法OpenAIEmbe 阅读全文
摘要:
Lost in the middle:上下文长连接精度问题 使用langchain工具,实现上下文长连接精度匹配问题使用huggingface托管LLM做嵌入式处理,这里选择的模型是all-MiniLM-L6-v2。根据文本对问题的相关性返回文本块,对检索结果进行排序,问题相关性越低的内容放在中间, 阅读全文
摘要:
文档转换器 将文档分成小的,有意义的语句块。将小的块组合成一个更大的块,直到达到一定大小。一旦达到一定大小,接着开始创建与下一个块重叠的部分。 1. 分割文档 文档分割可以使用langchain组件中的RecursiveCharacterTextSplitter方法,这是一种文本分割器。可以根据指定 阅读全文
摘要:
loader加载器的主要作用是加载各种格式的知识库给大模型进行学习,从而提升大模型在专业领域的能力,也是创建大模型agent开发的第一步。 TextLoader 在langchain中TaxtLoader加载器可以加载.md,.test等格式的文档,需要注意的是中文文档需要指明解析字符集格式。 #使 阅读全文
摘要:
Retrieval -Augmented Generation(RAG):检索增强 传统知识库只能根据已有知识库进行检索。但是这样的缺点就是,已有知识库有限,大多数时候 可能无法检索出有效信息。RAG通过检索和生成来克服这个问题,具体来说RAG会根据输入的 question先从知识库中检索到信息,然 阅读全文
摘要:
有时候单一的提示词模版无法满足复杂的任务需求,因此需要结合选择器使大模型有更加准确的判断,尤其是在高度上下文依赖性的对话或生成任务时,动态的选择最合适的示例或者提示词时尤其重要。本文同样使用langchain组件开发多用选择器方法。 长度智能选择器 在langchain组件中LengthBasedE 阅读全文
摘要:
提示词工程的建模在大模型对话agent的开发中有着重要的地位,好的提示词模板可以辅助大模型做出更加准确的预测,得到更加准确的答案。本文使用langchain进行agnent开发,langchain中封装了很多工具和方法其中就包括不同的prompt模板,接下来本文将详细介绍几种不同风格的prompt模 阅读全文
摘要:
此作业参见:https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11604 回顾0 分值 40 所属团队(alpha后换组的,两个团队都 写)及链接 背个棒:https://www.cnblogs.com/beigebang/ 团队项目及链接 阅读全文