每日 GitHub 探索|探索 GitHub 上 8 个主流仓库,解锁软件开发新技能

文摘   2024-11-16 08:37   广东  

这是一份 GitHub 上 8 个流行仓库的精选清单,涵盖从 SQLite 分支到开发者门户构建框架等各种主题。通过深入了解这些项目,您可以提升您的软件开发技能和知识。

1.libSQL:一个社区驱动的SQLite分支

🏷️仓库名称:tursodatabase/libsql
🌟截止发稿星数: 10934 (今日新增:172)
🇨🇳仓库语言: C
🤝仓库开源协议:MIT License
🔗仓库地址:https://github.com/tursodatabase/libsql

引言

介绍libSQL,一个开源、开放贡献的SQLite分支,旨在扩展SQLite的功能并增加社区参与。

项目作用

  • 扩展了ALTER TABLE以修改列类型和约束。

  • 引入了随机ROWID。

  • 实现了WebAssembly用户定义函数。

  • 将SQL字符串传递给虚拟表实现。

仓库描述

libSQL是由Turso创建和维护的,拥有清晰的愿景和规范的行为准则。

使用建议

  • 探索libSQL丰富的文档以了解详细信息。

  • 使用官方驱动程序(TypeScript/JS、Rust、Go)或社区驱动程序(PHP、D)与应用程序集成。

  • 利用GUI支持工具简化数据库管理。

结论

libSQL是一个充满活力的SQLite分支,通过社区贡献和创新,为现代应用程序和嵌入式系统提供了一个强大的数据库解决方案。

2.mkcert:本地可信开发证书的简单工具

🏷️仓库名称:FiloSottile/mkcert
🌟截止发稿星数: 49947 (今日新增:158)
🇨🇳仓库语言: Go
🤝仓库开源协议:BSD 3-Clause "New" or "Revised" License
🔗仓库地址:https://github.com/FiloSottile/mkcert

引言

mkcert 作为一个简单却强大的工具,可以轻松创建本地可信的开发证书,让开发过程更加安全、便捷。

项目作用

mkcert 使用Go语言编写,通过命令行界面进行交互。它利用系统提供的证书管理工具,如update-ca-trustupdate-ca-certificates,在本地安装可信CA。

仓库描述

mkcert是一个开源项目,托管在GitHub上。它提供了一个简单的命令行界面,用于生成、安装和管理本地开发证书。

案例

在开发过程中,使用mkcert可以轻松创建用于HTTPS连接的本地开发证书。这避免了使用自签名证书所带来的安全警告和信任问题。

客观评测或分析

mkcert相较于其他本地证书生成工具,优势在于:

  • 安装和使用简单,无需复杂的配置

  • 自动生成本地可信的CA,省去手动管理的麻烦

  • 支持多平台,如macOS、Windows、Linux

  • 提供丰富的选项,如生成客户端证书、PKCS#12文件等

使用建议

为了充分利用mkcert,建议遵循以下步骤:

  • 安装mkcert工具

  • 创建一个本地证书颁发机构(CA)

  • 生成特定于域名的开发证书

  • 配置服务器或应用程序以使用这些证书

结论

mkcert是一个出色的工具,可以为本地开发提供安全、可信的证书。它的简单性和灵活性使其成为开发人员和安全工程师的宝贵工具。它不断更新和维护,确保支持最新的平台和功能。

3.Backstage:开放式开发者门户构建框架

🏷️仓库名称:backstage/backstage
🌟截止发稿星数: 28310 (今日新增:21)
🇨🇳仓库语言: TypeScript
🤝仓库开源协议:Apache License 2.0
🔗仓库地址:https://github.com/backstage/backstage

引言

Backstage是一款开放框架,用于构建开发者门户。它通过集中式的软件目录,将您的微服务和基础设施恢复到井然有序的状态,并使您的产品团队能够快速交付高质量代码,同时不影响自主性。

仓库描述

Backstage由Spotify创建,但现在由云原生计算基金会(CNCF)作为孵化级别项目托管。

客观评测或分析

统一所有基础设施工具、服务和文档,创建简化的端到端开发环境,改善团队沟通和协作,提高开发人员工作效率和生产力。

使用建议

