大模型agent开发之上下文长处理
Lost in the middle:上下文长连接精度问题
使用langchain工具,实现上下文长连接精度匹配问题使用huggingface托管LLM做嵌入式处理,这里选择的模型是all-MiniLM-L6-v2。根据文本对问题的相关性返回文本块,对检索结果进行排序,问题相关性越低的内容放在中间,问题相关性高的放在首尾。
def start(text): embedings = HuggingFaceBgeEmbeddings(model_name='all-MiniLM-L6-v2') retrieval = Chroma.from_texts(text, embedings).as_retriever( search_kwargs={"k": 10} ) query = "经济学是什么" docs = retrieval.get_relevant_documents(query) recordering = LongContextReorder() reo_docs = recordering.transform_documents(docs) return reo_docs
基于输入文本和嵌入模型创建一个Chroma向量存储,配置为检索器,并且指定检索返回的文档数量为10。主要是从文本中快速准确地检索出与查询内容相关的文档并进行排序,最后呈现出来。