@codesoul-co/hypha-inference / backends
- 包索引:
@codesoul-co/hypha-inference - 源码:
packages/inference/src/backends.ts - 导出数: 11
模块用法
用于使用该功能边界的公共契约与操作。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 | 种类 | 签名 | 说明 |
|---|---|---|---|
FetchInferenceBackendTransport | 类 | new FetchInferenceBackendTransport(): FetchInferenceBackendTransport | Fetch Inference Backend Transport 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。 |
InferenceBackendRegistry | 类 | new InferenceBackendRegistry(defaultBackendId?: string): InferenceBackendRegistry | Inference Backend Registry 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。 |
LlamaCppInferenceBackend | 类 | new LlamaCppInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): LlamaCppInferenceBackend | Llama Cpp Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。 |
OllamaInferenceBackend | 类 | new OllamaInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): OllamaInferenceBackend | Ollama Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。 |
OpenAIAPIInferenceBackend | 类 | new OpenAIAPIInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): OpenAIAPIInferenceBackend | Open AIAPI Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。 |
SGLangInferenceBackend | 类 | new SGLangInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): SGLangInferenceBackend | SG Lang Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。 |
VLLMInferenceBackend | 类 | new VLLMInferenceBackend(config?: Partial<HttpInferenceBackendConfig>): VLLMInferenceBackend | VLLM Inference Backend 类,共公开 6 个构造函数或成员;精确签名见本条目的声明与成员表。 |
createDefaultInferenceBackendRegistry | 函数 | createDefaultInferenceBackendRegistry(options?: DefaultInferenceBackendRegistryOptions): InferenceBackendRegistry | Create Default Inference Backend Registry 函数,提供 1 个公开调用签名;参数与返回类型见下表。 |
DefaultInferenceBackendRegistryOptions | 接口 | interface DefaultInferenceBackendRegistryOptions | Default Inference Backend Registry Options 接口,共包含 6 个公开字段或方法。 |
HttpInferenceBackendConfig | 接口 | interface HttpInferenceBackendConfig | Http Inference Backend Config 接口,共包含 8 个公开字段或方法。 |
InferenceBackendTransport | 接口 | interface InferenceBackendTransport | Inference 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参数
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
options | DefaultInferenceBackendRegistryOptions | 否 | 可选参数;接受的值由类型列定义。 |
返回值
- 类型:
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> | 公开方法;参数与返回类型以签名列为准。 |
