文章转自公众号老刘说NLP
我们今天来看看关于AI搜索的一个话题,关于AI搜索进展,混合搜索memfree,MemFree是一个开源的混合AI搜索引擎,https://github.com/memfreeme/memfree,https://www.memfree.me/zh
可以看看其实现思路,另一个是关于RAG数据处理增强的一个内容,包括多模态文档解析和块划分优化的策略。会有一些收获。
我们可以在https://www.memfree.me/zh/docszh中找到关于这个开源项目的介绍。
MemFree 是一个混合人工智能搜索引擎,通过MemFree,可以立即从您的知识库和整个互联网获取准确的答案。其主要功能为:使用文本、图像、文件和网页搜索并提问。一键获取文本、思维导图、图像和视频的搜索结果;比较、总结和搜索多个图像;总结网页和PDF,并询问有关其内容的问题;在推特上询问学术问题;有效地解释和生成代码;执行ChatGPT Plus、Claude Pro和Gemini Advanced中可用的大多数任务。
MemFree混合人工智能搜索工作流程如下:
1、启动搜索:在搜索框中输入搜索查询,然后点击搜索按钮;
2、智能查询处理:MemFree将自动决定是否根据搜索查询搜索互联网。如果问题简单,会直接给答案;
3、信息收集:如果问题需要更多信息,MemFree将在互联网和您的知识库中搜索以获取信息;
4、相关性排序:MemFree根据搜索结果与问题的相关性自动重新排名来自知识库和互联网的搜索结果;
5、大模型生成额答案:MemFree 使用人工智能总结搜索结果,提供最佳答案;
一个具体例子:
RAG中的数据处理增强中,一个很重要的点就是文档解析,其通常涉及以一种连贯的方式从文本、表格和图形中提取信息,确保相关片段被准确识别和检索。
1、多模态文档解析Multi-modal Documents Parsing
处理源文档中的多模态内容,如图表、表格甚至视频(例如会议记录),是最常见的问题之一。通常采用两种方法来解决这个问题。第一种方法涉及将多模态内容转换为文本形式。
例如,表格转文本方法将表格转换成文本,例如:
《Exploring the impact of table-to-text methods on augmenting llm-based question answering with domain hybrid data》
而其他技术将视觉内容转换为基于文本或属性的描述,然后由大型语言模型进行处理,例如:
《Vipergpt: Visual inference via python execution for reasoning》
《Assistgpt: A general multi-modal assistant that can plan, execute, inspect, and lear.》
第二种方法利用多模态嵌入技术,使用从多模态数据检索到的嵌入作为输入的软提示。
《Reveal: Retrieval-augmented visual-language pre-training with multi-source multimodal knowledge memory》
《Bootstrapping language-image pre-training for unified vision-language understanding and generation》
《Generative multi-modal knowledge retrieval with large language models.》
2、块划分优化Chunking Optimization
对于长文本,将文档分割成文本块是一种常见且必要的操作。较大的文本块可以保留更多的上下文语义连贯性,但它们也倾向于在每个块中包含更多的噪声《Lost in the middle: How language models use long contexts》。
常用的块划分策略,包括固定大小的块划分、递归块划分、滑动窗口块划分、基于段落的块划分、语义块划分等,包括:
《LangChain. Text splitter. https://python.langchain.com/v0.1/docs/modules/data_connection/ document_transformers/》
《LlamaIndex. Semantic splitter. https://docs.llamaindex.ai/en/stable/api_reference/node_ parsers/semantic_splitter/,》
某些方法旨在确定查询所需的细节水平,并基于此识别,选择适当粒度的文本块进行检索,例如:《Raptor: Recursive abstractive processing for tree-organized retrieval》、《Mix-of-granularity: Optimize the chunking granularity for retrieval-augmented generation》。
或者,有些方法选择处理并完善文本,将其细分为保持高度信息完整性的更小段落,例如:
《Dense x retrieval: What retrieval granularity should we use?》。
此外,还有一些方法采用视觉模型根据原始文档结构分割文本,例如:
《Financial report chunking for effective retrieval augmented generation》。
本文主要介绍了关于RAG数据处理增强的一个内容,包括多模态文档解析和块划分优化的策略,和MemFree。更进一步的思路,可以看具体的论文方案。