我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统。陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户。

随时近来 AI 大模型的火热,越来越多的客户,问到过能否把客服系统接入 DeepSeek,或者其它大语言模型。

说干就干,看看实现效果吧:

本文将提供一个详细的示例,展示如何调用 DeepSeek 的自然语言处理 API 接口。我们将以情感分析为例,演示如何发送请求、处理响应以及处理可能的错误。

如何调用 DeepSeek 接口

1. 准备工作

在开始之前,请确保完成以下步骤:

  1. 注册 DeepSeek 账户:访问 DeepSeek 官网 并注册一个账户。

  2. 获取 API 密钥:登录后,进入“开发者中心”或“API 管理”页面,创建一个新的 API 密钥。

  3. 安装必要的库:我们将使用 Python 的 requests 库来发送 HTTP 请求。如果尚未安装,可以通过以下命令安装:

    pip install requests

2. 情感分析 API 示例

DeepSeek 的情感分析 API 可以分析一段文本的情感倾向(如正面、负面或中性)。以下是一个完整的示例代码,包含详细的注释和错误处理。

2.1 示例代码

import requests
import json # DeepSeek 情感分析 API 端点
url = "https://api.deepseek.com/v1/sentiment-analysis" # 替换为你的 API 密钥
API_KEY = "YOUR_API_KEY" # 请求头,包含 API 密钥和内容类型
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
} # 请求体,包含待分析的文本
data = {
"text": "DeepSeek 的 API 非常易于使用,文档也很清晰!",
"language": "zh" # 可选参数,指定文本语言
} try:
# 发送 POST 请求
response = requests.post(url, headers=headers, data=json.dumps(data)) # 检查响应状态码
if response.status_code == 200:
# 解析 JSON 响应
result = response.json()
print("情感分析结果:")
print(f"文本: {result.get('text')}")
print(f"情感倾向: {result.get('sentiment')}")
print(f"置信度: {result.get('confidence')}")
else:
# 处理错误响应
print(f"请求失败,状态码: {response.status_code}")
print(f"错误信息: {response.text}") except requests.exceptions.RequestException as e:
# 处理网络请求异常
print(f"网络请求失败: {e}")
except json.JSONDecodeError as e:
# 处理 JSON 解析异常
print(f"JSON 解析失败: {e}")
except Exception as e:
# 处理其他异常
print(f"发生未知错误: {e}")

2.2 代码说明

  1. API 端点

    • url 是 DeepSeek 情感分析 API 的端点地址。
    • 如果需要调用其他 API(如文本分类、实体识别等),请参考 DeepSeek API 文档 修改端点地址。
  2. 请求头

    • Authorization 字段包含 API 密钥,用于身份验证。
    • Content-Type 字段指定请求体的格式为 JSON。
  3. 请求体

    • text 是待分析的文本。
    • language 是可选参数,用于指定文本的语言(如 zh 表示中文,en 表示英文)。
  4. 错误处理

    • 检查 HTTP 状态码是否为 200,表示请求成功。
    • 如果状态码不是 200,输出错误信息。
    • 捕获网络请求异常、JSON 解析异常和其他未知异常。
  5. 响应解析

    • 成功响应是一个 JSON 对象,包含以下字段:

      • text:原始文本。
      • sentiment:情感倾向(如 positivenegativeneutral)。
      • confidence:置信度(0 到 1 之间的浮点数,表示结果的可靠性)。

2.3 示例输出

如果请求成功,代码将输出类似以下内容:

情感分析结果:
文本: DeepSeek 的 API 非常易于使用,文档也很清晰!
情感倾向: positive
置信度: 0.95

如果请求失败,代码将输出错误信息,例如:

请求失败,状态码: 401
错误信息: {"error": "Unauthorized", "message": "Invalid API key"}

3. 扩展功能

