微软开源的处理工具 - markitdown

学习 

微软最近开源了一个名为markitdown的Python工具,能够将多种文件格式(包括PDF、PowerPoint、Word、Excel等)转换为Markdown格式。除了基本转换功能外,markitdown还支持调用大模型处理图像和音视频数据。该工具具有多种应用场景,如非结构化数据转换、提高模型训练效率、复杂文档解析、知识管理和团队协作、数据源集成、在线文档与静态网站构建等。此外,markitdown还支持API集成,可方便地将PDF转Markdown功能集成到内部流程、数据管道或知识管理系统中,实现全自动化处理与持续更新。这是科技前沿的一种重要工具,尤其对于需要大量处理文件和数据的场景非常有用。

fast-graphrag 探索(3)- insert

学习 

摘要:本文介绍了在Python中使用fast-graphrag进行文档插入的流程。首先介绍了state_manager属性及其相关类和实例的作用。然后详细描述了插入文档到GraphRAG时的操作步骤,包括调用state_manager的insert_start方法、读取历史数据、提取实体和关系、过滤重复数据、进行节点和边的插入操作等。文章还提到了使用embedding_service对插入的节点进行编码,生成嵌入向量,并存储在entity_storage中。最后,文章总结了整个插入流程,并预告了下一部分将介绍fast-graphrag的查询部分。

fast-graphrag 探索(2)

学习 

本文探讨了fast-graphrag的源码,重点介绍了GraphRAG类及其与BaseGraphRAG类的关系。文章解释了数据类、泛型、类型提示和依赖注入等概念,通过简单的图类示例说明了使用泛型的好处。文章还详细描述了GraphRAG类的初始化过程,包括配置类、后初始化方法、服务实例化和工作空间管理等方面的内容。最后,文章总结了本篇内容并预告了下篇将研究fast graphrag的insert策略,同时鼓励读者在评论区分享经验和看法。

fast-graphrag 探索(1)

学习 

本文介绍了对fast-graphrag项目的初步探索和实践。首先,通过准备数据阶段,使用模型生成了几个故事作为测试数据。接着,在测试代码阶段,介绍了如何创建GraphRAG实例并插入数据,生成了实体的pkl文件和pklz文件。然后,通过查询验证了实体关系的存储和检索功能。最后,探讨了使用.pkl文件的原因,并简要总结了整个项目的拓展性和前景。

他会是RAG方案的王者吗?

学习 

RAG(Retrieval Augmented Generation)随着大模型的发展受到越来越多的关注。针对大型语言模型(LLMs)存在的知识过时、生成内容不准确、数据安全性问题、响应不可预测性、答案来源非权威性和术语混淆等问题,RAG通过从海量数据源中检索信息来辅助生成答案,有效提高LLM的可靠性和可解释性。最近,RAG技术不断发展,包括GraphRag和fast-graphrag等方案。fast-graphrag号称能全方位多角度优化RAG,但其实际效果需要进一步测试验证。文章提供了测试代码和数据准备步骤。读者可据此体验fast-graphrag的性能,并分享经验和看法。

Lobe-Chat:你的一站式AI聊天解决方案

学习 

文章介绍了开源的高性能聊天机器人框架lobe-chat,它具有语音合成、多模态交互和可扩展的插件系统。支持一键部署私有ChatGPT/LLM Web应用。lobe-chat拥有活跃的社区和丰富的“助理”与插件,可以轻松打造个人AI助手和专业团队。技术特点包括支持OpenAI的gpt-4-vision模型、集成文本到语音和语音到文本技术。用户体验方面,界面简洁友好,支持多平台使用,并提供个性化对话设置和角色配置。文章还介绍了私有化部署、接入模型、chat、发现广场等功能,并分享了关于千帆模型的坑以及代码示例。最后提到lobe-chat丰富的插件和语音交流功能,让用户在本地部署时能够享受高效的信息服务和丰富的交互体验。项目地址在文章中给出。摘要:本文介绍了开源高性能聊天机器人框架lobe-chat,具有多模态交互、插件扩展和社区支持等特点。支持私有化部署和多种模型接入,提供简洁友好的用户界面和丰富的交互体验。

别用 print 调试了,peek 让你轻松掌控代码

学习 

摘要: 本文主要介绍了Python调试工具peek的使用及其优势。文章首先展示了使用传统print进行调试的示例,然后介绍了使用peek进行调试的便利之处。通过peek,可以更方便地查看变量的状态、获取更丰富的调试信息(如行号、时间等),并且可以在配置中禁用输出或更改输出目标。此外,文章还详细解释了peek库中各项配置项的含义和用途。最后,给出了安装和使用peek的步骤。文章关键词:Python,调试工具peek,代码调试,配置项。

Django 这个特性居然等了19年!

学习 

Django 5.2 版本推出支持多列主键(Composite Primary Keys)的特性,使得开发者在处理复杂数据关系时更加便捷。除了这一主要更新,Django 5.2 还引入了一些其他重要更新,如 auth.login 中的 request.user 回退功能被弃用和新增 AlterConstraint 迁移操作。文章详细解释了复合主键的意义和用途,包括唯一性、复杂数据关系处理、查询效率提高和数据完整性维护等方面。同时,文章还介绍了使用场景和优缺点分析,并鼓励开发者升级以体验新功能。摘要:Django 5.2 支持多列主键,简化了复杂数据关系的处理,并引入其他重要更新。复合主键提高了唯一性、查询效率和数据完整性。文章提供了使用场景和优缺点分析,建议开发者升级以充分利用新特性。

为什么要避免将 COUNT 与 0 进行直接比较?

学习 

在数据库操作中,对于处理大型数据表,应避免使用将COUNT(*)与0进行比较的查询方式。这种方法效率低,会计算不必要的记录数量,造成性能下降。更好的解决方案是使用EXISTS表达式进行查询优化。同时,在处理分页数据时,如果仅判断是否可以翻页,无需计算总数,可采用额外加一的偏移策略进行判断,以提高查询效率。养成良好的编程习惯可以避免潜在的性能问题。

用 Taipy 打造你的数据可视化应用:一步步教你创建动态图表!

学习 

摘要: 本文介绍了如何使用Taipy框架,一个专门用于构建数据驱动应用程序的框架,来创建动态图表应用程序。文章详细阐述了安装Taipy的步骤,以及创建第一个动态图表应用程序的整个过程,包括设置项目结构、编写代码和运行应用程序。读者可以通过跟随文章的教程,轻松入门Taipy,并开始数据可视化的旅程。文章还提供了关于如何使用Taipy创建玫瑰花形状和心形图案的示例代码。