活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      一站式智算服务平台

      一站式智算服务平台

        • 产品动态
        • 产品介绍
        • 产品定义
        • 产品优势
        • 功能特性
        • 应用场景
        • 术语解释
        • 使用限制
        • 与其他服务的关系
        • 计费说明
        • 包周期计费模式
        • 按需计费模式-卡时
        • 按需计费模式-Tokens
        • 产品退订
        • 快速入门
        • 准备工作
        • 用户指南
        • 模型广场
        • 体验中心
        • 数据工具
        • 数据处理
        • 模型定制
        • 模型精调
        • 开发机
        • 训练任务
        • 挂载目录
        • 断点续训
        • 模型服务
        • 服务接入
        • 在线服务
        • 调用监控
        • 模型工具
        • 模型评估
        • 模型压缩
        • 训推加速
        • 训练性能与加速
        • 模型的国产化适配与性能加速
        • 断点续训加速
        • 智算资产
        • 我的模型
        • 我的数据集
        • 我的镜像
        • 我的代码包
        • 管理中心
        • 成员管理
        • 资源总览
        • 调度中心
        • 设置
        • 队列管理
        • 工作空间管理
        • 模型简介
        • DeepSeek-R1
        • DeepSeek-V3
        • Baichuan2-Turbo
        • Llama3-70B-Instruct
        • Qwen2.5-72B-Instruct
        • Qwen2-72B-Instruct
        • Qwen-VL-Chat
        • TeleChat-12B
        • InternLM2-Chat-7B
        • 最佳实践
        • 专业模型训练-昇腾环境
        • 专业模型训练-英伟达环境
        • DeepSeek模型调用-快捷版
        • DeepSeek模型调用-专业版
        • 使用专属节点部署DeepSeek服务
        • NLP大模型快速微调
        • 推理服务API
        • 如何调用API
        • 接口类型列表
        • API列表
        • 错误处理
        • API
        • Chat对话API
        • Image文本生图API
        • Embeddings文本向量化API
        • 模型列表API
        • 平台OpenAPI
        • 平台功能API使用说明
        • 常见问题
        • 计费类
        • 操作类
        • 相关协议
        • 一站式智算服务平台服务协议
        • 文档下载
        • 用户使用手册
          无相关产品

          本页目录

          帮助中心一站式智算服务平台最佳实践DeepSeek模型调用-专业版
          DeepSeek模型调用-专业版
          更新时间 2025-06-12 16:37:00
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2025-06-12 16:37:00
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          本章节是关于开发者以OpenAI-API-compatible接口方式集成调用模型的实践。

          说明

          目前天翼云息壤的新老用户均可免费体验2500万Tokens,限时两周。模型广场支持DeepSeek-R1、DeepSeek-V3等多个版本模型的调用。

          支持开发者以OpenAI-API-compatible接口方式集成调用。

          天翼云官网获取模型调用APP key等信息

          模型API终端请求地址

           请求地址

           API终端请求地址:https://wishub-x1.ctyun.cn/v1/chat/completions

            通信协议

           接口通过 HTTPS 进行通信,保护用户数据的机密性和完整性,确保网络通信的安全性。

            请求方法

          • 支持的 HTTP 请求方法:POST。

          • POST 请求支持的 Content-Type 类型:application/json。

          获取模型调用APP key

          • 访问天翼云息壤deepseek活动页地址:https://www.ctyun.cn/act/xirang/deepseek,选择“立即体验”。

          • 登录天翼云账户,进入“体验中心”后切换到“服务接入”。

          • 在“服务接入”下面,创建建服务组。选择默认勾选的模型即可。

          • 创建服务组后,从服务组上面获取APP KEY。

          获取调用的模型名称

          • 左侧导航栏切换到“模型广场”,选择对应想要调用的模型。

          • 获取模型ID作为模型名称。

           例如下图中模型ID为 : 4bd107bff85941239e27b1509eccfe98

          DeepSeek模型版本选择参考:

          • DeepSeek-R1:适合需要高级推理能力和高精度的复杂任务,如科研、金融建模等。响应时间相对长。

          • DeepSeek-V3:适合需要快速响应和高性价比的通用自然语言处理任务,如智能客服、内容生成等。响应时间相对短。

          手动验证key的可用性

          下列请求为DeepSeek-R1-昇腾版请求样例,如果正常返回deepseek回答,代表没有问题。

          注意

          以下curl请求中替换成自己的API KEY后类似“--header 'Authorization: Bearer abcdefghxxsssss' \ ”

          curl --location 'https://wishub-x1.ctyun.cn/v1/chat/completions' \
          --header 'Content-Type: application/json' \
          --header 'Authorization: Bearer 替换成自己的APP KEY' \
          --data '{
              "messages": [
                  {
                      "role": "system",
                      "content": "You are a test assistant."
                  },
                  {
                      "role": "user",
                      "content": "Testing. Just say hi and nothing else."
                  }
              ],
              "model": "4bd107bff85941239e27b1509eccfe98"
          }'

          调用代码示例

          Python

          同步调用

          import os
          import openai
          from openai import OpenAI
          
          # 需要补充一下属性
          baseUrl = "https://wishub-x1.ctyun.cn/v1"
          # 从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
          appKey=os.getenv("XIRANG_app_key")
          DeepSeek_R1_model_id = "4bd107bff85941239e27b1509eccfe98"
          DeepSeek_V3_model_id = "9dc913a037774fc0b248376905c85da5"
          prompt="你好,3.01+103.1等于多少" #对话问题
          
          def main():
              client = OpenAI(base_url=baseUrl, api_key=appKey)
              messages = [
                  {"role": "user", "content": prompt}
              ]
              try:
                  res = client.chat.completions.create(
                      model=DeepSeek_R1_model_id,
                      messages=messages,
                      stream=False
                  )
                  print(res.choices[0].message.content or "", end="", flush=True)
          
              except openai.APIStatusError as e:
                  print(f"APIStatusError: {e.status_code}, {e.message}, {e.body}")
              except openai.APIError as e:
                  print(f"APIError: {e.body}")
              except Exception as e:
                  print(f"Exception: {e}")
          
          if __name__ == "__main__":
              main()

          流式调用

          import os
          import openai
          from openai import OpenAI
          
          # 需要补充一下属性
          baseUrl = "https://wishub-x1.ctyun.cn/v1"
          # 从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
          appKey=os.getenv("XIRANG_app_key")
          DeepSeek_R1_model_id = "4bd107bff85941239e27b1509eccfe98"
          DeepSeek_V3_model_id = "9dc913a037774fc0b248376905c85da5"
          prompt= "你是谁"
          
          def main():
              client = OpenAI(base_url=baseUrl, api_key=appKey)
              messages = [
                  {"role": "user", "content": prompt}
              ]
              try:
                  stream = client.chat.completions.create(
                      model=DeepSeek_R1_model_id,
                      messages=messages,
                      stream=True
                  )
                  # 流式
              for chunk in stream:
                  print(chunk.choices[0].delta.content or "", end="", flush=True)
              except openai.APIStatusError as e:
                  print(f"APIStatusError: {e.status_code}, {e.message}, {e.body}")
              except openai.APIError as e:
                  print(f"APIError: {e.body}")
              except Exception as e:
                  print(f"Exception: {e}")
          
          if __name__ == "__main__":
              main()

          Java

          说明

          • 建议与Spring AI框架直接集成;

          • 参考本文「开源框架集成—Spring AI」章节实现。

          Golang

          注意

          • golang版本要求1.18以上;

          • go.mod引用相关类库 go get github.com/sashabaranov/go-openai。

          同步调用

          package main
          
          import (
                  "context"
                  "fmt"
                  "github.com/openai/openai-go"
                  "github.com/openai/openai-go/option"
                  "os"
          )
          
          func main() {
                  baseUrl:="https://wishub-x1.ctyun.cn/v1" //api前缀地址
                  //从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
                  appkey:=os.Getenv("XIRANG_app_key")
                  modelId:="xxxxxx" //替换成自己要用的模型
                  prompt:="你是谁" //对话问题
          
                  client := openai.NewClient(
                       option.WithAPIKey(appkey),
                       option.WithBaseURL(baseUrl),
                  )
          
                  completion, err := client.Chat.Completions.New(context.Background(),                                openai.ChatCompletionNewParams{
                              Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
                                      openai.ChatCompletionMessage{Content: prompt, Role: "user"},
                  }),
                              Model: openai.F(modelId),
                  })
                  if err != nil {
                      panic(err)
                  }
                  fmt.Println(resp.Choices[0].Message.Content) //打印模型输出
          }

          流式调用

          package main
          
          import (
              "context"
              "fmt"
              "github.com/openai/openai-go"
              "github.com/openai/openai-go/option"
              "os"
          )
          
          func main() {
              baseUrl := "https://wishub.ctyun.cn:1443/v1" //api前缀地址
              //从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
              appkey := os.Getenv("XIRANG_app_key")
              modelId := "xxxxxx" //模型id
              prompt := "你好啊"     //对话问题
          
              client := openai.NewClient(
                 option.WithAPIKey(appkey),
                 option.WithBaseURL(baseUrl),
              )
          
              stream := client.Chat.Completions.NewStreaming(context.Background(),                openai.ChatCompletionNewParams{
                  Messages: openai.F([]openai.ChatCompletionMessageParamUnion{
                    openai.ChatCompletionMessage{Content: prompt, Role: "user"},
                 }),
                 Model: openai.F(modelId),
              })
          
              for stream.Next() {
                 evt := stream.Current()
                 if len(evt.Choices) > 0 {
                    fmt.Print(evt.Choices[0].Delta.Content)
                 }
              }
          
              if err := stream.Err(); err != nil {
                 panic(err)
              }
          }

          PHP

          注意

          • php版本要求8.3.13以上;

          • 安装composer组件;

          • 运行以下命令:
            composer require openai-php/client
            composer dump-autoload

          同步调用

          <?php
          require __DIR__ . '/vendor/autoload.php';
          
          use OpenAI\Client;
          
          $baseUrl="https://wishub-x1.ctyun.cn/v1"; //api前缀地址
          //从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
          $appkey = getenv("XIRANG_app_key");
          $modelId="xxxxx"; //替换成自己要用的模型
          $prompt="你好,介绍一下自己"; //#对话问题
          
          $client = OpenAI::factory()
              ->withApiKey($appkey)
              ->withBaseUri($baseUrl)
              ->make();
          
          $response = $client->chat()->create([
              'model' => $modelId,
              'messages' => [
                  ['role' => 'user', 'content' => $prompt],
              ],
          ]);
          
          
          foreach ($response->choices as $result) {
              echo $result->message->content;
          }

          流式调用

          <?php
          require __DIR__ . '/vendor/autoload.php';
          
          use OpenAI\Client;
          
          $baseUrl="https://wishub-x1.ctyun.cn/v1"; //api前缀地址
          //从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
          $appkey = getenv("XIRANG_app_key");
          $modelId="xxxxx"; //替换成自己要用的模型
          $prompt="你好,介绍一下自己"; //#对话问题
          
          $client = OpenAI::factory()
              ->withApiKey($appKey)
              ->withBaseUri($baseUrl)
              ->make();
          
          $stream = $client->chat()->createStreamed([
              'model' => $modelId,
              'messages' => [
                  ['role' => 'user', 'content' => $prompt],
              ],
          ]);
          
          foreach($stream as $response){
              $data=$response->choices[0];
              echo json_encode($data, JSON_UNESCAPED_UNICODE,JSON_PRETTY_PRINT).PHP_EOL;
          }

          Nodejs

          注意

          • 测试用的node版本>=v17.9.1,npm版本>=8.11.0;

          • 运行前需执行一下命令:
            npm init -y
            npm install openai

          • 在生成的package.json文件中添加"type":"module";

          • 替换baseUrl,appkey,modelId,prompt等字段的值。

          同步调用

          import OpenAI from 'openai';
          
          const baseUrl="https://wishub-x1.ctyun.cn/v1" //api前缀地址
          //从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
          const appkey= process.env.XIRANG_app_key
          const modelId="xxxxx" //模型id
          const prompt="你好啊,给一篇100字左右的作文" //对话问题
          
          
          const client = new OpenAI({
              apiKey: appkey,
              baseURL:baseUrl
          });
          
          async function chatCompletion() {
              const completion = await client.chat.completions.create({
                  model: modelId,
                  messages: [{ role: 'user', content: prompt }],
              });
              console.log(completion.choices[0]?.message?.content);
          }
          
          chatCompletion();

          流式调用

          import OpenAI from 'openai';
          
          const baseUrl="https://wishub-x1.ctyun.cn/v1" //api前缀地址
          //从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
          const appkey= process.env.XIRANG_app_key
          const modelId="xxxxx" //模型id
          const prompt="你好啊,给一篇100字左右的作文" //对话问题
          
          
          const client = new OpenAI({
              apiKey: appkey,
              baseURL:baseUrl
          });
          
          async function stream_chatCompletion() {
              const stream = await client.chat.completions.create({
                  model: modelId,
                  messages: [{ role: 'user', content: prompt }],
                  stream: true,
              });
              for await (const chunk of stream) {
                  process.stdout.write(chunk.choices[0]?.delta?.content || '');
              }
          }
          
          stream_chatCompletion();

          开源框架集成

          说明

          • 部分第三方工具调用可能存在接口不适配问题,如涉及工具调用时,建议优先使用下文提及的工具。

          • 涉及第三方工具配置时,API key等同于上文中创建的服务组APP key。

          Langchain调用

          参考langchain的自定义模型文档通过OpenAI协议调用即可。

          from langchain.chat_models import ChatOpenAI
          from langchain.schema import HumanMessage
          
          def main():
              # 初始化LangChain模型,配置自定义API端点
              llm = ChatOpenAI(
                  model_name="9dc913a037774fc0b248376905c85da5",  # 自定义模型名称
                 # 从环境变量获取API密钥,如果没有设置,也可以直接终端执行export XIRANG_app_key="xxx"
                  openai_api_key=os.getenv("XIRANG_app_key)
                  openai_api_base="https://wishub-x1.ctyun.cn/v1",  # API基础URL
                  temperature=0.7
              )
          
              # 创建一个聊天消息
              message = HumanMessage(content="你是谁")
              
              # 使用LangChain进行对话
              response = llm([message])
              print(response.content)
          
          
          if __name__ == "__main__":
              main()

          Dify

          说明

          • 前置条件:本地下载并安装Docker。
          • 访问 Docker 官方网站,点击“Download Docker Desktop”按钮,选择合适的 Windows、macOS 或 Linux版本下载并安装。

          拉取dify镜像到本地

          # 如果本地已安装dify可以忽略
          # 假设当前最新版本为 0.15.3
          git clone https://github.com/langgenius/dify.git --branch 0.15.3

          修改配置参数

          cd docker
          mv .env.example .env

          启动并验证

          #执行:
          docker compose up -d
          # 等服务启动访问
          http://localhost/apps

          配置天翼云息壤模型

          配置方式一:直接配置方式(所有版本均可使用)

          通过直接配置OpenAI-API-compatible支持,配置方式如下:

          配置方式二:使用息壤镜像配置方式(仅支持0.15.3版本)

          修改env配置

          cd docker
          #在.env文件添加
          CUSTOM_MODEL_ENABLED=true
          OLLAMA_API_BASE_URL=host.docker.internal:11434

          修改下api和work的镜像地址,改为增加了xirang模型供应商的dify 0.15.3版本。

          修改后需要重启dify。

          services:
            # API service with Xirang model provider
            api:
              image: telecom-eci-huadong1-crs-registry-huadong1.crs.ctyun.cn/xirang/dify-with-xirang:0.15.3 # 原来为langgenius/dify-api:0.15.3
              
              
             # worker service
            # The Celery worker for processing the queue.
            worker:
              image: telecom-eci-huadong1-crs-registry-huadong1.crs.ctyun.cn/xirang/dify-with-xirang:0.15.3 # 原来为langgenius/dify-api:0.15.3

          在个人设置里面点击模型供应商,选择天翼云模型。

          点击保存后,可以看到模型的配置。

           

          其他非预置模型:

          配置对话助手

          常见问题(0.15.3版本)

          如遇到无法展示问题,可能是因为您的dify版本为最新版,我们目前还不支持,可执行以下操作切换到0.15.3版本并重启服务。

          dify插件需要切换版本重新启动服务才可以达成兼容
          git clone  https://gitcode.com/gh_mirrors/di/dify.git 
          cd dify
          git checkout 7796984444191c639bd3c541a44e832b17ad1cae

          如遇到息壤镜像失败问题,可切换到dify原始镜像,通过配置直接配置OpenAI-API-compatible支持,配置方式如下:

          Spring AI

          注意

          Spring AI要求使用JDK 17或更高版本,Spring AI需要在Spring Boot 3.2.x或更高版本的环境中运行。

          核心代码如下:

          OpenAIConfig配置类:

          package com.demo.aitest;
          
          import jakarta.annotation.PostConstruct;
          import org.slf4j.Logger;
          import org.slf4j.LoggerFactory;
          import org.springframework.beans.factory.annotation.Value;
          import org.springframework.context.annotation.Bean;
          import org.springframework.context.annotation.Configuration;
          import org.springframework.ai.openai.OpenAiChatClient;
          import org.springframework.ai.openai.OpenAiChatOptions;
          import org.springframework.ai.openai.api.OpenAiApi;
          
          @Configuration
          public class OpenAIConfig {
          
              @Value("${spring.ai.openai.api-key}")
              private String apiKey;
          
              @Value("${spring.ai.openai.base-url}")
              private String baseUrl;
          
              @Value("${spring.ai.openai.chat.options.model}")
              private String model;
          
              @Bean
              public OpenAiChatClient openAiChatClient() {
                  OpenAiApi openAiApi = new OpenAiApi(baseUrl, apiKey);
                  OpenAiChatOptions options = new OpenAiChatOptions();
                  options.setModel(model);
                  options.setFrequencyPenalty(0.0f);
                  options.setMaxTokens(2000);
                  return new OpenAiChatClient(openAiApi, options);
              }
          
          }

          ChatController 类:

          package com.lili.aitest;
          
          import org.springframework.ai.openai.OpenAiChatClient;
          import org.springframework.ai.chat.messages.UserMessage;
          import org.springframework.beans.factory.annotation.Autowired;
          import org.springframework.beans.factory.annotation.Value;
          import org.springframework.ai.chat.ChatResponse;
          import org.springframework.ai.chat.prompt.Prompt;
          import org.springframework.web.bind.annotation.*;
          import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
          import org.slf4j.Logger;
          import org.slf4j.LoggerFactory;
          import java.io.IOException;
          
          
          @RestController
          public class ChatController {
              private static final Logger logger = LoggerFactory.getLogger(ChatController.class);
          
              @Autowired
              private OpenAiChatClient chatClient;
          
              @GetMapping("/chat")
              public String chat(@RequestParam String message) {
                  try {
                      ChatResponse response = chatClient.call(new Prompt(message));
                      String content = response.getResult().getOutput().getContent();
                      
                      logger.info("Response received successfully");
                      return content;
                      
                  } catch (Exception e) {
                      logger.error("Error processing chat request: {}", e.getMessage());
                      throw e;
                  }
              }
          
              @GetMapping(value = "/chat/stream", produces = "text/event-stream;charset=UTF-8")
              public SseEmitter streamChat(@RequestParam String message) {
                  SseEmitter emitter = new SseEmitter(-1L); // 无限超时
                  
                  try {
                      
                      // Create prompt with UserMessage
                      Prompt prompt = new Prompt(new UserMessage(message));
                      
                      // Stream the response
                      chatClient.stream(prompt).subscribe(
                          chunk -> {
                              try {
                                  if (chunk != null && chunk.getResult() != null) {
                                      String content = chunk.getResult().getOutput().getContent();
                                      if (content != null && !content.isEmpty()) {
                                          emitter.send(content);
                                      }
                                  }
                              } catch (IOException e) {
                                  logger.error("Error sending chunk: {}", e.getMessage());
                                  emitter.completeWithError(e);
                              }
                          },
                          error -> {
                              logger.error("Error in stream: {}", error.getMessage());
                              emitter.completeWithError(error);
                          },
                          () -> {
                              logger.info("Stream completed successfully");
                              emitter.complete();
                          }
                      );
                      
                  } catch (Exception e) {
                      logger.error("Error processing streaming chat request: {}", e.getMessage());
                      emitter.completeWithError(e);
                  }
                  
                  return emitter;
              }
          }

          application.yml配置如下:

          spring:
            ai:
              openai:
                api-key: Your_APP_KEY   #替换成👆自己的API KEY
                base-url: https://wishub-x1.ctyun.cn
                chat:
                  options:
                    model: 4bd107bff85941239e27b1509eccfe98. #替换成👆自己要用的模型
          server:
            servlet:
              encoding:
                charset: UTF-8
                force: true
                enabled: true

          pom.xml依赖如下:

          <?xml version="1.0" encoding="UTF-8"?>
          <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
              <modelVersion>4.0.0</modelVersion>
              <parent>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-parent</artifactId>
                  <version>3.2.2</version>
                  <relativePath/> <!-- lookup parent from repository -->
              </parent>
              <groupId>com.demo</groupId>
              <artifactId>aitest</artifactId>
              <version>0.0.1-SNAPSHOT</version>
              <name>aitest</name>
              <description>aitest</description>
          
              <properties>
                  <java.version>17</java.version>
                  <spring-ai.version>0.8.1</spring-ai.version>
                  <spring-cloud.version>2023.0.0</spring-cloud.version>
              </properties>
              <dependencies>
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-web</artifactId>
                  </dependency>
                  <dependency>
                      <groupId>org.springframework.ai</groupId>
                      <artifactId>spring-ai-openai-spring-boot-starter</artifactId>
                      <version>${spring-ai.version}</version>
                  </dependency>
                  <dependency>
                      <groupId>org.springframework.cloud</groupId>
                      <artifactId>spring-cloud-function-web</artifactId>
                  </dependency>
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-test</artifactId>
                      <scope>test</scope>
                  </dependency>
              </dependencies>
          
              <dependencyManagement>
                  <dependencies>
                      <dependency>
                          <groupId>org.springframework.cloud</groupId>
                          <artifactId>spring-cloud-dependencies</artifactId>
                          <version>${spring-cloud.version}</version>
                          <type>pom</type>
                          <scope>import</scope>
                      </dependency>
                      <dependency>
                          <groupId>org.springframework.ai</groupId>
                          <artifactId>spring-ai-bom</artifactId>
                          <version>${spring-ai.version}</version>
                          <type>pom</type>
                          <scope>import</scope>
                      </dependency>
                  </dependencies>
              </dependencyManagement>
          
              <build>
                  <plugins>
                      <plugin>
                          <groupId>org.springframework.boot</groupId>
                          <artifactId>spring-boot-maven-plugin</artifactId>
                      </plugin>
                  </plugins>
              </build>
              <repositories>
                  <repository>
                      <id>spring-snapshots</id>
                      <name>Spring Snapshots</name>
                      <url>https://repo.spring.io/snapshot</url>
                      <releases>
                          <enabled>false</enabled>
                      </releases>
                  </repository>
                  <repository>
                      <id>spring-milestones</id>
                      <name>Spring Milestones</name>
                      <url>https://repo.spring.io/milestone</url>
                      <snapshots>
                          <enabled>false</enabled>
                      </snapshots>
                  </repository>
              </repositories>
          </project>

          访问地址:

          同步:http://localhost:8080/chat?message=Hello

          流式访问:http://localhost:8080/chat/stream?message=Hello

          Ragflow

          注意

          目前息壤model不支持embedding model能力,因此只能作为chat model提供能力。

          • 下载镜像git clone https://github.com/infiniflow/ragflow.git

          • 通过docker安装并启动。

          cd ragflow/docker
          docker compose -f docker-compose-CN.yml up -d
          • 检查 RAGFlow 服务是否正常启动。

          docker logs -f ragflow-server

          如果看到类似以下输出,则表示启动成功:

              * Running on all addresses (0.0.0.0)
              * Running on http://127.0.0.1:9380
              * Running on http://x.x.x.x:9380
          • 打开浏览器配置模型Xinference服务提供商。

          在浏览器中输入服务器的 IP 地址访问 RAGFlow。默认情况下,RAGFlow 使用 HTTP 端口 80,因此无需输入端口号。

          选择“Xinference”模型服务商( Xinference是工厂配置,支持自定义模型名称)。

          配置chatmodel的界面如下:

          回到对话界面,配置聊天助手:

          开启对话:

          常见报错

          触发限流

          报错信息为:[openai_api_compatible]Error:APIrequestfailedwithstatuscode429:{"code":700007,"detail":"Deepseek模型并发已达上限","message":"DEEP_SEEK_MODEL_CONCURRENCY_LIMIT","error":{"code":"700007","message":"Deepseek模型并发已达上限","type":"DEEP_SEEK_MODEL_CONCURRENCY_LIMIT"}} 
          • 问题原因:大模型并发是大模型的并发能力,和用户、tokens是否用完都无关,只和机器负载能力有关。目前单个模型有固定的并发度,这是所有ds模型共享的并发度,只能支持固定个请求同时访问。

          • 解决方案:等一段时间再调用,或增加重试机制。

          同步调用响应耗时长

          问题原因:大模型API同步耗时长是因为其推理过程复杂,需要逐个生成token并拼接结果,且在处理长文本或复杂问题时,等待完整结果返回的时间过长。而流式API可以在推理过程中逐步返回结果,用户无需等待全部结果生成,从而提升交互效率。解决方案:改为流式调用。

          附:code样例

          demo-code.zip

          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  DeepSeek模型调用-快捷版
          下一篇 :  使用专属节点部署DeepSeek服务
          搜索 关闭
          ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2025天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明