LiteFlow LiteFlow
首页
  • v2.16.3 (当前版本)
  • What's New

    • What' s New In LiteFlow v2.16.2?
    • What' s New In LiteFlow v2.16.1?
    • What' s New In LiteFlow v2.16.0?
  • 历史版本

    • v2.15.X
    • v2.13.X
    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 2.16.2 Agent 升级说明
    • 2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
AI Agent
AI Skill
IDEA 插件
  • 答疑解惑

    • 常见问题
    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念?
  • 项目与社区

    • 项目介绍
    • 项目成员
    • 更新记录
    • 参与开发
    • 加入群聊
    • 谁在使用
赞助
GitHub (opens new window)

广告采用随机轮播方式显示 ❤️成为赞助商
首页
  • v2.16.3 (当前版本)
  • What's New

    • What' s New In LiteFlow v2.16.2?
    • What' s New In LiteFlow v2.16.1?
    • What' s New In LiteFlow v2.16.0?
  • 历史版本

    • v2.15.X
    • v2.13.X
    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 2.16.2 Agent 升级说明
    • 2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
AI Agent
AI Skill
IDEA 插件
  • 答疑解惑

    • 常见问题
    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念?
  • 项目与社区

    • 项目介绍
    • 项目成员
    • 更新记录
    • 参与开发
    • 加入群聊
    • 谁在使用
赞助
GitHub (opens new window)
  • 🤖 LiteFlow Agent 简介
  • 快速开始

    • 📦 引入依赖
    • ⚙️ 基本配置
    • 🧩 编写 Agent 组件
    • 📤 获取 Agent 结果
    • 🌊 流式输出
  • 🎬 演示项目
  • 🏪 模型配置
    • 更换模型平台
    • 接入自建模型服务
    • 模型参数
    • Jev 决策模型
  • 📐 结构化输出
  • Jev 智能选择组件

    • Jev 模型与模块介绍
    • 依赖与配置
    • 编写选择组件
    • 置信度与异常处理
    • 客服演示与测试
  • Jev 布尔判断组件

    • Noul 与布尔判断组件
    • 编写布尔组件
  • 会话与记忆

    • 💬 会话标识
    • 🧠 会话存储
    • 🔄 多轮对话
    • 🗂️ 聊天历史
    • 📝 长对话与长期记忆
  • 工作空间与工具

    • 📂 工作区与执行环境
    • 📄 文件工具与产物
    • 🐚 Shell 工具
    • 🐳 Docker 沙箱
    • 🔧 Java 业务工具
    • 🔌 MCP 工具
  • 🎯 Skills 技能系统
  • 高级编排

    • 🔀 条件路由与并行调用
    • 🤝 多 Agent 协作
    • 🙋 工具调用前人工确认
    • 🧭 子代理与计划
    • 🌐 远程 A2A 调用
  • 运行机制与可观测

    • 🔁 迭代次数与超时
    • 📋 执行日志与事件
    • 🪝 中间件扩展
  • 📖 扩展点速查
  • ⚡ 配置速查
  • 🛡️ 执行与访问边界
  • 🔍 故障排查
  • ⬆️ 升级到 2.16.2
  • AI Agent编排
铂赛东
2026-09-19
目录

🏪 模型配置

# 更换模型平台

本页介绍 HarnessAgentComponent 使用的生成式模型。需要让 AI 从候选 ID 中选择流程分支时,使用独立的 Jev 智能选择组件,其配置入口是 liteflow.agent.jev.*。

修改组件的 model(),引入对应模块,再配置凭证即可。下表的配置前缀均需加 liteflow.agent.;模块版本与 LiteFlow 一致。

平台 model() 返回值 模块 凭证前缀
DeepSeek DeepSeek.of("deepseek-flash") liteflow-agent-openai openai-compatible.deepseek
OpenAI OpenAI.of(modelName) liteflow-agent-openai openai
Kimi Kimi.of(modelName) liteflow-agent-openai openai-compatible.kimi
GLM GLM.of(modelName) liteflow-agent-openai openai-compatible.glm
MiniMax Minimax.of(modelName) liteflow-agent-openai openai-compatible.minimax
Anthropic Anthropic.of(modelName) liteflow-agent-anthropic anthropic
Gemini Gemini.of(modelName) liteflow-agent-gemini gemini
DashScope DashScope.of(modelName) liteflow-agent-dashscope dashscope