DeepSeek 提供了多种自然语言处理功能,以下是一些常见的 API 接口及其用途:

  1. 文本分类

    • 用途:将文本分类到预定义的类别中。
    • 示例:新闻分类、垃圾邮件检测。
  2. 实体识别

    • 用途:识别文本中的人名、地名、组织名等实体。
    • 示例:从文本中提取关键信息。
  3. 关键词提取

    • 用途:从文本中提取重要的关键词。
    • 示例:生成文本摘要。
  4. 语言检测

    • 用途:检测文本的语言。
    • 示例:多语言内容处理。

4. 最佳实践

  1. 缓存结果

    • 对于重复的请求,可以将结果缓存到本地,以减少 API 调用次数。
  2. 限制请求频率

    • 避免频繁调用 API,以免触发速率限制。
  3. 处理大文本

    • 如果文本过长,可以将其分块处理,或使用 DeepSeek 提供的分块处理功能。
  4. 监控 API 使用情况

    • 定期检查 API 使用情况,确保未超出配额。

如何将 DeepSeek 与客服系统集成

其实,我们只需要将 API key 填写到客服系统 Web 管理后台 AI 设置 中的 DeepSeek 参数设置即可。因为客服系统后台已经完成了相关的接口调用开发。

简介下这个 .net 开发的小系统

https://kf.shengxunwei.com/

升讯威在线客服与营销系统是一款客服软件,但更重要的是一款营销利器。

  • 可以追踪正在访问网站或使用 APP 的所有访客,收集他们的浏览情况,使客服能够主动出击,施展话术,促进成单。
  • 可嵌入网站、手机 APP、公众号、或者通过 URL 地址直接联系客服。
  • 支持访客信息互通,可传输访客标识、名称和其它任意信息到客服系统,与您的业务系统对接。
  • 可全天候 7 × 24 小时挂机运行,网络中断,拔掉网线,手机飞行模式,不掉线不丢消息,欢迎实测。

希望能够打造: 开放、开源、共享。努力打造 .net 社区的一款优秀开源产品。

钟意的话请给个赞支持一下吧,谢谢~

