OpenAI 插件
OpenAI 插件(@tencent/ssv-ai-sdk-plugin-openai)用于适配 OpenAI Chat Completions 流式协议,将 choices[0].delta.content 转换为 SDK 标准流式内容。
安装
注意该 npm 包为 Coding Npm 的私有源,请先确定已经正确配置了 Coding Npm
bash
npm install @tencent/ssv-ai-sdk-plugin-openai --save
在 Stream 中使用
tsx
import { useStream } from '@tencent/ssv-ai-sdk-react';
import { OpenAIPlugin } from '@tencent/ssv-ai-sdk-plugin-openai';
const { parts, generate } = useStream({
api: {
streamEndpoint: {
url: 'https://your-api.com/openai-compatible-stream',
},
},
mode: 'stream',
streamFormat: 'incremental',
plugins: [new OpenAIPlugin({ model: 'gpt-4o' })],
});
await generate({ input: '你好' });
vue
<script setup>
import { useStream } from '@tencent/ssv-ai-sdk-vue';
import { OpenAIPlugin } from '@tencent/ssv-ai-sdk-plugin-openai';
const { parts, generate } = useStream({
api: {
streamEndpoint: {
url: 'https://your-api.com/openai-compatible-stream',
},
},
mode: 'stream',
streamFormat: 'incremental',
plugins: [new OpenAIPlugin({ model: 'gpt-4o' })],
});
</script>
js
import { StreamMixin } from '@tencent/ssv-ai-sdk-vue2';
import { OpenAIPlugin } from '@tencent/ssv-ai-sdk-plugin-openai';
export default {
mixins: [
StreamMixin({
api: {
streamEndpoint: {
url: 'https://your-api.com/openai-compatible-stream',
},
},
mode: 'stream',
streamFormat: 'incremental',
plugins: [new OpenAIPlugin({ model: 'gpt-4o' })],
}),
],
};
请求结构
默认请求体:
ts
{
model: 'gpt-4o',
stream: true,
messages: context.getMessages().map(m => ({
role: m.role,
content: m.content ?? '',
})),
}
如需自定义 OpenAI 兼容服务的请求结构,可在插件构造参数里传入 transformRequest。
@ssv-lab