Skip to content

ambi-pipelines:可选执行策略 ​

ambi-pipelines 将高阶认知策略放在 Ambi 小型核心之外。在 Ambi 0.4.1 仓库中,其源码版本为 0.1.1。这些 Pipeline 实现统一 Pipeline 接口,但不是任意可嵌套的图节点。

toml
[dependencies]
ambi = "0.4.1"
ambi-pipelines = "0.1.1"

如果 Registry 未发布匹配版本,可以使用同一 Workspace 的 path 依赖。

内置策略 ​

Pipeline执行方式需要注意
StandardRagPipeline检索、打包文档,写入动态上下文,再交给内部 ChatRunner会修改 Session 的动态上下文
SelfConsistencyPipeline多分支执行并聚合答案暂不支持流式接口
BfsBeamSearchPipeline扩展、评估与筛选思考分支需开发者提供 Expander / Evaluator
ReflexionPipelineActor/Evaluator 循环,利用 KV Provider 记录评语暂不支持流式接口

示例:RAG Pipeline ​

rust
use ambi::agent::pipeline::Pipeline;
use ambi_pipelines::rag::StandardRagPipeline;

// my_retriever 实现 ambi_pipelines::rag::Retriever。
let pipeline = StandardRagPipeline::create(my_retriever)
    .max_context_tokens(4096)
    .concurrency(3);

let answer = pipeline.execute(&agent, &state, input_parts).await?;

Retriever、Document 属于 ambi-pipelines,不是核心 ambi。RAG 会把检索片段注入 AgentState.dynamic_context,再交给内部 ChatRunner;应用应处理上下文新鲜度与共享 State 的并发问题。

为什么放在独立 Crate ​

Ambi 提供执行基础,应用选择认知策略。内置用例不应把完整思维框架强制加到只想使用小型 ReAct 循环或自定义 Pipeline 的开发者身上。

Leaf 的范围: 0.4.1 Leaf 只能显式挂载到 ChatRunner;这些扩展可能内部创建 ChatRunner::default(),即使编译了 Cargo Feature,默认仍无 Leaf。参见 Leaf 与 自定义 Pipeline。

基于 Apache-2.0 协议开源