如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统的更多相关文章

  1. .net core 和 WPF 开发升讯威在线客服系统:调用有道翻译接口实现实时自动翻译的方法

    业余时间用 .net core 写了一个在线客服系统.并在博客园写了一个系列的文章,写介绍这个开发过程. 我把这款业余时间写的小系统丢在网上,陆续有人找我要私有化版本,我都给了,毕竟软件业的初衷就是免 ...

  2. .net core 和 WPF 开发升讯威在线客服系统:调用百度翻译接口实现实时自动翻译

    业余时间用 .net core 写了一个在线客服系统.并在博客园写了一个系列的文章,写介绍这个开发过程. 我把这款业余时间写的小系统丢在网上,陆续有人找我要私有化版本,我都给了,毕竟软件业的初衷就是免 ...

  3. 【python】调用sm.ms图床api接口,实现上传图片并返回url

    图床简介 sm.ms网站提供免费的图床服务.单图上传大小限制5MB,每次最多上传10张,支持多种图片链接格式和api接口调用. 获取令牌 注册账号并登录,点击User-Dashboard 点击API ...

  4. 使用Swagger和OpenAPI 3规范定义API接口并集成到SpringBoot

    1. OpenAPI 3 规范介绍及属性定义 参考官方定义:https://swagger.io/specification/ 2. 使用OpenAPI 3规范定义API接口 官方样例参考:https ...

  5. WebApi系列~通过HttpClient来调用Web Api接口~续~实体参数的传递

    回到目录 上一讲中介绍了使用HttpClient如何去调用一个标准的Web Api接口,并且我们知道了Post,Put方法只能有一个FromBody参数,再有多个参数时,上讲提到,需要将它封装成一个对 ...

  6. 1688关键字搜索新品数据API接口(item_search_new-按关键字搜索新品数据)

    1688关键字搜索新品数据API接口(item_search_new-按关键字搜索新品数据)代码接口教程如下: 公共参数 名称 类型 必须 描述key String 是 调用key(必须以GET方式拼 ...

  7. 京东获得店铺的所有商品API接口(item_search_shop-获得店铺的所有商品)

    京东获得店铺的所有商品API接口(item_search_shop-获得店铺的所有商品)接口展示说明及教程: 公共参数 名称 类型 必须 描述key String 是 调用key(必须以GET方式拼接 ...

  8. 使用飞信api接口实现短信发送(只能发送好友)

    找了很久才找到一个能用的飞信API接口(http://quanapi.sinaapp.com/fetion.php?u=飞信登录手机号&p=飞信登录密码&to=接收飞信的手机号& ...

  9. Spring Boot入门(四):开发Web Api接口常用注解总结

    本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序员的日常工作中,Web开发应该是占比很重的一部分,至少我工作以来,开发的系统基本都是Web端访问的 ...

  10. 微信小程序+OLAMI(欧拉蜜)自然语言API接口制作智能查询工具--快递、聊天、日历等

    微信小程序最近比较热门,再加上自然语义理解也越来越被人关注,于是我想赶赶潮流,做一个小程序试试.想来想去快递查询应该是一种比较普遍的需求. 如果你也在通过自然语言接口做点什么,希望我的这篇博客能帮到你 ...

随机推荐

  1. resttemplate的ReadTimeout和ConnectTimeout

    问题描述:今天,在做微服务开发中,A服务区调用B服务,获取数据做导出excel操作.A服务出现了"java.net.SocketTimeoutException: Read timed ou ...

  2. kubernetes上报Pod已用内存不准问题分析

    1.问题描述: 经常有业务反馈在使用容器云平台过程中监控展示的业务使用内存不准,分析了下kubernetes采集Pod内存使用的实现原理以及相应的解决思路 2.问题分析: 2.1 问题排查: 监控数据 ...

  3. 在openEuler RISC-V上无痛部署Solidity

    近几年区块链很火,随着各国政府对加密技术的监管政策不断变化和BTC的暴涨,越来越多人对这项去中心化的技术充满着期待.这次我用openEuler 24.09 RISC-V的远程机器尝试编译了Solidi ...

  4. 硬件开发笔记(三十二):TPS54331电源设计(五):原理图BOM表导出、元器件封装核对

    前言   一个12V转5V.3.3V和4V的电源电路设计好了,下一步导出BOM表,二次核对元器件型号封装,这是可以生产前的最后一步了.   导出BOM表 步骤一:打开原理图   打开项目,双击点开原理 ...

  5. Qt编写可视化大屏电子看板系统27-模块5负荷分布

    一.前言 负荷分布模块包括工序计划负荷.当日负荷.负荷百分比三个子模块,工序计划负荷用表格的形式展示不同工序在不同日期的负荷工作时长,比如组装工序在 2022-02-10 运行了88小时,一般表格显示 ...

  6. Net6之Jwt认证+Bearer认证 2.0

    以前接触过,写过博客,第二次再写有了新的体会.第一次博客:https://www.cnblogs.com/zhang-3/p/16184067.html 过程: 生成token令牌(钥匙) 添加bea ...

  7. 尝试 vmware 16.0.0 过虚拟化 过xf虚拟机检测

    前言 最新想在vmware虚拟机上玩xf,网上找了不少教程,于是打算自己尝试下. 如果可以修改成功的话,其价值嘛不可估量. 环境 vmware版本是16.0.0,已安装VMware Tools vmw ...

  8. 移动端IM开发者必读(三):爱奇艺移动端跨国弱网通信的优化实践

    本文由爱奇艺技术团队分享,作者isno,原题"爱奇艺海外App的网络优化实践",下文进行了排版和内容优化等. 1.引言 做海外市场,特别目标是面向全球的用户,网络的重要性不言而喻. ...

  9. spark (一) 入门 & 安装

    目录 基本概念 spark 核心模块 spark core (核心) spark sql (结构化数据操作) spark streaming (流式数据操作) 部署模式 local(本地模式) sta ...

  10. 【狂神说Java】Java零基础学习笔记-Java基础

    [狂神说Java]Java零基础学习笔记-Java基础 Java基础01:注释 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了. 注释 ...