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

随时近来 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. Debian 11 (bullseye) 国内软件源

      本文整理了Debian 11在国内的几个软件源. 1.使用说明 一般情况下,将/etc/apt/sources.list文件中Debian默认的软件仓库地址和安全更新仓库地址修改为国内的镜像地址即 ...

  2. Zstd-数据压缩组件

    Zstandard 简称Zstd,是一款快速实时的开源数据压缩程序,由Facebook开发,源码是用C语言编写的.相比业内其他压缩算法(如Gzip.Snappy.Zlib)它的特点是:当需要时,它可以 ...

  3. Qt编写地图综合应用57-跨平台(win、linux、mac、uos、kylin等)

    一.前言 跨平台着实花了不少的精力,为了从Qt4.7兼容到Qt6.2及后续版本,头发掉了不少,仅有的几根毛所剩无几,哎,可能这就是程序员的命,本人写Qt程序这么多年,比较喜欢支持多个Qt版本,尤其是钟 ...

  4. Qml 中实现水印工具

    [写在前面] 在 Qt 的 Quick 模块中,QQuickPaintedItem 是一个非常有用的类,它允许我们在 Qml 中自定义绘制逻辑. 我们可以通过这种方式实现水印工具,包括在文本.图片或整 ...

  5. ls小技巧

    一.ls -rt ls的功能是列出指定路径下的所有文件,但是有时候文件太多,不方便查找哪些是新生成的文件时,可以使用ls -t或ls -rt命令. ls -t ls -rt 那是什么意思呢?这里-t就 ...

  6. 零基础Windows Server搭建部署Word Press 博客系列教程(3):弱鸡变猛男之部署CDN加速和缓存加速

    我们博客里面存在的各种媒体文件.压缩文件.脚本文件,这些文件可能很大而且不需要随时生成.如果我们的服务器带宽很小,访问我们网站的用户等待加载完成就需要很长时间,那么访问速度会很慢.因此我们需要通过第三 ...

  7. Solution -「牛客 31454H」Permutation on Tree

    \(\mathscr{Description}\)   Link.   给定一棵含有 \(n\) 个点的有根外向树, 对于所有满足树形拓扑关系的结点遍历顺序 \(p_{1..n}\) 求出 \(\su ...

  8. C:条件编译

    问题 #ifdef HELIB_DEBUG long pa, pb; std::vector<long> slots; decryptBinaryNums(slots, a, *dbgKe ...

  9. gitblit 安装

    github 私有代码库收费属于正常商业操作,毕竟现在鼓励开源,但是受到美国出口管制,这就有些不妙了. 所以有必要自己搭建一个私有的托管服务,经过比较并且,选择了gitblit(因为最近偶尔搞搞jav ...

  10. 基于生成式AI的访问控制, 迁移传统安全策略到基于LLM的风险分类器

    基于规则的风险分类 风险分类是网络安全系统的核心能力之一,它将访问请求和命令映射到其风险级别/类别:高(High).中(Medium).低(Low).目前,即便是在大规模环境中,风险分类器仍主要采用基 ...