开发者门户构建,微服务管理,文档管理,团队协作

结论

Backstage 是一个功能强大且灵活的框架,用于构建满足组织特定需求的定制化开发者门户。它通过集中化和简化软件开发流程,为团队提供了显著的好处。

4.windmill - 开发者平台,助力企业基础设施

🏷️仓库名称:windmill-labs/windmill
🌟截止发稿星数: 10543 (今日新增:145)
🇨🇳仓库语言: HTML
🤝仓库开源协议:Other
🔗仓库地址:https://github.com/windmill-labs/windmill

引言

本文将深入探讨开源开发者平台 windmill,介绍其作用、功能和优势。

项目作用

windmill 使用脚本作为基础,用户可以使用 python、typescript、go、bash、sql 和 graphql 等语言编写脚本。这些脚本可以自动转换为共享用户界面,并可以组合成流程或用于构建更丰富的低代码应用程序。

仓库描述

windmill 采用 agplv3 许可证,windmill labs 提供专门实例、商业支持和许可证。

案例

windmill 可用于构建各种内部工具,例如:

  • 仪表盘和报告

  • 自动化工作流

  • 数据集成

  • 管理门户

客观评测或分析

windmill 的主要优点包括:

  • 开源且可自托管

  • 快速且高性能的工作流引擎

  • 易于使用,使用基于脚本的简单方法

  • 支持多种脚本语言

  • 提供可扩展且安全的架构

使用建议

windmill 适用于需要构建内部工具和自动化工作流程的企业和开发人员。它特别适合希望利用低代码开发优势和构建自定义应用程序的公司。

结论

windmill 是一个功能强大的开发者平台,为企业提供了构建和管理内部工具的全面解决方案。其开源性质、易用性和高性能使其成为需要可靠且可扩展的开发基础设施的组织的理想选择。

5.Milvus:高性能向量数据库,适用于下一代 AI 应用程序

🏷️仓库名称:milvus-io/milvus
🌟截止发稿星数: 30551 (今日新增:67)
🇨🇳仓库语言: Go
🤝仓库开源协议:Apache License 2.0
🔗仓库地址:https://github.com/milvus-io/milvus

引言

Milvus 是一款高性能向量数据库,旨在进行大规模缩放。它被 AI 应用程序用于组织和搜索大量的非结构化数据,例如文本、图像和多模式信息。

项目作用

尝试 Milvus 的最简单方法是使用 Zilliz Cloud(免费试用)。Milvus 可作为 Zilliz Cloud 上的全托管服务,提供无服务器、专用和 BYOC 选项。Milvus 开源项目受 LF AI 和数据基金会管理,并以 Apache 2.0 许可证分发。

仓库描述

[pymilvus],用于 Milvus 的 Python SDK。使用 MilvusClient 创建客户端:

  • pymilvus 还包括 Milvus Lite,用于快速启动。要创建本地向量数据库,只需实例化一个客户端,并使用一个本地文件名来持久化数据:

  • 您还可以指定凭据以连接到您部署的 [Milvus 服务器] 或 [Zilliz Cloud]:

    使用客户端,您可以创建集合:

    提取数据:

    执行向量搜索:

案例

Milvus 专为大规模处理向量搜索而设计。用户可以将向量(非结构化数据的数字表示)与其他标量数据类型(例如整数、字符串和 JSON 对象)一起存储,以使用元数据过滤或混合搜索进行高效的向量搜索。以下是用户选择 Milvus 作为向量数据库的原因:

高性能、高可用性和高扩展性Milvus 具有分离计算和存储的分布式架构。Milvus 可以水平扩展并适应不同的流量模式,通过独立增加查询节点以处理读密集型工作负载和数据节点以处理写密集型工作负载来实现最佳性能。K8s 上的无状态微服务允许从故障中快速恢复,确保高可用性。对副本的支持通过在多个查询节点上加载数据段进一步增强了容错能力和吞吐量。有关性能比较,请参见 [基准]。

支持各种向量索引类型和硬件加速Milvus 将系统和核心向量搜索引擎分离开来,使其能够支持针对不同场景进行优化的大多数主要向量索引类型,包括 HNSW、IVF、FLAT(暴力)、SCANN 和 DiskANN,并具有基于量化的变体和 mmap。Milvus 针对高级功能优化向量搜索,例如元数据过滤和范围搜索。此外,Milvus 实施硬件加速以增强向量搜索性能,并支持 GPU 索引,例如 NVIDIA 的 CAGRA。

