Amux

DeepSeek 适配器

使用 DeepSeek 适配器连接 DeepSeek Chat 和 DeepSeek Coder 模型

DeepSeek 适配器提供了与 DeepSeek API 的集成。DeepSeek API 完全兼容 OpenAI 格式,提供高性价比的 AI 服务。

安装

pnpm add @amux.ai/llm-bridge @amux.ai/adapter-deepseek

基本使用

import { createBridge } from '@amux.ai/llm-bridge'
import { deepseekAdapter } from '@amux.ai/adapter-deepseek'

const bridge = createBridge({
  inbound: deepseekAdapter,
  outbound: deepseekAdapter,
  config: {
    apiKey: process.env.DEEPSEEK_API_KEY
  }
})

const response = await bridge.chat({
  model: 'deepseek-chat',
  messages: [
    { role: 'system', content: '你是一个有帮助的助手。' },
    { role: 'user', content: '什么是 Amux?' }
  ]
})

console.log(response.choices[0].message.content)

支持的模型

模型描述特点
deepseek-chat通用对话模型高性价比,适合日常对话
deepseek-coder代码专用模型专注于代码生成和理解
deepseek-reasoner推理模型高级推理能力

DeepSeek Reasoner 限制: 使用 deepseek-reasoner 模型时:

  • 不支持系统消息,系统消息会被静默跳过。如果包含系统消息,API 会返回错误。
  • 输入消息中不能包含 reasoning_content 字段,否则 API 会返回 400 错误。
  • max_tokens 会被限制在 1-8192 范围内。

主要功能

代码生成

DeepSeek Coder 专门优化了代码能力:

const response = await bridge.chat({
  model: 'deepseek-coder',
  messages: [
    {
      role: 'user',
      content: '用 TypeScript 写一个快速排序函数'
    }
  ],
  temperature: 0.3 // 降低温度以获得更确定的代码
})

console.log(response.choices[0].message.content)

推理能力 (DeepSeek Reasoner)

DeepSeek Reasoner 支持深度推理,通过 reasoning_content 字段返回推理过程:

const response = await bridge.chat({
  model: 'deepseek-reasoner',
  messages: [
    // 注意:reasoner 模型不支持系统消息
    { role: 'user', content: '请逐步求解:如果 3x + 7 = 22,x 是多少?' }
  ]
})

// 访问推理内容
console.log('推理过程:', response.choices[0].message.reasoning_content)
console.log('最终回答:', response.choices[0].message.content)

也可以通过 thinking 参数显式启用思考模式:

const response = await bridge.chat({
  model: 'deepseek-chat',
  messages: [{ role: 'user', content: '复杂分析...' }],
  thinking: { type: 'enabled' }
})

流式推理:

const stream = bridge.chatStreamRaw({
  model: 'deepseek-reasoner',
  messages: [{ role: 'user', content: '证明根号 2 是无理数。' }],
  stream: true
})

for await (const event of stream) {
  if (event.type === 'reasoning') {
    process.stdout.write(`[思考] ${event.reasoning?.delta}`)
  } else if (event.type === 'content') {
    process.stdout.write(event.content?.delta ?? '')
  }
}

函数调用

const response = await bridge.chat({
  model: 'deepseek-chat',
  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: 'deepseek-chat',
  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: deepseekAdapter,
  outbound: deepseekAdapter,
  config: {
    apiKey: process.env.DEEPSEEK_API_KEY,
    baseURL: 'https://api.deepseek.com', // 默认值
    timeout: 60000
  }
})

与 OpenAI 互转

DeepSeek 完全兼容 OpenAI 格式:

import { openaiAdapter } from '@amux.ai/adapter-openai'
import { deepseekAdapter } from '@amux.ai/adapter-deepseek'

// OpenAI 格式 → DeepSeek API
const bridge = createBridge({
  inbound: openaiAdapter,
  outbound: deepseekAdapter,
  config: {
    apiKey: process.env.DEEPSEEK_API_KEY
  }
})

// 使用 OpenAI 格式发送请求
const response = await bridge.chat({
  model: 'gpt-4', // 会被映射到 deepseek-chat
  messages: [{ role: 'user', content: '你好' }]
})

功能支持

功能支持说明
聊天补全完全支持
流式传输完全支持
函数调用完全支持
视觉不支持
系统提示deepseek-reasoner 模型不支持
推理能力deepseek-reasoner 模型,reasoning_content 字段
思考模式thinking: { type: 'enabled' | 'disabled' }
JSON 模式仅支持 json_object(不支持 json_schema
Logprobs完全支持
缓存 Tokenusage 中包含 prompt_cache_hit_tokens / prompt_cache_miss_tokens

优势

  • 高性价比:价格远低于 GPT-4,性能接近
  • 代码能力强:DeepSeek Coder 在代码任务上表现优异
  • OpenAI 兼容:可以无缝替换 OpenAI API
  • 中文友好:对中文支持良好

最佳实践

1. 选择合适的模型

// 日常对话使用 deepseek-chat
const chatResponse = await bridge.chat({
  model: 'deepseek-chat',
  messages: [{ role: 'user', content: '介绍一下你自己' }]
})

// 代码任务使用 deepseek-coder
const codeResponse = await bridge.chat({
  model: 'deepseek-coder',
  messages: [{ role: 'user', content: '写一个二分查找算法' }]
})

// 复杂推理使用 deepseek-reasoner
const reasoningResponse = await bridge.chat({
  model: 'deepseek-reasoner',
  // 注意:reasoner 模型不支持系统消息
  messages: [{ role: 'user', content: '请解决这个复杂的问题...' }]
})

2. 优化代码生成

const response = await bridge.chat({
  model: 'deepseek-coder',
  messages: [
    {
      role: 'system',
      content: '你是一个专业的程序员。生成简洁、高效、有注释的代码。'
    },
    {
      role: 'user',
      content: '用 Python 实现一个 LRU 缓存'
    }
  ],
  temperature: 0.2, // 低温度获得更确定的代码
  max_tokens: 1000
})

相关资源

下一步

On this page