这两天Github上有一个项目火了。可用于生产环境GraphRAG的开源UI项目kotaemon,更新不到两天后已经有6.6KStar,昨日新增1.3KStar已位居Github Trending榜首。周末抽空部署了一下,还挺简单,推荐给大家。
可能大家用了一段时间GraphRAG感觉还不错。但很多读者反应,不好部署,也不知该怎么用,那么这个UI界面的GraphRAG或许可以解决这些个问题。我还是用上篇文章介绍的论文作为示例为大家讲解如何部署和设置:
Kotaemon的用户界面设计简洁实用,支持多用户登录,使团队能够在私人或公共集合中组织文件并协作查询文档。UI基于Gradio构建,为开发者提供了添加或修改UI元素的灵活性,以满足特定需求。
图片由修猫创作
Kotaemon的一大亮点在于其处理多模态查询的能力。它支持解析带有图表和表格的文档,适用于多种数据类型。系统能够在多个文档中执行问答(QA),即使是复杂的查询也能提供全面的响应。
Kotaemon包括先进的引用功能,用户可以在浏览器内的PDF查看器中查看详细的引用信息,并附有高亮显示和相关性评分。这一功能对于需要验证来源的领域尤为重要。
Kotaemon允许开发者通过UI直接调整检索和生成过程的关键参数。这包括自定义提示词、选择文档存储和向量存储,以及启用或禁用多模态QA。这些配置让开发者能够根据特定应用需求定制系统。
这个GraphRAG UI有两个版本,一个是APP版,一个是main版。无论你用的是Win还是Mac,在最新的releases中可一键部署APP版,双击鼠标那种;我用的是开发者main版,解压源文件自带Dockerfile文件,部署在Docker中,也很简单。一行命令即可:
Kotaemon提供了两种主要的安装方法:使用Docker或双击bat文件(Win)或.sh文件(Linux、Mac)启动。对于大多数用户,推荐使用Docker,因为它简化了依赖管理,并确保了跨系统的一致性环境,会节省你大量时间。
通过Docker,开发者可以根据自己需要快速部署Kotaemon,docker run你部署的镜像,或者docker compose up一个写好的启动yaml文件即可在本地运行服务器。这种方法简化了依赖管理,确保了跨系统的一致性环境。
对于那些更喜欢掌控环境的开发者,Kotaemon也可以在Python环境中手动设置。这需要克隆代码库,安装必要的包,并配置环境变量.env文件,如LLM提供商的API密钥。
第一次启动本地7860端口可能需要点时间,页面报错你稍等一下。当你启动以后,你应该可以看到如下界面,直接填如两个admin即可。
从上面的界面进来以后,以下是您需要依次进行设置的顺序:
设置完Setting这一步,还需要根据自己的需求对Reasoning setting中的各种Prompt进行定义,这就看你喜好了。之后,就可以去第3步,上传PDF文件进行index了,最后一步第4步,才是在首页Chat。经过您精心调整参数,相信您也一定可以看到如下项目首页类似的结果。
Kotaemon的一大优势在于其可扩展性。开发者可以修改默认的RAG管道,或通过Python实现自定义逻辑创建全新的管道。这种灵活性允许为特定用例集成定制化的检索和推理方法。Kotaemon用到一个高级的RAG管道haystack,这是一个上千家大型企业在工业生产环境中应用的高级RAG产品,很多一线AI厂商也都在用,之后有机会我会为大家介绍,在此mark一下。
Kotaemon包含一个基于图形的索引管道的示例实现,开发者可以自定义或替换为其他索引策略。对于处理大型、复杂文档库的开发者来说,这一功能尤为重要。
由于其基于Gradio的架构,Kotaemon的UI高度可定制。开发者可以根据需要添加新组件、调整布局,并集成额外功能。这一功能对于创造符合特定应用需求的用户体验至关重要。这个UI定制我还在探索中。
Kotaemon非常适合企业应用,在这些应用中,管理和查询大型文档库是常见需求。其多用户支持、先进的引用功能和可配置的检索设置,使其成为法律、金融和医疗等行业的理想工具。
对于研究人员和学术机构而言,Kotaemon提供了一个强大的平台,用于探索大型数据集和进行文献综述。其处理复杂、多跳查询和提供详细引用的能力,确保了响应的准确性和可追溯性。
AI开发者可以利用Kotaemon作为基础,创建定制的RAG管道。无论是开发客户支持聊天机器人,还是构建技术文档分析工具,Kotaemon都提供了适应各种用例的灵活性。
文章来自于微信公众号 “AI修猫Prompt”,作者“AI修猫Prompt”
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0