API参考#
欢迎来到AdalFlow。 API参考按子目录组织。
核心#
所有基础/抽象类、核心组件如生成器、嵌入器和基本功能都在这里。
构建LLM任务管道的基础构建块。 |
|
用于组合多个组件的容器组件,例如 Sequential。 |
|
一个基类,为数据与LLMs的交互提供了一种简便的方式。 |
|
这是AdalFlow中使用的默认系统提示模板。 |
|
ModelClient 是所有模型(无论是通过 API 还是本地模型)与组件通信的协议和基类。 |
|
LocalDB 用于为文档和对话轮次等数据模型执行内存存储和数据持久化(pickle 或任何文件系统)。 |
|
功能接口。 |
|
生成器是一个面向用户的编排组件,具有简单且统一的接口,用于LLM预测。 |
|
提取并转换常见字符串为Python对象。 |
|
协调模型客户端(特别是嵌入模型)和输出处理器的组件。 |
|
所有检索器的基础类,特别是从给定数据库中检索文档的检索器。 |
|
用于LightRAG系统提示的类提示构建器。 |
|
来自 tiktoken 的分词器。 |
|
工具是LLM的扩展能力,是Agent的核心设计模式之一。 |
|
ToolManager 管理工具列表、上下文以及执行函数的所有方式。 |
|
功能性数据类,用于支持如生成器、检索器和助手等功能组件。 |
组件#
模型客户端、检索器、代理、本地数据处理和输出解析器等功能组件都在这里。
React代理的实现和优化。 |
|
Anthropic ModelClient 集成。 |
|
Cohere ModelClient 集成。 |
|
Google GenAI 模型客户端集成。 |
|
Groq ModelClient 集成。 |
|
OpenAI ModelClient 集成。 |
|
Huggingface transformers ModelClient 集成。 |
|
用于集成模型和解析输出的模型客户端助手。 |
|
用于数据转换的辅助组件,例如嵌入和文档分割。 |
|
文本分割通常用作嵌入和检索文本之前的预处理步骤。 |
|
BM25 检索器实现。 |
|
使用FAISS的语义搜索/基于嵌入的检索器。 |
|
LLM作为检索模块。 |
|
利用Postgres数据库来存储和检索文档。 |
|
使用modelclient作为检索器的重新排序模型。 |
|
生成器最常用的输出解析器。 |
数据集#
评估#
评估指标的抽象基类。 |
|
这是用于问答生成的指标。 |
|
检索器召回率 @k 指标。 |
|
这是使用LLM作为评估预测答案性能的指标的度量标准。 |
|
G-Eval的实现:G-eval <https://arxiv.org/abs/2303.08774, nlpyang/geval> 不是得到1/5作为分数,AdalFlow将使用0.2作为分数,这样我们可以为所有指标获得一个在[0, 1]范围内的分数。 |
优化#
参数由优化器、训练器、AdalComponent用于自动优化 |
|
AdalFlow 优化器的基础类,包括 Optimizer、TextOptimizer 和 DemoOptimizer。 |
|
Autograd 组件的基础类,可以被调用并通过反向传播。 |
|
Parameter、Optimizer、AdalComponent 和 Trainer 使用的所有数据类型。 |
|
适应并优化的bootstrap fewshot优化器: |
|
改编自text_grad的基于字符串的函数 |
|
文本梯度优化器和提示。 |
|
TextGrad的实现:通过文本自动“微分” |
|
准备用于LLM任务管道的训练器 |
|
AdalComponent 提供了一个接口,用于组合不同的部分,从 eval_fn、train_step、loss_step、优化器、反向引擎、教师生成器等,以便与 Trainer 一起工作。 |
追踪#
工具#
默认数据集,DataLoader类似于PyTorch中的utils.data。 |
|
此日志文件提供了根日志和命名日志的易配置性,以及用于控制台输出的彩色打印功能。 |
|
|
从 .env 文件加载环境变量。 |
懒加载导入模块和类。 |
|
配置辅助函数,用于管理配置并重建任务管道。 |
|