Help us shape the future of Go! Take the 2026 Go Developer Survey

llm

module
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2026 License: MIT

README

llm

模型客户端——多模型降级链/任务级预算/成本记账/分阶段模型路由/主备切换 —— oagentkit 模块矩阵 tier 2(集成层,依赖 tier0/tier1 + 重第三方地板)。

go get github.com/oagentkit/llm
包 职责
llm 模型客户端:多模型降级链、任务级预算、成本记账、分阶段路由、主备切换
wrap 调用包装与限流适配
llmtest 模型层契约测试套件

定位

tier 2 — 集成层,依赖 tier0/tier1 + 重第三方地板。

  • 本仓依赖的矩阵内仓:obs、textx。

外部依赖地板

  • github.com/cloudwego/eino
  • github.com/meguminnnnnnnnn/go-openai
  • github.com/cloudwego/eino-ext
  • golang.org/x/time

与 oekit 的关系

本矩阵(oagentkit,Agent/LLM 编排工具链)依赖 oekit(Open Easy Kit,Go 微服务工具链): oekit/pkg / oekit/concurrency / oekit/logx 等。oekit 是另一套独立矩阵,不是子品牌。

开发

go test ./... -race
go vet ./...
gofmt -l .

规范见 AGENTS.md。

License

MIT

  • 降级链的每一跳都必须记录原因(成本/限流/超时/内容策略),不得静默换模型。
  • 预算判定必须在调用前,不能事后扣减 —— 事后扣减等于没有预算。
  • panic 不能只转成 error。 RunSafe* 系列会把 panic 收进全局 PanicHandler (库不接 SetPanicHandler,默认 log.Printf)且返回的 panic: X 无哨兵类型, 无法挂回领域上下文。用 RunSafeErr 前先确认丢掉的结构化上下文可接受。

Directories

Path Synopsis
Package llm LLM 客户端栈(eino BaseChatModel 之上),本包唯一 package doc。
Package llm LLM 客户端栈(eino BaseChatModel 之上),本包唯一 package doc。
Package llmtest eino ChatModel/Provider 的脚本化测试桩——llm/reflection/router 等包的测试共用(此前四份手写桩已漂移出两种耗尽语义与多种记录口径)。
Package llmtest eino ChatModel/Provider 的脚本化测试桩——llm/reflection/router 等包的测试共用(此前四份手写桩已漂移出两种耗尽语义与多种记录口径)。
输出截断续写(对标 ZCode turn-output-token-continuation):finish reason 为 length/max_tokens 且消息无工具调用时,保留部分输出并以「直接续写」指令再调, 内容顺序拼接,最多 maxContinuations 轮。
输出截断续写(对标 ZCode turn-output-token-continuation):finish reason 为 length/max_tokens 且消息无工具调用时,保留部分输出并以「直接续写」指令再调, 内容顺序拼接,最多 maxContinuations 轮。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL