MIT License

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

SkyChat 中文聊天机器人项目深度技术分析

项目背景与痛点

在中文环境下,开源的聊天机器人项目并不多见。SkyWorkAIGC 团队推出的 SkyChat-Chinese-Chatbot-GPT3 填补了这方面的空缺。通过引入中文 GPT-3 API,SkyChat 实现了与 chatGPT 类似的功能,包括人机对话、问答、翻译、内容续写、对联生成与古诗创作。它解决了在中文环境中缺乏成熟、可扩展的聊天机器人解决方案的问题,满足了开发者进行多语言聊天、内容生成与自然语言处理的需求,尤其是在需要撰写或翻译中文内容的场景下。

核心技术揭秘

SkyChat 的设计围绕着提供高可用性与灵活性,同时保持轻量级的架构展开。从源码来看,其核心功能通过使用 Python 及 Flask 框架实现。同时,项目巧妙地通过 API 接口封装了 GPT-3 的调用,使得开发者能够轻松与 GPT-3 进行交互。

graph TD A[用户请求] --> B("Flask路由") B --> C{"请求类型"} C -->|"聊天/问答"| D[调用 GPT-3 API] C -->|"翻译"| E[调用翻译API] C -->|"古诗/对联"| F[调用 GPT-3 API] D --> G[处理返回结果] E --> G F --> G G --> H{"异常处理"} H -->|"成功"| I[返回用户] H -->|"失败"| J[返回错误]

从架构层面来看,SkyChat 将用户请求通过 Flask 路由解析为特定的处理逻辑。其内部控制流依赖于简单且高效的状态管理机制,并利用条件分派(门模式)对不同类型的请求(如翻译、问答等)进行区分,每种类型的请求对应特定的功能模块。

功能亮点与差异

在功能实现上,SkyChat 提供了多种文本生成与语言处理功能,其中包括对中文环境特有元素(如对联与古诗创作)的支持。这一点与其他主要针对英文环境的聊天机器人项目形成了差异。此外,SkyChat 的数据流设计直观且易于维护,设计时充分考虑了代码的可读性和可扩展性,这减少了开发复杂性和维护成本。

应用场景与落地建议

使用 SkyChat 在生产环境中,需要注意API调用频率限制以及密钥的安全管理。此外,对于涉及敏感信息的业务场景,应当采取额外的安全措施。它适用于多种场景,如客服问答机器人、智能助手应用,以及中文语言学习软件等。

综合评价

SkyChat 作为长期致力于构建中文 GPT-3 聊天机器人解决方案的优秀项目,其核心亮点在于对中文文本生成与自然语言处理的高精度支持,且整体架构设计合理。然而,API 调用成本以及对流量的过度依赖仍然是不可忽视的挑战。总体而言,这是一款功能强大且灵活可扩展的中文聊天机器人项目,值得广大中文开发者深入探究与应用。

关于

GitHub 原始描述(英文)

SkyChat是一款基于中文GPT-3 api的聊天机器人项目。它可以像chatGPT一样,实现人机聊天、问答、中英文互译、对对联、写古诗等任务。| SkyChat is a Chatbot project based on Chinese GPT3 API. Like chatGPT, it can do human-machine chat, question and answer, and can also complete tasks such as Chinese-English or English-Chinese translation, content continuation, couplets, and Chinese ancient poems writing.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

C#
Python

Release

README

SkyChat

简体中文

English

模型简介

SkyChat是一款基于中文GPT-3 API研发的聊天机器人项目,它除了基本的聊天、对话、你问我答外,还能支持中英文互译、内容续写、对对联、写古诗、生成菜谱、第三人称转述、创建采访问题等多种功能。

image

更多细节可见奇点智源官网文档

下面是一些示例:

效果示例

体验、试用,请访问奇点智源API试用

聊天

image

问答

image

生成菜谱

输入: image

输出: image

对对联

image

——————————————————————————————

Demo使用教程:

模型服务以及Python环境搭建

Windows

  1. 下载Anaconda 勾选添加到环境变量选项
    图片名称
  2. 下载并解压semantic_score_clean和user_profile_clean服务、模型以及示例训练数据
  3. 打开Anaconda 输入
    conda create -n semantic 创建新环境
    conda info --envs 查看环境
    activate semantic 启动环境
    cd C:\你的路径\semantic_score_clean\semantic_score_clean cd到解压好的semantic_score_clean文件夹
    python -m pip uninstall numpy 删掉初始自带的numpy
    python -m pip install -r requirements.txt 或者 pip install -r requirements.txt 安装所需依赖包
    python semantic_score_api.py 运行服务
  4. 下载对应系统的Cuda并安装
  5. 打开一个新的Anaconda界面 输入
    conda create -n userprofile创建新环境
    conda info --envs查看环境
    activate userprofile启动环境
    cd C:\你的路径\user_profile_clean\user_profile_cleancd 到解压好的user_profile_clean文件夹
    python -m pip uninstall numpy 删掉初始自带的numpy
    python -m pip install -r requirements.txt 或者 pip install -r requirements.txt安装所需依赖包
    python -m pip install torch==1.11.0+cu115 -f https://download.pytorch.org/whl/torch_stable.html 下载cuda版torch
    python server_v3.py运行服务

Unity版Demo

  1. Release中下载最新的包。
  2. 在openAPI网站 或demo中点击注册 注册并认证 获得 api-key 和 api-secret
  3. 点击设置 进入设置界面, 对应位置填入key和secret,以及双方姓名,完后点击保存并退出
  4. 确认semantic_score_clean和user_profile_clean服务以部署到本地,如果远程部署请在设置中替换对应请求URL
  5. 开聊

Python版Demo

  1. 在openAPI网站 或demo中点击注册 注册并认证 获得 api-key 和 api-secret
  2. 打开 \你的路径\OpenAPIDemo\PythonDemo\main.py 在对应位置填入api-key 和 api-secret 并修改需要修改的参数 图片名称
  3. 打开Anaconda 输入
    conda create -n talk 创建新环境
    conda info --envs 查看环境
    activate talk 启动环境
    cd C:\你的路径\OpenAPIDemo\PythonDemo 导航到代码所在的文件夹
    python -m pip install requests 下载依赖资源
    python main.py 开始聊天(需确认2个服务以开启)

*最低配置要求Nvidia Gfx 1060

加入开发者群

如果您有问题,不妨微信扫码加入开发者群——

text

感兴趣别忘了star一下~

cts

评论

暂无评论