Skip to content

@codesoul-co/hypha-models / providers

模块用法

用于把外部或本地 Provider 绑定到 Hypha Port。Providers 模块公开 3 类、3 函数、3 接口。

从包入口导入

ts
import {
  FetchModelTransport,
  OpenAICompatibleModelProvider,
  OpenAIModelProvider,
  createDeepSeekProvider,
  normalizeOpenAIChatResponse,
  providerSpecFromConfig,
} from '@codesoul-co/hypha-models';

import type {
  ModelTransport,
  OpenAIChatCompletionResponse,
  OpenAICompatibleProviderConfig,
} from '@codesoul-co/hypha-models';

使用要点

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

公共导出

Symbol种类签名说明
FetchModelTransportnew FetchModelTransport(): FetchModelTransportFetch Model Transport 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。
OpenAICompatibleModelProvidernew OpenAICompatibleModelProvider(config: OpenAICompatibleProviderConfig): OpenAICompatibleModelProviderOpen AI Compatible Model Provider 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。
OpenAIModelProvidernew OpenAIModelProvider(config: Omit<OpenAICompatibleProviderConfig, "type" | "baseUrl"> & { baseUrl?: string; }): OpenAIModelProviderOpen AI Model Provider 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。
createDeepSeekProvider函数createDeepSeekProvider(config: Omit<OpenAICompatibleProviderConfig, "type" | "baseUrl"> & { baseUrl?: string; }): OpenAICompatibleModelProviderCreate Deep Seek Provider 函数,提供 1 个公开调用签名;参数与返回类型见下表。
normalizeOpenAIChatResponse函数normalizeOpenAIChatResponse(response: OpenAIChatCompletionResponse, context?: OpenAIChatCompletionNormalizationContext): ModelResponseNormalize Open AI Chat Response 函数,提供 1 个公开调用签名;参数与返回类型见下表。
providerSpecFromConfig函数providerSpecFromConfig(config: OpenAICompatibleProviderConfig): ModelProviderSpecProvider Spec From Config 函数,提供 1 个公开调用签名;参数与返回类型见下表。
ModelTransport接口interface ModelTransportModel Transport 接口,共包含 2 个公开字段或方法。
OpenAIChatCompletionResponse接口interface OpenAIChatCompletionResponseOpen AI Chat Completion Response 接口,共包含 4 个公开字段或方法。
OpenAICompatibleProviderConfig接口interface OpenAICompatibleProviderConfigOpen AI Compatible Provider Config 接口,共包含 9 个公开字段或方法。

FetchModelTransport

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

  • 种类: 类
  • 导入: import { FetchModelTransport } from '@codesoul-co/hypha-models';
  • 源码模块: providers

声明

text
export declare class FetchModelTransport implements ModelTransport {
    postJson<TResponse>(url: string, body: unknown, headers: Record<string, string>, timeoutMs?: number): Promise<TResponse>;
    streamSse(url: string, body: unknown, headers: Record<string, string>, timeoutMs?: number): AsyncIterable<string>;
}

公开成员

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

OpenAICompatibleModelProvider

Open AI Compatible Model Provider 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { OpenAICompatibleModelProvider } from '@codesoul-co/hypha-models';
  • 源码模块: providers

声明

text
export declare class OpenAICompatibleModelProvider implements ModelProvider<ModelRequest, ModelResponse> {
    readonly id: string;
    constructor(config: OpenAICompatibleProviderConfig);
    capabilities(): ModelCapabilities;
    generate(request: ModelRequest): Promise<ModelResponse>;
    stream(request: ModelRequest): AsyncIterable<ModelStreamEvent>;
}

公开成员

成员种类签名说明
capabilities方法capabilities(): ModelCapabilities公开方法;参数与返回类型以签名列为准。
constructor构造函数(config: OpenAICompatibleProviderConfig): OpenAICompatibleModelProvider创建该类的实例。
generate方法generate(request: ModelRequest): Promise<ModelResponse>公开方法;参数与返回类型以签名列为准。
id属性readonly id: string公开属性;类型、只读和可选状态以签名列为准。
stream方法stream(request: ModelRequest): AsyncIterable<ModelStreamEvent>公开方法;参数与返回类型以签名列为准。

OpenAIModelProvider

Open AI Model Provider 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。

  • 种类: 类
  • 导入: import { OpenAIModelProvider } from '@codesoul-co/hypha-models';
  • 源码模块: providers

声明

text
export declare class OpenAIModelProvider extends OpenAICompatibleModelProvider {
    constructor(config: Omit<OpenAICompatibleProviderConfig, 'type' | 'baseUrl'> & {
            baseUrl?: string;
        });
}

公开成员

