Skip to content

@codesoul-co/hypha-inference / backends

模块用法

用于使用该功能边界的公共契约与操作。Backends 模块公开 7 类、1 函数、3 接口。

从包入口导入

ts
import {
  FetchInferenceBackendTransport,
  InferenceBackendRegistry,
  LlamaCppInferenceBackend,
  OllamaInferenceBackend,
  OpenAIAPIInferenceBackend,
  SGLangInferenceBackend,
  VLLMInferenceBackend,
  createDefaultInferenceBackendRegistry,
} from '@codesoul-co/hypha-inference';

import type {
  DefaultInferenceBackendRegistryOptions,
  HttpInferenceBackendConfig,
  InferenceBackendTransport,
} from '@codesoul-co/hypha-inference';

使用要点

  • 3 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 7 个类提供可实例化的运行时实现;构造参数与公开方法在各自条目中完整列出。
  • 1 个函数是该模块的直接操作入口;每个 overload 的必需/可选参数与返回类型均在下方列出。

公共导出

Symbol种类签名说明
FetchInferenceBackendTransportnew FetchInferenceBackendTransport(): FetchInferenceBackendTransportFetch Inference Backend Transport 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。
InferenceBackendRegistrynew InferenceBackendRegistry(defaultBackendId?: string): InferenceBackendRegistryInference Backend Registry 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。
LlamaCppInferenceBackendnew LlamaCppInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): LlamaCppInferenceBackendLlama Cpp Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。
OllamaInferenceBackendnew OllamaInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): OllamaInferenceBackendOllama Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。
OpenAIAPIInferenceBackendnew OpenAIAPIInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): OpenAIAPIInferenceBackendOpen AIAPI Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。
SGLangInferenceBackendnew SGLangInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): SGLangInferenceBackendSG Lang Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。
VLLMInferenceBackendnew VLLMInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): VLLMInferenceBackendVLLM Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。
createDefaultInferenceBackendRegistry函数createDefaultInferenceBackendRegistry(options?: DefaultInferenceBackendRegistryOptions): InferenceBackendRegistryCreate Default Inference Backend Registry 函数,提供 1 个公开调用签名;参数与返回类型见下表。
DefaultInferenceBackendRegistryOptions接口interface DefaultInferenceBackendRegistryOptionsDefault Inference Backend Registry Options 接口,共包含 6 个公开字段或方法。
HttpInferenceBackendConfig接口interface HttpInferenceBackendConfigHttp Inference Backend Config 接口,共包含 8 个公开字段或方法。
InferenceBackendTransport接口interface InferenceBackendTransportInference Backend Transport 接口,共包含 2 个公开字段或方法。

FetchInferenceBackendTransport

Fetch Inference Backend Transport 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { FetchInferenceBackendTransport } from '@codesoul-co/hypha-inference';
  • 源码模块: backends

声明

text
export declare class FetchInferenceBackendTransport implements InferenceBackendTransport {
    postJson<TResponse = unknown>(url: string, body: unknown, headers?: Record<string, string>, timeoutMs?: number): Promise<TResponse>;
    streamJson<TResponse = unknown>(url: string, body: unknown, headers?: Record<string, string>, timeoutMs?: number): AsyncIterable<TResponse>;
}

公开成员

成员种类签名说明
constructor构造函数(): FetchInferenceBackendTransport创建该类的实例。
postJson方法postJson<TResponse = unknown>(url: string, body: unknown, headers?: Record<string, string>, timeoutMs?: number): Promise<TResponse>公开方法;参数与返回类型以签名列为准。
streamJson方法streamJson<TResponse = unknown>(url: string, body: unknown, headers?: Record<string, string>, timeoutMs?: number): AsyncIterable<TResponse>公开方法;参数与返回类型以签名列为准。

InferenceBackendRegistry

Inference Backend Registry 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { InferenceBackendRegistry } from '@codesoul-co/hypha-inference';
  • 源码模块: backends

声明

text
export declare class InferenceBackendRegistry {
    constructor(defaultBackendId?: string);
    register(backend: InferenceBackend, options?: {
            default?: boolean;
        }): void;
    get(id: string): InferenceBackend | null;
    require(id: string): InferenceBackend;
    default(): InferenceBackend;
    list(): InferenceBackendRegistryEntry[];
}

公开成员

