Qwen 适配器
使用 Qwen 适配器连接阿里云通义千问系列模型
Qwen 适配器提供了与阿里云通义千问 API 的集成,支持文本生成、视觉理解和函数调用等功能。
安装
pnpm add @amux.ai/llm-bridge @amux.ai/adapter-qwen基本使用
import { createBridge } from '@amux.ai/llm-bridge'
import { qwenAdapter } from '@amux.ai/adapter-qwen'
const bridge = createBridge({
inbound: qwenAdapter,
outbound: qwenAdapter,
config: {
apiKey: process.env.QWEN_API_KEY
}
})
const response = await bridge.chat({
model: 'qwen-turbo',
messages: [
{ role: 'system', content: '你是一个有帮助的助手。' },
{ role: 'user', content: '什么是 Amux?' }
]
})
console.log(response.choices[0].message.content)支持的模型
| 模型 | 描述 | 特点 |
|---|---|---|
qwen-turbo | 快速模型 | 响应快,成本低 |
qwen-plus | 增强模型 | 性能更强 |
qwen-max | 旗舰模型 | 最强性能 |
qwen-vl-plus | 视觉模型 | 支持图像理解 |
qwen-vl-max | 视觉旗舰 | 最强视觉能力 |
主要功能
文本生成
const response = await bridge.chat({
model: 'qwen-max',
messages: [
{
role: 'system',
content: '你是一个专业的技术文档编写者。'
},
{
role: 'user',
content: '写一篇关于 TypeScript 泛型的教程'
}
],
temperature: 0.7,
max_tokens: 2000
})视觉理解
使用 Qwen-VL 模型分析图像:
const response = await bridge.chat({
model: 'qwen-vl-plus',
messages: [{
role: 'user',
content: [
{
type: 'text',
text: '这张图片里有什么?'
},
{
type: 'image',
image: 'https://example.com/image.jpg'
}
]
}]
})Qwen-VL 支持多种图像格式,包括 URL 和 Base64 编码。
函数调用
const response = await bridge.chat({
model: 'qwen-plus',
messages: [
{ role: 'user', content: '北京现在几点?' }
],
tools: [{
type: 'function',
function: {
name: 'get_current_time',
description: '获取指定城市的当前时间',
parameters: {
type: 'object',
properties: {
city: { type: 'string' }
},
required: ['city']
}
}
}]
})流式传输
const stream = bridge.chatStream({
model: 'qwen-turbo',
messages: [
{ role: 'user', content: '讲一个故事' }
],
stream: true
})
for await (const chunk of stream) {
if (chunk.choices[0]?.delta?.content) {
process.stdout.write(chunk.choices[0].delta.content)
}
}配置选项
const bridge = createBridge({
inbound: qwenAdapter,
outbound: qwenAdapter,
config: {
apiKey: process.env.QWEN_API_KEY,
baseURL: 'https://dashscope.aliyuncs.com/compatible-mode', // 默认值
timeout: 60000
}
})功能支持
| 功能 | 支持 | 说明 |
|---|---|---|
| 聊天补全 | ✅ | 完全支持 |
| 流式传输 | ✅ | 完全支持 |
| 函数调用 | ✅ | 完全支持 |
| 视觉 | ✅ | Qwen-VL 系列 |
| 多模态 | ✅ | 支持文本+图像(也支持音频/视频) |
| 系统提示 | ✅ | 完全支持 |
| 推理能力 | ✅ | QwQ 模型使用 enable_thinking: true,reasoning_content 字段 |
| JSON 模式 | ✅ | 仅支持 json_object |
| 网络搜索 | ✅ | enable_search: true |
| Seed | ✅ | 确定性生成 |
Qwen 特有参数:
enable_thinking(boolean) -- 为 QwQ 推理模型启用深度思考模式enable_search(boolean) -- 启用实时网络搜索fps(number) -- 视频输入的帧率(存储在extensions.qwen.fps)
最佳实践
1. 选择合适的模型
// 快速响应场景使用 turbo
const quickResponse = await bridge.chat({
model: 'qwen-turbo',
messages: [{ role: 'user', content: '简单问题' }]
})
// 复杂任务使用 max
const complexTask = await bridge.chat({
model: 'qwen-max',
messages: [{ role: 'user', content: '复杂的分析任务' }]
})
// 图像理解使用 vl 系列
const imageAnalysis = await bridge.chat({
model: 'qwen-vl-plus',
messages: [{ role: 'user', content: [...] }]
})2. 优化中文处理
// Qwen 对中文支持非常好
const response = await bridge.chat({
model: 'qwen-max',
messages: [
{
role: 'system',
content: '你是一个精通中文的助手,使用地道的中文表达。'
},
{
role: 'user',
content: '用中文解释量子计算的原理'
}
]
})3. 处理多模态输入
const response = await bridge.chat({
model: 'qwen-vl-max',
messages: [{
role: 'user',
content: [
{ type: 'text', text: '分析这张图表并总结要点' },
{ type: 'image', image: 'https://example.com/chart.png' }
]
}]
})与 OpenAI 互转
import { openaiAdapter } from '@amux.ai/adapter-openai'
import { qwenAdapter } from '@amux.ai/adapter-qwen'
const bridge = createBridge({
inbound: openaiAdapter,
outbound: qwenAdapter,
config: {
apiKey: process.env.QWEN_API_KEY
}
})
// 使用 OpenAI 格式发送请求
const response = await bridge.chat({
model: 'gpt-4',
messages: [{ role: 'user', content: '你好' }]
})