灵活的多租户和冷热存储Milvus 支持多租户,并为在检索增强生成 (RAG) 等 AI 应用程序中组织数据提供了灵活的策略。通过使用数据库、集合、分区和分区键,Milvus 可以在单个实例中处理数百到数百万租户。这有助于企业在处理大量租户时节省资源,确保数据隔离、优化的搜索性能和灵活的访问控制。融合冷热数据存储进一步提高了成本效率和性能。用户可以配置在内存或 SSD 上存储频繁访问的热点数据以提高性能,同时将访问频率较低的数据保留在具有成本效益的、速度较慢的存储中。这种分离优化了资源分配,降低了成本,并为关键任务保持了高性能。通过将灵活的多租户与冷热存储相结合,Milvus 帮助企业扩展、优化资源并有效管理数据,从而显着节省成本,同时保持高性能。

稀疏向量用于全文搜索和混合搜索Milvus 使用稀疏向量支持全文搜索。用户可以在同一集合中组合稀疏向量和稠密向量,并定义函数来重新排列来自多个搜索请求的结果。有关详细信息,请参见 [混合搜索]。

数据安全和细粒度访问控制Milvus 通过实施强制用户身份验证、TLS 加密和基于角色的访问控制 (RBAC) 来确保数据安全。用户身份验证确保只有拥有有效凭据的授权用户才能访问数据库,而 TLS 加密保护网络内的所有通信。此外,RBAC 允许通过根据用户的角色分配特定权限来实现细粒度访问控制。这些功能使 Milvus 成为企业应用程序的可靠且安全的选择,可保护敏感数据免受未经授权的访问和潜在的泄露。

客观评测或分析

Milvus 获得 AI 开发人员的信赖,用于构建文本和图像搜索、检索增强生成 (RAG) 和推荐系统等应用程序。Milvus 为初创企业和企业提供了许多关键业务。

使用建议

以下是一些演示和教程,展示如何使用 Milvus 构建各种类型的 AI 应用程序:

生态系统和集成:Milvus 与一套全面的 AI 开发工具集成,例如 LangChain、LlamaIndex、OpenAI 和 HuggingFace,使其成为 GenAI 应用程序(例如检索增强生成 (RAG))的理想向量存储。Milvus 与开源嵌入模型和嵌入服务配合使用,包括文本、图像和视频模式。Milvus 还提供了一个方便的工具 pymilvus[model],用户可以使用简单的包装代码将非结构化数据转换为向量嵌入,并使用重新排序模型来优化搜索结果。Milvus 生态系统还包括用于基于 GUI 的管理的 Att、用于系统调试的 Birdwatcher、用于监控的 Prometheus/Grafana、用于数据同步的 Milvus CDC、用于数据迁移和数据连接器的 VTS,用于 Spark、Kafka、Fivetran 和 Airbyte 构建搜索管道。有关更多详细信息,请访问 https://milvus.io/docs/integrations_overview.md。

结论

有关安装、使用、部署和管理的指南,请访问 [Milvus 文档]。有关技术里程碑和改进建议,请访问 [GitHub 上的问题]。

Milvus 开源项目接受所有人的贡献。有关提交补丁和开发工作流程的详细信息,请参见 [贡献指南]。访问我们的 [社区存储库] 以了解项目治理并访问更多社区资源。

6.Ragas:提升 LLM 应用评估质量

🏷️仓库名称:explodinggradients/ragas
🌟截止发稿星数: 7219 (今日新增:12)
🇨🇳仓库语言: Python
🤝仓库开源协议:Apache License 2.0
🔗仓库地址:https://github.com/explodinggradients/ragas

引言

Ragas 是一款面向大型语言模型 (LLM) 应用的评估工具包,旨在提升评估质量和使用效率。

项目作用

  • 客观指标:使用 LLM 和传统指标对 LLM 应用进行精确评估。

  • 测试数据生成:自动创建涵盖广泛场景的综合测试数据集。

  • 无缝集成:与 LangChain 等 LLM 框架和主要可观测性工具无缝集成。

  • 反馈循环:利用生产数据持续改进 LLM 应用。

