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

随时近来 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. shell判断字符串结尾

    下面围绕"判断字符串是否以.txt结尾"展开.转变一下也同样适用于"判断字符串是否以.txt开头". 通用的方法 # 方法一.使用grep命令 #!/bin/s ...

  2. 冒泡排序------python实现

    if __name__ == '__main__': ''' 算法描述 1.比较相邻的元素,更具大小交互位置 2.对每一对相邻元素作同样的工作,从开始第一队到结尾的最后一对,即可选出最大的数 3.所有 ...

  3. Qt编写安防视频监控系统37-onvif预置位

    一.前言 预置位在视频监控系统中是不可或缺的存在,响应预置位功能的前提是要带预置位的云台球机,有些普通的云台球机其实不带预置位的,这个要检查清楚,硬件上不支持该功能的,你再怎么点也没反应.在这个视频监 ...

  4. Vue cli 2.x 3.x及4.x区别

    原文链接: 1.Vue cli 2.x 3.x及4.x区别 2.vue-cli2.0/3.0/4.0创建项目的方式差异解读和vue-cli4.0打包命令和环境配置

  5. JS利用浏览器进行语言识别

    JS利用浏览器进行语言识别 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  6. SpringBoot实现人脸识别功能

    一.人脸注册 step1:人像采集.在注册页面上用html中video组件和js调用笔记本摄像头,并抓取人像图片.没有摄像头的笔记本.台式机的童鞋告辞吧,走好不送... step2:人像上传至项目文件 ...

  7. ForkJoin全解2:forkjoin实际工作流程与实现

    1.相关概念解释 1.1 "内部"和外部 当一个操作是在非ForkjoinThread的线程中进行的,则称该操作为外部操作.比如我们前面执行pool.invoke,invoke内又 ...

  8. SpringCloud(2)---入门篇

    SpringCloud(6)---熔断降级理解.Hystrix实战 一.概念 1.为什么需要熔断降级 (1)需求背景 它是系统负载过高,突发流量或者网络等各种异常情况介绍,常用的解决方案. 在一个分布 ...

  9. linux:MariaDB安装

    介绍 链接 安装 查看系统中是否已安装 rpm -qa | grep -i mariadb 返回结果类似如下内容,则表示已有 MariaDB 的包 为避免安装版本不同造成冲突,请执行以下命令移除已安装 ...

  10. 腾讯云 TI 平台部署与调用DeepSeek-R1大模型的实战指南

    今天我们将继续探讨如何部署一个私有化的 DeepSeek-R1 大模型,具体的部署过程我们将利用腾讯云的 TI 平台进行操作.当前,腾讯云 TI 平台为用户提供了免费体验的满血版 DeepSeek-R ...