模型名称 | 类型 | 描述 | 参数文档 |
|---|---|---|---|
| deepseek-r1 | 文本生成 | 深度求索推理模型,支持复杂推理任务 | 阿里云百炼控制台 |
| qwen-turbo | 文本生成 | 通义千问快速模型,适合一般对话场景 | 待补充 |
| qwen-vl-plus | 多模态 | 通义千问视觉语言模型,支持图片理解 | 待补充 |
| 其他模型 | 待定 | 更多模型正在接入中 | 待服务端补充 |
方法签名:
功能:以流式方式调用模型生成文本,适合实时对话场景
参数:
interface StreamTextOptions {
messages: Message[]; // 消息数组
temperature?: number; // 温度参数(可选)
max_tokens?: number; // 最大生成长度(可选)
}
方法签名:
功能:一次性生成完整文本,适合批量处理场景
参数:
interface GenerateTextOptions {
messages: Message[]; // 消息数组
temperature?: number; // 温度参数(可选)
max_tokens?: number; // 最大生成长度(可选)
}
class MyAgent extends AgentRuntime {
async sendMessage(input) {
try {
// 1. 创建模型实例
const model = this.createModel('deepseek-r1');
// 2. 构建消息
const messages = [
{
role: 'system',
content: '你是一个有用的AI助手。'
},
{
role: 'user',
content: JSON.parse(input.msg).msg
}
];
// 3. 流式调用
const modelResponse = await model.streamText({ messages });
// 4. 处理响应
for await (const chunk of modelResponse) {
this.sseSender.send({ data: chunk });
}
} catch (error) {
console.error('Model error:', error);
} finally {
this.sseSender.end();
}
}
}
class MultiModalAgent extends AgentRuntime {
async sendMessage(input) {
try {
const parsedInput = JSON.parse(input.msg);
const model = this.createModel('qwen-vl-plus'); // 多模态模型
const messages = [
{
role: 'system',
content: '你是一个可以理解图片的AI助手。'
},
{
role: 'user',
content: parsedInput.image ? [
{ type: 'text', text: parsedInput.msg },
{ type: 'image_url', image_url: { url: parsedInput.image } }
] : parsedInput.msg
}
];
const modelResponse = await model.streamText({
messages,
temperature: 0.7,
max_tokens: 1000
});
for await (const chunk of modelResponse) {
this.sseSender.send({ data: chunk });
}
} catch (error) {
console.error('MultiModal error:', error);
} finally {
this.sseSender.end();
}
}
}
class BatchAgent extends AgentRuntime {
async processBatch(inputs) {
const model = this.createModel('qwen-turbo');
const results = [];
for (const input of inputs) {
try {
const response = await model.generateText({
messages: [
{ role: 'user', content: input.text }
],
temperature: 0.5
});
results.push({
input: input.text,
output: response.choices[0].message.content
});
} catch (error) {
results.push({
input: input.text,
error: error.message
});
}
}
return results;
}
}
⚠️ 重要提醒:
// 模型创建函数
function createModel(modelName: string): ReactModel;
// 消息类型
interface Message {
role: 'system' | 'user' | 'assistant';
content: string | Array<{type: string; text?: string; image_url?: {url: string}}>;
}
// 模型响应类型
interface ModelResponse {
choices: Array<{
message: {
role: string;
content: string;
type?: string;
};
}>;
usage?: {
prompt_tokens: number;
completion_tokens: number;
total_tokens: number;
};
}