成员种类签名说明
capabilities方法capabilities(): ModelCapabilities公开方法;参数与返回类型以签名列为准。
constructor构造函数(config: Omit<OpenAICompatibleProviderConfig, "type" | "baseUrl"> & { baseUrl?: string; }): OpenAIModelProvider创建该类的实例。
generate方法generate(request: ModelRequest): Promise<ModelResponse>公开方法;参数与返回类型以签名列为准。
id属性readonly id: string公开属性;类型、只读和可选状态以签名列为准。
stream方法stream(request: ModelRequest): AsyncIterable<ModelStreamEvent>公开方法;参数与返回类型以签名列为准。

createDeepSeekProvider

Create Deep Seek Provider 函数,提供 1 个公开调用签名;参数与返回类型见下表。

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

声明

text
export declare function createDeepSeekProvider(config: Omit<OpenAICompatibleProviderConfig, 'type' | 'baseUrl'> & {
    baseUrl?: string;
}): OpenAICompatibleModelProvider;

调用签名

text
createDeepSeekProvider(config: Omit<OpenAICompatibleProviderConfig, "type" | "baseUrl"> & { baseUrl?: string; }): OpenAICompatibleModelProvider

参数

参数类型必需说明
configOmit<OpenAICompatibleProviderConfig, "type" | "baseUrl"> & { baseUrl?: string; }必需参数;接受的值由类型列定义。

返回值

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

normalizeOpenAIChatResponse

Normalize Open AI Chat Response 函数,提供 1 个公开调用签名;参数与返回类型见下表。

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

声明

text
export declare function normalizeOpenAIChatResponse(response: OpenAIChatCompletionResponse, context?: OpenAIChatCompletionNormalizationContext): ModelResponse;

调用签名

text
normalizeOpenAIChatResponse(response: OpenAIChatCompletionResponse, context?: OpenAIChatCompletionNormalizationContext): ModelResponse

参数

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

返回值

  • 类型: ModelResponse<string>
  • 说明: 返回值契约由上述类型定义。

providerSpecFromConfig

Provider Spec From Config 函数,提供 1 个公开调用签名;参数与返回类型见下表。

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

声明

text
export declare function providerSpecFromConfig(config: OpenAICompatibleProviderConfig): ModelProviderSpec;

调用签名

text
providerSpecFromConfig(config: OpenAICompatibleProviderConfig): ModelProviderSpec

参数

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

返回值

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

ModelTransport

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

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

声明

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

契约成员

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

OpenAIChatCompletionResponse

Open AI Chat Completion Response 接口,共包含 4 个公开字段或方法。

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

声明

text
export interface OpenAIChatCompletionResponse {
    id: string;
    choices: Array<{
        message?: {
            content?: string | null;
            tool_calls?: Array<{
                id: string;
                function?: {
                    name: string;
                    arguments: string;
                };
            }>;
        };
        finish_reason?: string | null;
    }>;
    usage?: {
        prompt_tokens?: number;
        completion_tokens?: number;
        total_tokens?: number;
        prompt_cache_hit_tokens?: number;
        prompt_cache_miss_tokens?: number;
        prompt_tokens_details?: {
            cached_tokens?: number;
        };
    };
    model?: string;
}

契约成员

成员种类签名说明
choices属性choices: { message?: { content?: string | null; tool_calls?: Array<{ id: string; function?: { name: string; arguments: string; }; }>; }; finish_reason?: string | null; }[]公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
model属性model?: string公开属性;类型、只读和可选状态以签名列为准。
usage属性usage?: { prompt_tokens?: number; completion_tokens?: number; total_tokens?: number; prompt_cache_hit_tokens?: number; prompt_cache_miss_tokens?: number; prompt_tokens_details?: { cached_tokens?: number; }; }公开属性;类型、只读和可选状态以签名列为准。

OpenAICompatibleProviderConfig

Open AI Compatible Provider Config 接口,共包含 9 个公开字段或方法。

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

声明

text
export interface OpenAICompatibleProviderConfig {
    id: string;
    type: 'openai' | 'openai-compatible';
    baseUrl: string;
    apiKey?: string;
    apiKeyEnv?: string;
    providerModelByAlias: Record<string, string>;
    capabilities?: ModelCapabilities;
    timeoutMs?: number;
    transport?: ModelTransport;
}

契约成员

成员种类签名说明
apiKey属性apiKey?: string公开属性;类型、只读和可选状态以签名列为准。
apiKeyEnv属性apiKeyEnv?: string公开属性;类型、只读和可选状态以签名列为准。
baseUrl属性baseUrl: string公开属性;类型、只读和可选状态以签名列为准。
capabilities属性capabilities?: ModelCapabilities公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
providerModelByAlias属性providerModelByAlias: Record<string, string>公开属性;类型、只读和可选状态以签名列为准。
timeoutMs属性timeoutMs?: number公开属性;类型、只读和可选状态以签名列为准。
transport属性transport?: ModelTransport公开属性;类型、只读和可选状态以签名列为准。
type属性type: "openai" | "openai-compatible"公开属性;类型、只读和可选状态以签名列为准。