Documentation
¶
Overview ¶
Package llm 是历史 import 路径 github.com/oagentkit/llm/llm 的**兼容层**。
这个路径曾经真实存在 ¶
llm 的根包在 v0.7.0 ~ v0.8.0 期间住在仓内 llm/ 子目录,import 路径是 github.com/oagentkit/llm/llm。v0.9.0(2026-10-19)把根包上移到 module 根, 路径改成 github.com/oagentkit/llm,并在 CHANGELOG 里标了 BREAKING CHANGE。
任何在 v0.7.x ~ v0.8.x 期间把 llm 钉进 go.mod 的下游,都会留下一批 `github.com/oagentkit/llm/llm` 的 import。升级到 v0.9.0+ 时这些 import 全部编译失败——即使它们用到的**符号一个都没变**(API 面零漂移,变的只是 import 路径这一层)。
为什么提供这一层 ¶
让存量下游跨过 v0.9.0 这条线时不必整仓改 import:老路径继续可用, 新路径也可用。改一次 import 路径要动下游的每个引用文件,还可能与下游 自己正在做的改动撞车;把「改名」换成「二选一」,成本低得多。
语义:与根包零差异 ¶
本包不含任何自己的实现:
- 类型是 type alias,与根包是**同一个类型**(不是新定义、不是结构相同的两份);
- 函数以 var 形式转发根包的包级函数,拿到的是**同一个函数值**;
- 常量原样转发;
- 包级变量按值复制(切片头 / 接口值),与根包共享底层数据, 但根包侧的整体重新赋值不会传播到本包。
新代码不要用这一层 ¶
新代码一律直接 import github.com/oagentkit/llm。
本包是**过渡期**产物:只镜像根包已有的符号,不新增任何能力; 与门面仓 github.com/oagentkit/agentkit 一样属于「只为存量下游存在」的兼容层, 随 0.x 版本线退役。
一致性由测试强制 ¶
compat_test.go 的 TestCompatParity 会解析根包与本包的 AST, 要求两者的导出符号集合**完全一致**:根包增删了导出符号而本包没跟上时, 那条测试会红。
Index ¶
- Constants
- Variables
- type Attempt
- type AttemptError
- type Budget
- type BudgetConfig
- type BudgetHolder
- type BudgetInjector
- type ChainLink
- type Client
- type CostRecord
- type CostTracker
- type FailoverModel
- type FallbackChain
- type Generator
- type MatchKind
- type ModelSummary
- type OpenAIProvider
- type OpenAIProviderConfig
- type Price
- type PriceLookup
- type PriceStatus
- type PriceTable
- type PricedProvider
- type Provider
- type Resilient
- type ResilientConfig
- type RetryHint
- type Sink
- type StageRouter
- type TokenAccountant
- type UsageCallCounter
- type UsageRecord
Constants ¶
const ( // MatchExact 是根包 MatchExact 的常量转发(兼容层)。 MatchExact = root.MatchExact // MatchNone 是根包 MatchNone 的常量转发(兼容层)。 MatchNone = root.MatchNone // MatchNormalized 是根包 MatchNormalized 的常量转发(兼容层)。 MatchNormalized = root.MatchNormalized // MaxServerRetryAfter 是根包 MaxServerRetryAfter 的常量转发(兼容层)。 MaxServerRetryAfter = root.MaxServerRetryAfter // MaxStreamRecoveryRetries 是根包 MaxStreamRecoveryRetries 的常量转发(兼容层)。 MaxStreamRecoveryRetries = root.MaxStreamRecoveryRetries // PricePriced 是根包 PricePriced 的常量转发(兼容层)。 PricePriced = root.PricePriced // PriceUnpriced 是根包 PriceUnpriced 的常量转发(兼容层)。 PriceUnpriced = root.PriceUnpriced )
常量:原样转发,类型与值均与根包一致。
Variables ¶
var ( // BusyAdmissionDelay 是根包 BusyAdmissionDelay 的转发(兼容层)。 BusyAdmissionDelay = root.BusyAdmissionDelay // ClassifyLLMError 是根包 ClassifyLLMError 的转发(兼容层)。 ClassifyLLMError = root.ClassifyLLMError // DefaultPriceTable 是根包 DefaultPriceTable 的转发(兼容层)。 DefaultPriceTable = root.DefaultPriceTable // IsContextExceededError 是根包 IsContextExceededError 的转发(兼容层)。 IsContextExceededError = root.IsContextExceededError // IsContextExceededFinish 是根包 IsContextExceededFinish 的转发(兼容层)。 IsContextExceededFinish = root.IsContextExceededFinish // IsProviderBusyCode 是根包 IsProviderBusyCode 的转发(兼容层)。 IsProviderBusyCode = root.IsProviderBusyCode // IsRateLimitError 是根包 IsRateLimitError 的转发(兼容层)。 IsRateLimitError = root.IsRateLimitError // IsTransientStreamError 是根包 IsTransientStreamError 的转发(兼容层)。 IsTransientStreamError = root.IsTransientStreamError // IsTruncatedError 是根包 IsTruncatedError 的转发(兼容层)。 IsTruncatedError = root.IsTruncatedError // LookupPrice 是根包 LookupPrice 的转发(兼容层)。 LookupPrice = root.LookupPrice // LookupPriceStrict 是根包 LookupPriceStrict 的转发(兼容层)。 LookupPriceStrict = root.LookupPriceStrict // NewBudget 是根包 NewBudget 的转发(兼容层)。 NewBudget = root.NewBudget // NewClient 是根包 NewClient 的转发(兼容层)。 NewClient = root.NewClient // NewCostTracker 是根包 NewCostTracker 的转发(兼容层)。 NewCostTracker = root.NewCostTracker // NewCostTrackerWithTable 是根包 NewCostTrackerWithTable 的转发(兼容层)。 NewCostTrackerWithTable = root.NewCostTrackerWithTable // NewFailoverModel 是根包 NewFailoverModel 的转发(兼容层)。 NewFailoverModel = root.NewFailoverModel // NewFallbackChain 是根包 NewFallbackChain 的转发(兼容层)。 NewFallbackChain = root.NewFallbackChain // NewOpenAIProvider 是根包 NewOpenAIProvider 的转发(兼容层)。 NewOpenAIProvider = root.NewOpenAIProvider // NewPriceTable 是根包 NewPriceTable 的转发(兼容层)。 NewPriceTable = root.NewPriceTable // NewResilient 是根包 NewResilient 的转发(兼容层)。 NewResilient = root.NewResilient // NewStageRouter 是根包 NewStageRouter 的转发(兼容层)。 NewStageRouter = root.NewStageRouter // NewUsageHandler 是根包 NewUsageHandler 的转发(兼容层)。 NewUsageHandler = root.NewUsageHandler // PriceOf 是根包 PriceOf 的转发(兼容层)。 // // Deprecated: 同根包——未配价返回 0 与「免费模型」不可区分(静默失真), // 且「最长前缀回落」会把同主干异价 SKU 静默定价错。新代码用 // PriceTable.Lookup / LookupPrice(查不到是「价格未知」而非 0)。 // 兼容层仍转发它:下游钉在 v0.7.0~v0.8.0 时按旧路径引用它,删掉=编译断。 PriceOf = root.PriceOf //nolint:staticcheck // 兼容层必须保留已废弃的旧符号(见上方 Deprecated 说明) // PriceOfMatched 是根包 PriceOfMatched 的转发(兼容层)。 // // Deprecated: 同 PriceOf——未配价返回 0 与「免费模型」不可区分,前缀回落会静默误定价。 // 新代码用 PriceTable.Lookup(命中方式可见且不做前缀回落)。 PriceOfMatched = root.PriceOfMatched //nolint:staticcheck // 兼容层必须保留已废弃的旧符号(见上方 Deprecated 说明) // RetryAfterFrom 是根包 RetryAfterFrom 的转发(兼容层)。 RetryAfterFrom = root.RetryAfterFrom // RetryableLLMError 是根包 RetryableLLMError 的转发(兼容层)。 RetryableLLMError = root.RetryableLLMError // SelectRetryDelay 是根包 SelectRetryDelay 的转发(兼容层)。 SelectRetryDelay = root.SelectRetryDelay // SuspiciousEmptyResult 是根包 SuspiciousEmptyResult 的转发(兼容层)。 SuspiciousEmptyResult = root.SuspiciousEmptyResult // WithCallCounter 是根包 WithCallCounter 的转发(兼容层)。 WithCallCounter = root.WithCallCounter // WithRetryAfterSink 是根包 WithRetryAfterSink 的转发(兼容层)。 WithRetryAfterSink = root.WithRetryAfterSink // WithUsageLabels 是根包 WithUsageLabels 的转发(兼容层)。 WithUsageLabels = root.WithUsageLabels )
函数转发:以变量形式转发根包的包级函数。
为什么是 var 而不是 func 包装:包装要**逐个复制签名**, 根包改签名时兼容层不会编译错误、而是静默变成另一个签名; var 转发把「签名」交给编译器守着,根包改了这里跟着改。
var ( // BusyAdmissionDelays 是根包 BusyAdmissionDelays 的转发(兼容层)。 BusyAdmissionDelays = root.BusyAdmissionDelays // ErrPriceUnknown 是根包 ErrPriceUnknown 的转发(兼容层)。 ErrPriceUnknown = root.ErrPriceUnknown )
包级变量转发。
注意:变量是**按值复制**的(切片头 / 接口值), 与根包共享底层数据,但根包侧的整体重新赋值不会传播到兼容层。
Functions ¶
This section is empty.
Types ¶
type BudgetInjector ¶
type BudgetInjector = root.BudgetInjector
BudgetInjector 是根包 BudgetInjector 的类型别名(兼容层)。
type FailoverModel ¶
type FailoverModel = root.FailoverModel
FailoverModel 是根包 FailoverModel 的类型别名(兼容层)。
type FallbackChain ¶
type FallbackChain = root.FallbackChain
FallbackChain 是根包 FallbackChain 的类型别名(兼容层)。
type OpenAIProvider ¶
type OpenAIProvider = root.OpenAIProvider
OpenAIProvider 是根包 OpenAIProvider 的类型别名(兼容层)。
type OpenAIProviderConfig ¶
type OpenAIProviderConfig = root.OpenAIProviderConfig
OpenAIProviderConfig 是根包 OpenAIProviderConfig 的类型别名(兼容层)。
type PriceLookup ¶ added in v0.18.0
type PriceLookup = root.PriceLookup
PriceLookup 是根包 PriceLookup 的类型别名(兼容层)。
type PriceStatus ¶ added in v0.18.0
type PriceStatus = root.PriceStatus
PriceStatus 是根包 PriceStatus 的类型别名(兼容层)。
type PriceTable ¶ added in v0.18.0
type PriceTable = root.PriceTable
PriceTable 是根包 PriceTable 的类型别名(兼容层)。
type PricedProvider ¶ added in v0.18.0
type PricedProvider = root.PricedProvider
PricedProvider 是根包 PricedProvider 的类型别名(兼容层)。
type ResilientConfig ¶
type ResilientConfig = root.ResilientConfig
ResilientConfig 是根包 ResilientConfig 的类型别名(兼容层)。
type TokenAccountant ¶
type TokenAccountant = root.TokenAccountant
TokenAccountant 是根包 TokenAccountant 的类型别名(兼容层)。
type UsageCallCounter ¶
type UsageCallCounter = root.UsageCallCounter
UsageCallCounter 是根包 UsageCallCounter 的类型别名(兼容层)。