成员种类签名说明
constructor构造函数(defaultBackendId?: string): InferenceBackendRegistry创建该类的实例。
default方法default(): InferenceBackend公开方法;参数与返回类型以签名列为准。
get方法get(id: string): InferenceBackend | null公开方法;参数与返回类型以签名列为准。
list方法list(): InferenceBackendRegistryEntry[]公开方法;参数与返回类型以签名列为准。
register方法register(backend: InferenceBackend, options?: { default?: boolean; }): void公开方法;参数与返回类型以签名列为准。
require方法require(id: string): InferenceBackend公开方法;参数与返回类型以签名列为准。

LlamaCppInferenceBackend

Llama Cpp Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { LlamaCppInferenceBackend } from '@codesoul-co/hypha-inference';
  • 源码模块: backends

声明

text
export declare class LlamaCppInferenceBackend extends HttpInferenceBackend {
    constructor(config?: Partial<HttpInferenceBackendConfig>);
}

公开成员

成员种类签名说明
capabilities方法capabilities(): InferenceBackendCapabilities公开方法;参数与返回类型以签名列为准。
constructor构造函数(config?: Partial<HttpInferenceBackendConfig>): LlamaCppInferenceBackend创建该类的实例。
id属性readonly id: string公开属性;类型、只读和可选状态以签名列为准。
infer方法infer(request: InferenceBackendRequest): Promise<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。
kind属性readonly kind: InferenceBackendKind公开属性;类型、只读和可选状态以签名列为准。
stream方法stream(request: InferenceBackendRequest): AsyncIterable<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。

OllamaInferenceBackend

Ollama Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { OllamaInferenceBackend } from '@codesoul-co/hypha-inference';
  • 源码模块: backends

声明

text
export declare class OllamaInferenceBackend extends HttpInferenceBackend {
    constructor(config?: Partial<HttpInferenceBackendConfig>);
}

公开成员

成员种类签名说明
capabilities方法capabilities(): InferenceBackendCapabilities公开方法;参数与返回类型以签名列为准。
constructor构造函数(config?: Partial<HttpInferenceBackendConfig>): OllamaInferenceBackend创建该类的实例。
id属性readonly id: string公开属性;类型、只读和可选状态以签名列为准。
infer方法infer(request: InferenceBackendRequest): Promise<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。
kind属性readonly kind: InferenceBackendKind公开属性;类型、只读和可选状态以签名列为准。
stream方法stream(request: InferenceBackendRequest): AsyncIterable<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。

OpenAIAPIInferenceBackend

Open AIAPI Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { OpenAIAPIInferenceBackend } from '@codesoul-co/hypha-inference';
  • 源码模块: backends

声明

text
export declare class OpenAIAPIInferenceBackend extends HttpInferenceBackend {
    constructor(config?: Partial<HttpInferenceBackendConfig>);
}

公开成员

成员种类签名说明
capabilities方法capabilities(): InferenceBackendCapabilities公开方法;参数与返回类型以签名列为准。
constructor构造函数(config?: Partial<HttpInferenceBackendConfig>): OpenAIAPIInferenceBackend创建该类的实例。
id属性readonly id: string公开属性;类型、只读和可选状态以签名列为准。
infer方法infer(request: InferenceBackendRequest): Promise<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。
kind属性readonly kind: InferenceBackendKind公开属性;类型、只读和可选状态以签名列为准。
stream方法stream(request: InferenceBackendRequest): AsyncIterable<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。

SGLangInferenceBackend

SG Lang Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { SGLangInferenceBackend } from '@codesoul-co/hypha-inference';
  • 源码模块: backends

声明

text
export declare class SGLangInferenceBackend extends HttpInferenceBackend {
    constructor(config?: Partial<HttpInferenceBackendConfig>);
}

公开成员

成员种类签名说明
capabilities方法capabilities(): InferenceBackendCapabilities公开方法;参数与返回类型以签名列为准。
constructor构造函数(config?: Partial<HttpInferenceBackendConfig>): SGLangInferenceBackend创建该类的实例。
id属性readonly id: string公开属性;类型、只读和可选状态以签名列为准。
infer方法infer(request: InferenceBackendRequest): Promise<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。
kind属性readonly kind: InferenceBackendKind公开属性;类型、只读和可选状态以签名列为准。
stream方法stream(request: InferenceBackendRequest): AsyncIterable<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。

VLLMInferenceBackend

VLLM Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { VLLMInferenceBackend } from '@codesoul-co/hypha-inference';
  • 源码模块: backends

声明

text
export declare class VLLMInferenceBackend extends HttpInferenceBackend {
    constructor(config?: Partial<HttpInferenceBackendConfig>);
}

公开成员

