原贴链接

我想知道是否有任何编写良好的用于LLM用例的Python包。我的基本要求是:

  • 没有意大利面条代码(例如langchain,llama index)
  • 没有依赖项超过1000的包

请告诉我你是否知道一些,我现在基本上都是自己编写所有内容,但如果能自动化其中的一部分,那就太好了。

讨论总结

本次讨论主要围绕寻找高质量、低依赖的Python库以支持大型语言模型(LLM)应用展开。发帖者表达了对现有库(如langchain和llama index)的不满,主要因为这些库代码结构混乱且依赖项过多。讨论中,多位评论者推荐了多个库,如litellm.ai、db-ally、DSPy等,并强调了这些库在连接LLM提供商、统一API、负载均衡等方面的优势。此外,讨论还涉及自定义实现的重要性,特别是在错误处理、调试和系统设计方面。总体上,讨论氛围偏向实用和技术性,参与者们分享了各自的见解和经验,提供了丰富的信息和建议。

主要观点

  1. 👍 推荐使用litellm.ai作为LLM的Python库
    • 支持理由:该库能够连接到任何LLM提供商,并统一API,负载均衡和代理功能也很出色。
    • 反对声音:无明显反对声音。
  2. 🔥 自定义实现虽然在初期可能更耗时,但在长期使用和维护中更为灵活和高效
    • 正方观点:自定义实现可以更好地处理错误和调试,系统设计更清晰。
    • 反方观点:无明显反对声音。
  3. 💡 推荐使用DSPy库,使用体验与其他函数无异,并提供了自动优化提示的工具
    • 解释:DSPy被认为是一个优秀的LLM库,能够满足自动化需求,且代码质量高。
  4. 👍 寻找代码结构清晰、依赖项少的库
    • 支持理由:现有库如langchain和llama index代码混乱且依赖过多,影响开发效率。
    • 反对声音:无明显反对声音。
  5. 🔥 推荐使用db-ally库,用于查询结构化数据源
    • 正方观点:该库文档清晰,功能强大,适合LLM应用。
    • 反方观点:无明显反对声音。

金句与有趣评论

  1. “😂 Loud_Picture_1877:https://www.litellm.ai/ is amazing! Connects to any LLM provider, transforms input parameters & unifies the API.”
    • 亮点:简洁明了地介绍了litellm.ai的核心功能,获得了广泛认可。
  2. “🤔 m98789:After going down the rabbit hole of LLM abstraction layer libs, with plenty of scar tissue now, I finally have come to the conclusion it’s best to implement our own layer.”
    • 亮点:生动地描述了探索LLM库的艰辛历程,强调了自定义实现的重要性。
  3. “👀 rebleed:DSPy, hands down. It makes using LLMs no different than using any other function, and then gives you the tools to automatically optimize your prompts.”
    • 亮点:高度评价DSPy库,认为其使用体验极佳,且功能强大。
  4. “😂 Downtown-Case-1755:I find its better to use more targeted projects, like (for instance) SGLang for fast structured output.”
    • 亮点:提出了使用更专注项目的建议,强调了结构化输出的重要性。
  5. “🤔 FailSpai:End of the day, nothing will beat a hand-crafted pipeline.”
    • 亮点:强调了手工制作管道在LLM应用中的优势,提供了深刻的见解。

情感分析

讨论的总体情感倾向偏向实用和技术性,参与者们对现有库的质量表示不满,特别是代码结构和依赖数量方面。多数评论者推荐了多个库,并强调了自定义实现的重要性。讨论中没有明显的负面情绪,参与者们积极分享见解和经验,提供了丰富的信息和建议。

趋势与预测

  • 新兴话题:自定义实现和高质量、低依赖的Python库将继续受到关注。
  • 潜在影响:随着LLM应用的普及,对高质量、低依赖的Python库的需求将增加,推动相关工具的发展和优化。

详细内容:

标题:寻找优质 LLM 库的热门讨论

在 Reddit 上,一篇题为“Any good LLM libraries?”的帖子引起了广泛关注。该帖主表示正在寻找满足特定要求的 Python 语言的 LLM 库,要求没有混乱代码且依赖项较少,并希望能实现一些自动化操作。此帖获得了众多回复和大量讨论。

讨论焦点与观点分析:

有人推荐了https://www.litellm.ai/,称其连接任何 LLM 提供者,能转换输入参数并统一 API,负载均衡和代理功能也很棒。有人觉得这个库的文档看起来有点混乱,但可能会改进,有潜力。还有人提到了自己的项目https://github.com/deepsense-ai/db-ally,用于通过 LLM 查询结构化数据源。

有人推荐了 Burr、Instructor、Outlines、vLLM、Inspect 等。

有用户表示在研究了众多 LLM 抽象层库后,认为最好自己实现一层,主要原因在于错误处理和调试。当出现问题时,这些抽象库可能会带来很大困扰,其好处可能抵不上成本。

有人推荐了 GoLLM 这个 Go 语言库,认为其很有前景。

有人提到https://llm.datasette.io,称其较为简单。

还有人推荐了 PyLLM、deeplake 等。

有用户称自己正在开发 promptmage,这是一个有助于 LLM 应用管理和开发的 Python 库。

对于各种推荐,有人表示还需要根据具体需求进一步筛选和评估。

在这场讨论中,大家对于不同 LLM 库的优缺点进行了深入分析,对于如何选择适合自己需求的库各抒己见。有人强调根据具体的使用场景和需求来选择,比如是否需要结构化输出、API 速率限制重试、RAG、代理等功能。有人则建议尽量避免过于依赖特定的 LLM 框架,使用更通用的工具。

总的来说,这场关于 LLM 库的讨论为寻找合适库的开发者提供了丰富的参考和思考方向。