案例

使用 Ragas 评估 LLM 应用。

客观评测或分析

Ragas 可以帮助用户更有效、更客观地评估 LLM 应用,从而提高评估质量。

使用建议

  • 评估 LLM 应用:

  • 使用 LLMContextRecall、Faithfulness、FactualCorrectness 等指标。

  • 集成 LangChain 等 LLM 框架。

  • 生成测试数据集:

  • 控制难度、多样性和复杂性。

  • 获取社区支持:

  • 加入 Ragas Discord 社区。


  • 结论

    Ragas 为 LLM 应用评估和优化提供了强大的工具和支持,帮助用户提高评估效率和质量。

    7.GraphRAG:Azure 上的一键式知识图谱部署

    🏷️仓库名称:Azure-Samples/graphrag-accelerator
    🌟截止发稿星数: 1859 (今日新增:3)
    🇨🇳仓库语言: Python
    🤝仓库开源协议:MIT License
    🔗仓库地址:https://github.com/Azure-Samples/graphrag-accelerator

    引言

    本文将深入介绍 GraphRAG 解决方案加速器,这是一款利用 Azure 托管的 API 端点,通过知识图谱增强 LLM 输出的工具。

    项目作用

    该加速器基于 graphrag python 包,提供 API 端点来触发索引流程并查询知识图谱。

    仓库描述

    该仓库包含部署、开发和使用 GraphRAG 解决方案加速器的详细指南、示例 notebooks 和开发文档。

    使用建议

    • 部署 GraphRAG 解决方案加速器以创建基于 API 的托管知识图谱服务。

    • 使用快速入门 notebook 演示 API 调用,并查看知识图谱如何增强 LLM 输出。

    结论

    GraphRAG 解决方案加速器提供了一种简单的方法,可以在 Azure 上部署和利用基于知识图谱的 LLM 增强服务。请注意,该项目仅供演示目的,不构成 Microsoft 的正式支持产品。

    8.Python迷你项目

    🏷️仓库名称:Python-World/python-mini-projects
    🌟截止发稿星数: 14972 (今日新增:12)
    🇨🇳仓库语言: Python
    🤝仓库开源协议:MIT License
    🔗仓库地址:https://github.com/Python-World/python-mini-projects

    引言

    本仓库收集一系列简单的Python迷你项目,旨在帮助您提高Python技能。

    项目作用

    该仓库包含众多项目,每个项目都专注于特定的任务。项目包括:

    • 文件操作

    • 数据分析

    • 网络爬虫

    • 图像处理

    • 游戏开发

    仓库描述

    本仓库包含简单易用的Python脚本集合,可帮助您提高Python技能和知识。这些脚本涵盖各种Python概念,例如文件处理、数据分析、网络爬取、图像处理和游戏开发。

    案例

    这些项目提供了示例和指导,说明如何使用Python解决实际问题,例如:

    • 从文件中提取数据并进行分析

    • 自动化网页上的任务

    • 创建图像编辑工具

    • 开发简单的游戏

    客观评测或分析

    这些项目得到了Python社区的积极评价,被认为是学习和练习Python的宝贵资源。它们简单易用,涵盖各种主题,非常适合各种技能水平的开发者。

    使用建议

    使用这些项目时,建议:

    • 选择一个与您的技能水平和兴趣相符的项目

    • 仔细阅读文档和样例代码

    • 尝试修改和扩展脚本以适应您的需求

    • 寻求社区的帮助和支持

    结论

    Python迷你项目仓库是学习和实践Python编程技能的宝贵资源。它提供了广泛的项目,涵盖各种主题,有助于提高您的代码能力并增强您的Python知识。

    感谢您的观看!别忘了点赞、收藏和分享哦!❤️ 你的支持是我最大的动力!😊 每天为你带来不一样的开源项目!


诚哥看开源
追踪GitHub热门,月周精选直达。紧随趋势,为您精选每月和每周的顶尖项目。轻松启程,技术探索也能乐趣满满。一起踏上这段充满惊喜的开源之旅吧!🚀
 最新文章