跳到主要内容

面向一个稳定接口开发。

在 DSH 插件中使用语言模型、检索、语音与图像能力,无需为每次集成重复搭建提供方管线。

独立项目 · DSH 0.2.x · 英文与简体中文

集成路径示意 契约可用
使用方插件await ctx.embeddings.embed(texts)
OpenAILocalAIAnthropicOllamaCohereDashScopeJina
@dsh-ai-providers/core稳定的使用方契约
llm语言模型
embed嵌入
rerank重排
tts文本转语音
stt语音转文本
image图像生成
decision决策
配置一次在不同能力间复用连接与凭据引用。
使用统一契约让插件代码与厂商传输层保持独立。
协调容量共享并发限制,并为前台工作预留空间。

抽象层本身就是产品。

使用方插件调用稳定服务;运行时负责选择与协调;厂商包负责传输及有价值的提供方专属选项。

01使用方

依赖共享类型,并从 Cordis 上下文请求某项能力。

02运行时

注册提供方、解析选择、规范化错误并控制并发。

03厂商包

解析连接并执行提供方专属请求。

consumer.tsconst vectors = await ctx.embeddings.embed(texts, { inputType: 'document', signal, })

使用方无需处理厂商凭据、端点、批处理、HTTP 错误或提供方选择;这些关注点都保留在服务边界之后。

已实现的能力接口

一个整合包即可安装本项目维护的运行时与全部提供方。部署范围较小时,也可单独安装各个包。

llm语言模型多个提供方路由可通过 DSH 模型接口并存。
embed嵌入所选提供方通过 ctx.embeddings 公开。
rerank重排所选提供方通过 ctx.rerankers 公开。
tts文本转语音通过 ctx.textToSpeech 流式输出音频。
stt语音转文本提供文件转写与可选的实时转写服务。
image图像生成返回生成的二进制对象,并支持可选参考图。
decision决策通过 ctx.decisions 以概率给出带类型的答案。

边界可互换,细节不抹平。

公共契约刻意保持精简。提供方包仍可公开其服务实际支持的模型名称、维度、声音、推理控制与其他选项。

阅读架构说明
OpenAI-compatibleLLM · embed · TTS · STT · image
LocalAILLM · embed · rerank · decide · TTS · STT · image
AnthropicLLM
OllamaLLM · embed
CohereLLM · embed · rerank
DashScopeLLM · embed · rerank · TTS · STT · image
Jinarerank · embed
TypeSafedecide

不再重复搭建同一套集成层。

安装维护中的整合包,或仅依赖核心契约以及插件所需的提供方包。