Skip to content

@codesoul-co/hypha-inference / recovery

模块用法

用于处理有界恢复、重试或降级。Recovery 模块公开 3 函数、2 接口、1 类型。

从包入口导入

ts
import {
  adviseInferenceRecovery,
  classifyInferenceCacheFailure,
  classifyInferenceFailure,
} from '@codesoul-co/hypha-inference';

import type {
  InferenceFailureContext,
  InferenceRecoveryAdvice,
  InferenceRecoveryOperation,
} from '@codesoul-co/hypha-inference';

使用要点

  • 3 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 3 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
adviseInferenceRecovery函数adviseInferenceRecovery(failure: RecoveryFailure): InferenceRecoveryAdviceAdvise Inference Recovery 函数,提供 1 个公开调用签名;参数与返回类型见下表。
classifyInferenceCacheFailure函数classifyInferenceCacheFailure(error: unknown, context: InferenceFailureContext): RecoveryFailureClassify Inference Cache Failure 函数,提供 1 个公开调用签名;参数与返回类型见下表。
classifyInferenceFailure函数classifyInferenceFailure(error: unknown, context: InferenceFailureContext): RecoveryFailureClassify Inference Failure 函数,提供 1 个公开调用签名;参数与返回类型见下表。
InferenceFailureContext接口interface InferenceFailureContextInference Failure Context 接口,共包含 9 个公开字段或方法。
InferenceRecoveryAdvice接口interface InferenceRecoveryAdviceInference Recovery Advice 接口,共包含 4 个公开字段或方法。
InferenceRecoveryOperation类型type InferenceRecoveryOperation = 'infer' | 'stream' | 'prefix_cache_read' | 'kv_cache_read' | 'kv_cache_write' | 'cache_invalidate'Inference Recovery Operation 公共类型别名;完整类型表达式见声明。

adviseInferenceRecovery

Advise Inference Recovery 函数,提供 1 个公开调用签名;参数与返回类型见下表。

  • 种类: 函数
  • 导入: import { adviseInferenceRecovery } from '@codesoul-co/hypha-inference';
  • 源码模块: recovery

声明

text
export declare function adviseInferenceRecovery(failure: RecoveryFailure): InferenceRecoveryAdvice;

调用签名

text
adviseInferenceRecovery(failure: RecoveryFailure): InferenceRecoveryAdvice

参数

参数类型必需说明
failureRecoveryFailure必需参数;接受的值由类型列定义。

返回值

  • 类型: InferenceRecoveryAdvice
  • 说明: 返回值契约由上述类型定义。

classifyInferenceCacheFailure

Classify Inference Cache Failure 函数,提供 1 个公开调用签名;参数与返回类型见下表。

  • 种类: 函数
  • 导入: import { classifyInferenceCacheFailure } from '@codesoul-co/hypha-inference';
  • 源码模块: recovery

声明

text
export declare function classifyInferenceCacheFailure(error: unknown, context: InferenceFailureContext): RecoveryFailure;

调用签名

text
classifyInferenceCacheFailure(error: unknown, context: InferenceFailureContext): RecoveryFailure

参数

参数类型必需说明
errorunknown必需参数;接受的值由类型列定义。
contextInferenceFailureContext必需参数;接受的值由类型列定义。

返回值

  • 类型: RecoveryFailure
  • 说明: 返回值契约由上述类型定义。

classifyInferenceFailure

Classify Inference Failure 函数,提供 1 个公开调用签名;参数与返回类型见下表。

  • 种类: 函数
  • 导入: import { classifyInferenceFailure } from '@codesoul-co/hypha-inference';
  • 源码模块: recovery

声明

text
export declare function classifyInferenceFailure(error: unknown, context: InferenceFailureContext): RecoveryFailure;

调用签名

text
classifyInferenceFailure(error: unknown, context: InferenceFailureContext): RecoveryFailure

参数

参数类型必需说明
errorunknown必需参数;接受的值由类型列定义。
contextInferenceFailureContext必需参数;接受的值由类型列定义。

返回值

  • 类型: RecoveryFailure
  • 说明: 返回值契约由上述类型定义。

InferenceFailureContext

Inference Failure Context 接口,共包含 9 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { InferenceFailureContext } from '@codesoul-co/hypha-inference';
  • 源码模块: recovery

声明

text
export interface InferenceFailureContext {
    id: string;
    operation: InferenceRecoveryOperation;
    request: InferenceRequest;
    providerId: string;
    occurredAt?: string;
    providerRevision?: string;
    policyRevision?: string;
    specRevision?: string;
    metadata?: Record<string, unknown>;
}

契约成员

成员种类签名说明
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
metadata属性metadata?: Record<string, unknown>公开属性;类型、只读和可选状态以签名列为准。
occurredAt属性occurredAt?: string公开属性;类型、只读和可选状态以签名列为准。
operation属性operation: InferenceRecoveryOperation公开属性;类型、只读和可选状态以签名列为准。
policyRevision属性policyRevision?: string公开属性;类型、只读和可选状态以签名列为准。
providerId属性providerId: string公开属性;类型、只读和可选状态以签名列为准。
providerRevision属性providerRevision?: string公开属性;类型、只读和可选状态以签名列为准。
request属性request: InferenceRequest<unknown>公开属性;类型、只读和可选状态以签名列为准。
specRevision属性specRevision?: string公开属性;类型、只读和可选状态以签名列为准。

InferenceRecoveryAdvice

Inference Recovery Advice 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { InferenceRecoveryAdvice } from '@codesoul-co/hypha-inference';
  • 源码模块: recovery

声明

text
export interface InferenceRecoveryAdvice {
    strategy: RecoveryStrategy;
    reason: string;
    mayUseCompatibleProviderFallback: boolean;
    mayBypassCache: boolean;
}

契约成员

成员种类签名说明
mayBypassCache属性mayBypassCache: boolean公开属性;类型、只读和可选状态以签名列为准。
mayUseCompatibleProviderFallback属性mayUseCompatibleProviderFallback: boolean公开属性;类型、只读和可选状态以签名列为准。
reason属性reason: string公开属性;类型、只读和可选状态以签名列为准。
strategy属性strategy: "fail" | "retry" | "human_review" | "reconcile" | "fallback" | "degrade" | "compensate" | "wait" | "quarantine" | "cancel"公开属性;类型、只读和可选状态以签名列为准。

InferenceRecoveryOperation

Inference Recovery Operation 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { InferenceRecoveryOperation } from '@codesoul-co/hypha-inference';
  • 源码模块: recovery

声明

text
export type InferenceRecoveryOperation = 'infer' | 'stream' | 'prefix_cache_read' | 'kv_cache_read' | 'kv_cache_write' | 'cache_invalidate';