例如使用 Gemini 时,配置 liteflow.agent.gemini.api-key。modelName 填该服务实际提供的模型 ID。入口类在 com.yomahub.liteflow.agent.openai、.anthropic、.gemini、.dashscope 包中。

每个平台都可配置 api-key、base-url。内置平台的地址可以不填;代码中的 .apiKey(...)、.baseUrl(...) 优先于配置文件。通常把凭证放在配置中,组件只选择模型即可。

# 接入自建模型服务

OpenAI 兼容服务使用一个自定义名称,例如 gateway:

liteflow.agent.openai-compatible.gateway.api-key=${MODEL_API_KEY}
liteflow.agent.openai-compatible.gateway.base-url=${MODEL_BASE_URL}
@Override
protected ModelSpec<?> model() {
    return OpenAICompatible.custom("gateway", "your-deployment-name")
            .stream(true);
}

代码中的 gateway 与配置名称一致,API Key 和基础地址都需提供。Anthropic 兼容服务使用 AnthropicCompatible.custom(...),配置前缀改为 anthropic-compatible.gateway。

模型参数通常使用默认值。需要限制输出长度时,可在 Spec 上设置 .maxTokens(...);自建模型应通过 .contextWindow(...) 提供真实的上下文 Token 上限,帮助框架正确压缩长对话。具体参数需模型服务支持。

# 模型参数

通常只需在 model() 中选择模型并开启流式。采样参数先沿用服务默认值,额外参数应以目标模型支持范围为准。

方法 用途
stream(boolean) 请求模型流式响应,配合事件监听使用
maxTokens(int)/maxCompletionTokens(int) 输出 Token 预算,按模型支持情况选择
contextWindow(int) 真实上下文容量,必须为正
temperature(double)、topP(double)、topK(int)、seed(long) 采样设置,一般沿用默认值
additionalHeader(...)、additionalBodyParam(...)、additionalQueryParam(...) 平台额外请求参数
generateOptions(...) AgentScope 原生生成参数;同名生成参数优先于普通链式设置
executionConfig(...) 模型请求超时与重试

模型容量目录用于自动识别上下文上限,默认缓存到 ~/.liteflow/model-catalog。可通过 JVM 参数 -Dliteflow.agent.model-catalog.cache-dir=/srv/liteflow/model-catalog 改目录,该参数不通过 Spring Boot 属性绑定。离线环境或自建模型建议显式设置 contextWindow(...)。

需要返回 Java 对象时,见结构化输出。

# Jev 决策模型

Jev 是 TypeSafe 提供的结构化决策模型。liteflow-agent-jev 使用它的 Choice 能力,把客户意图等语义判断转换成 LiteFlow 的选择分支。

liteflow:
  agent:
    jev:
      provider: typesafe
      api-key: ${JEV_API_KEY}
      timeout: 3s
      min-confidence: 0.6

provider 默认为 typesafe,也支持 openrouter 和 laya。切换为 openrouter 后,api-key 填 OpenRouter 的凭据;省略 base-url 和 model 时,默认使用 https://openrouter.ai/api/alpha 与 typesafe/jev-1.13,请求 /decisions。切换为 laya 后指向本地自托管的 laya-serve(pip install "laya[serve]" 后运行,默认 http://127.0.0.1:8000),模型在本地运行,api-key 可留空,默认 model 为 auto,由其路由器按语言选择 checkpoint。显式填写的地址和模型不会随 provider 切换而重置,完整对照见 Jev 依赖与配置。

Jev 组件继承 JevSwitchComponent,必须实现 state()、instructions() 和 choices()。本次用户问题及相关业务上下文由 state() 提供,判断任务与规则由 instructions() 定义,可选分支及其适用边界由 choices() 声明。方法区别与完整示例见编写 Jev 选择组件。

它不使用本页的 model()/ModelSpec 接口,也不配置到 openai-compatible 中。参数说明见 Jev 依赖与配置,可运行页面见客服演示与测试。

帮助我们改善此文档 (opens new window)
上次更新: 2026/09/21, 16:34:59
🎬 演示项目
📐 结构化输出

← 🎬 演示项目 📐 结构化输出→

Theme by Vdoing | Copyright © 2020-2026 铂赛东 | MIT License
沪ICP备18012955号-2