成员种类签名说明
capabilities方法capabilities(): InferenceBackendCapabilities公开方法;参数与返回类型以签名列为准。
constructor构造函数(config?: Partial<HttpInferenceBackendConfig>): VLLMInferenceBackend创建该类的实例。
id属性readonly id: string公开属性;类型、只读和可选状态以签名列为准。
infer方法infer(request: InferenceBackendRequest): Promise<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。
kind属性readonly kind: InferenceBackendKind公开属性;类型、只读和可选状态以签名列为准。
stream方法stream(request: InferenceBackendRequest): AsyncIterable<InferenceBackendResponse>公开方法;参数与返回类型以签名列为准。

createDefaultInferenceBackendRegistry

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

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

声明

text
export declare function createDefaultInferenceBackendRegistry(options?: DefaultInferenceBackendRegistryOptions): InferenceBackendRegistry;

调用签名

text
createDefaultInferenceBackendRegistry(options?: DefaultInferenceBackendRegistryOptions): InferenceBackendRegistry

参数

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

返回值

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

DefaultInferenceBackendRegistryOptions

Default Inference Backend Registry Options 接口,共包含 6 个公开字段或方法。

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

声明

text
export interface DefaultInferenceBackendRegistryOptions {
    defaultBackendId?: string;
    ollama?: Partial<HttpInferenceBackendConfig>;
    sglang?: Partial<HttpInferenceBackendConfig>;
    vllm?: Partial<HttpInferenceBackendConfig>;
    llamaCpp?: Partial<HttpInferenceBackendConfig>;
    openaiApi?: Partial<HttpInferenceBackendConfig>;
}

契约成员

成员种类签名说明
defaultBackendId属性defaultBackendId?: string公开属性;类型、只读和可选状态以签名列为准。
llamaCpp属性llamaCpp?: Partial<HttpInferenceBackendConfig>公开属性;类型、只读和可选状态以签名列为准。
ollama属性ollama?: Partial<HttpInferenceBackendConfig>公开属性;类型、只读和可选状态以签名列为准。
openaiApi属性openaiApi?: Partial<HttpInferenceBackendConfig>公开属性;类型、只读和可选状态以签名列为准。
sglang属性sglang?: Partial<HttpInferenceBackendConfig>公开属性;类型、只读和可选状态以签名列为准。
vllm属性vllm?: Partial<HttpInferenceBackendConfig>公开属性;类型、只读和可选状态以签名列为准。

HttpInferenceBackendConfig

Http Inference Backend Config 接口,共包含 8 个公开字段或方法。

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

声明

text
export interface HttpInferenceBackendConfig {
    id?: string;
    baseUrl: string;
    endpoint: string;
    apiKey?: string;
    apiKeyEnv?: string;
    timeoutMs?: number;
    transport?: InferenceBackendTransport;
    capabilities?: Partial<InferenceBackendCapabilities>;
}

契约成员

成员种类签名说明
apiKey属性apiKey?: string公开属性;类型、只读和可选状态以签名列为准。
apiKeyEnv属性apiKeyEnv?: string公开属性;类型、只读和可选状态以签名列为准。
baseUrl属性baseUrl: string公开属性;类型、只读和可选状态以签名列为准。
capabilities属性capabilities?: Partial<InferenceBackendCapabilities>公开属性;类型、只读和可选状态以签名列为准。
endpoint属性endpoint: string公开属性;类型、只读和可选状态以签名列为准。
id属性id?: string公开属性;类型、只读和可选状态以签名列为准。
timeoutMs属性timeoutMs?: number公开属性;类型、只读和可选状态以签名列为准。
transport属性transport?: InferenceBackendTransport公开属性;类型、只读和可选状态以签名列为准。

InferenceBackendTransport

Inference Backend Transport 接口,共包含 2 个公开字段或方法。

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

声明

text
export interface InferenceBackendTransport {
    postJson<TResponse = unknown>(url: string, body: unknown, headers?: Record<string, string>, timeoutMs?: number): Promise<TResponse>;
    streamJson?<TResponse = unknown>(url: string, body: unknown, headers?: Record<string, string>, timeoutMs?: number): AsyncIterable<TResponse>;
}

契约成员

成员种类签名说明
postJson方法postJson<TResponse = unknown>(url: string, body: unknown, headers?: Record<string, string>, timeoutMs?: number): Promise<TResponse>公开方法;参数与返回类型以签名列为准。
streamJson方法streamJson?<TResponse = unknown>(url: string, body: unknown, headers?: Record<string, string>, timeoutMs?: number): AsyncIterable<TResponse>公开方法;参数与返回类型以签名列为准。