简介
LLMFlows 是一个用来构建简单、显式、透明的大型语言模型(LLM)应用框架,比如聊天机器人、问答系统和智能代理。通过提供简洁的抽象接口,开发者可以轻松利用大型语言模型和向量存储构建结构良好且没有隐藏提示的应用程序,确保每个组件的完全透明,方便监控、维护和调试。
安装指南
用户可以通过简单的命令来安装 LLMFlows:
pip install llmflows
哲学与设计原则
简单
LLMFlows 致力于创建一个简单且有良好文档支持的框架,界面简洁,用户无需在功能与能力之间妥协,即可构建灵活的应用程序。
显式
框架提供清晰的 API,使用户能够编写干净且可读性强的代码。这些 API 支持轻松创建复杂的 LLM 交互流程,让每一步都在用户掌控中,没有隐藏的提示或请求。
透明
通过提供可追踪的流程和对每个应用组件的完整信息,LLMFlows 帮助用户在自家的应用中实现完全透明,从而简化了监控、维护和调试的工作。
实时演示
LLMFlows 的一个示例应用 LLM-99,可以用通俗的术语解释超导体。此应用使用了 LLMFlows 以及 FastAPI,并利用 Pinecone 存储从维基百科文章中提取的文档嵌入。用户可以通过以下链接查看该应用的源代码:示例文件夹。
快速开始
大型语言模型 (LLMs)
LLMs 是 LLMFlows 中的主要抽象之一。其类封装了诸如 OpenAI 的 API,提供配置和调用这些 API 的方法,支持失败重试及响应格式化。
提示模板 (PromptTemplates)
PromptTemplate 类允许创建包含变量的字符串,这些变量可在后续填写。
聊天 LLMs
聊天 LLM 与常规 LLM 不同,需要会话历史记录,通过 MessageHistory 类进行管理。
LLM 流程
在构建复杂应用时,可使用 Flow 和 FlowStep 类,这些类会处理复杂的依赖关系,确保各步骤按顺序执行。
异步流程
在满足所有依赖时,允许并行执行多个步骤,从而优化复杂流程的运行时间。
功能
LLMs
- 能够生成自然语言文本,支持配置、自动重试和自定义设置。
提示模板
- 能灵活地定义变量,以生成适合不同输入的文本。
流程与流程步骤
- 使用清晰有条理的框架来结构化 LLM 应用。
向量存储集成
- 支持与像 Pinecone 这样的向量数据库集成,可高效存储和检索向量嵌入。
回调
- 在流程步骤中执行回调函数,实现更高的自定义和监控。
完全显式 API 和透明度
LLMFlows 允许回答有关应用执行的诸多问题,如步骤运行时间、输入输出等,确保应用无任何隐藏行为。
用户指南
用户可以通过阅读 文档 了解更多关于 LLMFlows 的使用细节,其中包括异步流程、向量存储与应用、功能性流程步骤、回调等。
贡献与反馈
感谢阅读本文档!如果您对项目感兴趣,请考虑为项目点赞、分享或者提出反馈。如果您有想法或者贡献意向,请查阅 贡献指南。