API参考#

欢迎来到AdalFlow。 API参考按子目录组织。

核心#

所有基础/抽象类、核心组件如生成器、嵌入器和基本功能都在这里。

core.component

构建LLM任务管道的基础构建块。

core.container

用于组合多个组件的容器组件,例如 Sequential。

core.base_data_class

一个基类,为数据与LLMs的交互提供了一种简便的方式。

core.default_prompt_template

这是AdalFlow中使用的默认系统提示模板。

core.model_client

ModelClient 是所有模型(无论是通过 API 还是本地模型)与组件通信的协议和基类。

core.db

LocalDB 用于为文档和对话轮次等数据模型执行内存存储和数据持久化(pickle 或任何文件系统)。

core.functional

功能接口。

core.generator

生成器是一个面向用户的编排组件,具有简单且统一的接口,用于LLM预测。

core.string_parser

提取并转换常见字符串为Python对象。

core.embedder

协调模型客户端(特别是嵌入模型)和输出处理器的组件。

core.retriever

所有检索器的基础类,特别是从给定数据库中检索文档的检索器。

core.prompt_builder

用于LightRAG系统提示的类提示构建器。

core.tokenizer

来自 tiktoken 的分词器。

core.func_tool

工具是LLM的扩展能力,是Agent的核心设计模式之一。

core.tool_manager

ToolManager 管理工具列表、上下文以及执行函数的所有方式。

core.types

功能性数据类,用于支持如生成器、检索器和助手等功能组件。

组件#

模型客户端、检索器、代理、本地数据处理和输出解析器等功能组件都在这里。

components.agent.react

React代理的实现和优化。

components.model_client.anthropic_client

Anthropic ModelClient 集成。

components.model_client.cohere_client

Cohere ModelClient 集成。

components.model_client.google_client

Google GenAI 模型客户端集成。

components.model_client.groq_client

Groq ModelClient 集成。

components.model_client.openai_client

OpenAI ModelClient 集成。

components.model_client.transformers_client

Huggingface transformers ModelClient 集成。

components.model_client.utils

用于集成模型和解析输出的模型客户端助手。

components.data_process.data_components

用于数据转换的辅助组件,例如嵌入和文档分割。

components.data_process.text_splitter

文本分割通常用作嵌入和检索文本之前的预处理步骤。

components.retriever.bm25_retriever

BM25 检索器实现。

components.retriever.faiss_retriever

使用FAISS的语义搜索/基于嵌入的检索器。

components.retriever.llm_retriever

LLM作为检索模块。

components.retriever.postgres_retriever

利用Postgres数据库来存储和检索文档。

components.retriever.reranker_retriever

使用modelclient作为检索器的重新排序模型。

components.output_parsers.outputs

生成器最常用的输出解析器。

数据集#

评估#

eval.base

评估指标的抽象基类。

eval.answer_match_acc

这是用于问答生成的指标。

eval.retriever_recall

检索器召回率 @k 指标。

eval.llm_as_judge

这是使用LLM作为评估预测答案性能的指标的度量标准。

eval.g_eval

G-Eval的实现:G-eval <https://arxiv.org/abs/2303.08774, nlpyang/geval> 不是得到1/5作为分数,AdalFlow将使用0.2作为分数,这样我们可以为所有指标获得一个在[0, 1]范围内的分数。

优化#

optim.parameter

参数由优化器、训练器、AdalComponent用于自动优化

optim.optimizer

AdalFlow 优化器的基础类,包括 Optimizer、TextOptimizer 和 DemoOptimizer。

optim.grad_component

Autograd 组件的基础类,可以被调用并通过反向传播。

optim.types

Parameter、Optimizer、AdalComponent 和 Trainer 使用的所有数据类型。

optim.function

optim.few_shot.bootstrap_optimizer

适应并优化的bootstrap fewshot优化器:

optim.text_grad.text_loss_with_eval_fn

改编自text_grad的基于字符串的函数

optim.text_grad.tgd_optimizer

文本梯度优化器和提示。

optim.text_grad.llm_text_loss

TextGrad的实现:通过文本自动“微分”

optim.trainer.trainer

准备用于LLM任务管道的训练器

optim.trainer.adal

AdalComponent 提供了一个接口,用于组合不同的部分,从 eval_fn、train_step、loss_step、优化器、反向引擎、教师生成器等,以便与 Trainer 一起工作。

追踪#

工具#

utils.data

默认数据集,DataLoader类似于PyTorch中的utils.data

utils.logger

此日志文件提供了根日志和命名日志的易配置性,以及用于控制台输出的彩色打印功能。

utils.setup_env([dotenv_path])

从 .env 文件加载环境变量。

utils.lazy_import

懒加载导入模块和类。

utils.serialization

utils.config

配置辅助函数,用于管理配置并重建任务管道。

utils.registry