@codesoul-co/hypha-models / providers
- 包索引:
@codesoul-co/hypha-models - 源码:
packages/models/src/providers.ts - 导出数: 9
模块用法
用于把外部或本地 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 | 种类 | 签名 | 说明 |
|---|---|---|---|
FetchModelTransport | 类 | new FetchModelTransport(): FetchModelTransport | Fetch Model Transport 类,共公开 3 个构造函数或成员;精确签名见本条目的声明与成员表。 |
OpenAICompatibleModelProvider | 类 | new OpenAICompatibleModelProvider(config: OpenAICompatibleProviderConfig): OpenAICompatibleModelProvider | Open AI Compatible Model Provider 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。 |
OpenAIModelProvider | 类 | new OpenAIModelProvider(config: Omit<OpenAICompatibleProviderConfig, "type" | "baseUrl"> & { baseUrl?: string; }): OpenAIModelProvider | Open AI Model Provider 类,共公开 5 个构造函数或成员;精确签名见本条目的声明与成员表。 |
createDeepSeekProvider | 函数 | createDeepSeekProvider(config: Omit<OpenAICompatibleProviderConfig, "type" | "baseUrl"> & { baseUrl?: string; }): OpenAICompatibleModelProvider | Create Deep Seek Provider 函数,提供 1 个公开调用签名;参数与返回类型见下表。 |
normalizeOpenAIChatResponse | 函数 | normalizeOpenAIChatResponse(response: OpenAIChatCompletionResponse, context?: OpenAIChatCompletionNormalizationContext): ModelResponse | Normalize Open AI Chat Response 函数,提供 1 个公开调用签名;参数与返回类型见下表。 |
providerSpecFromConfig | 函数 | providerSpecFromConfig(config: OpenAICompatibleProviderConfig): ModelProviderSpec | Provider Spec From Config 函数,提供 1 个公开调用签名;参数与返回类型见下表。 |
ModelTransport | 接口 | interface ModelTransport | Model Transport 接口,共包含 2 个公开字段或方法。 |
OpenAIChatCompletionResponse | 接口 | interface OpenAIChatCompletionResponse | Open AI Chat Completion Response 接口,共包含 4 个公开字段或方法。 |
OpenAICompatibleProviderConfig | 接口 | interface OpenAICompatibleProviderConfig | Open 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参数
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
config | Omit<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参数
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
response | OpenAIChatCompletionResponse | 是 | 必需参数;接受的值由类型列定义。 |
context | OpenAIChatCompletionNormalizationContext | 否 | 可选参数;接受的值由类型列定义。 |
返回值
- 类型:
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参数
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
config | OpenAICompatibleProviderConfig | 是 | 必需参数;接受的值由类型列定义。 |
返回值
- 类型:
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" | 公开属性;类型、只读和可选状态以签名列为准。 |
