跳到主要内容

快速开始

0 服务器要求

  • 内存 >= 24GB

  • 空余硬盘空间 >= 30GB(建议使用 SSD 硬盘以获得更好的性能)

  • NVIDIA GPU(显存 >= 4GB,如果要在 GPU 中存储知识库则可能会需要更多显存,具体参见 “知识库”),已安装好 NVIDIA 驱动和 CUDA(版本 >= 12.2)

  • 服务器端的主流 Linux 发行版(如 Ubuntu、Debian、CentOS、RHEL 等)

  • Python(版本 3.10 ~ 3.12)

1 安装

  • 点击下载下列文件,再将文件传输到上述服务器 Linux 相关目录下

    • install.sh(注意:下载后一定将文件名命名为 “install.sh”)
    • TeliChatSecRun.zip(注意:下载后一定将文件名命名为 “TeliChatSecRun.zip”)
  • 运行安装脚本(程序会安装在当前目录中)

    bash install.sh cn

    注意

    • 如果项目使用的 Python 是在虚拟环境中则一定要先激活虚拟环境再执行脚本
    • 某些情况系统会禁止在系统唯一的 Python 版本中直接安装 Package(执行上述脚本后可能会出现类似 “error: externally-managed-environment” 这样的提示),执行上述脚本前必须创建 Python 虚拟环境并激活
    • 虚拟环境中需要已安装 pip
    • 需要的话可以在当前目录中先手工创建 TeliChatSecRun 目录,但一定要回到当前目录来执行安装脚本
    • 如果安装脚本中途中断或执行失败,可以尝试再次执行
    • 安装脚本成功执行完毕后会提示 'install.sh' has finished executing.,如果脚本执行结束且未出现该提示,请将最后的错误信息提交到主页左上角的 “问题” 中

2 配置

  • 进入 TeliChatSecRun 目录

2.1 配置 ./conf/public.conf 中的参数

  • DEV_LANG
    • 开发语言,应设置为 “cn”,表示 开发对话树或构建知识库时都缺省使用 zh-CN 简体中文,同时 系统会使用中文能力更强的大语言模型。开发语言也可以使用英文并让系统使用英文能力更强的大语言模型:只需在右上角将当前页面切换为英文,按英文页面要求进行设置即可
    • 开发语言不是对话中用户所说的语言(即 用户语言),用户语言缺省也为 zh-CN 简体中文。如需使用其它用户语言,参见 “多语言”
  • LLM_PROVIDER:该设置包含由冒号分开的两部分
    • 前一部分是平台,目前支持:
    • 后一部分是模型,目前支持:
      • “doubao-seed-2.0”,闭源模型,实际使用 doubao-seed-2.0-lite 和 doubao-seed-2.0-mini 两个模型(分别适用于不同对话场景),推荐使用
      • “qwen3.5”,闭源模型,实际使用 qwen3.5-plus 和 qwen3.5-flash 两个模型(分别适用于不同对话场景),但目前偶尔有不稳定的情况
      • “qwen3.5-27b”,开源模型,实际使用 qwen3.5-27b 模型,推荐使用
    • 目前仅支平台和模型的如下组合:
      • doubao:doubao-seed-2.0
      • qwen:qwen3.5
      • qwen:qwen3.5-27b
    • 如需将上述开源模型部署到本地,请联系

2.2 设置 API Key

  • 将获取到的 API Key 的值设置到相应的环境变量中(只用设置下面其中一个即可)
    export DOUBAO_APIKEY=...
    export QWEN_APIKEY=...

3 运行

  • 进入 TeliChatSecRun 目录

  • 运行下列脚本(如果前面执行安装脚本时激活了某个 Python 虚拟环境则这里也必须同样激活)

    unset LD_LIBRARY_PATH
    nohup python3 -u ./web.py port=8080 >./log/nohup.out 2>&1 &
    nohup python3 -u ./api.py "start_port=8000" "gpu_index=0" >./log/nohup.out 2>&1 &
  • 可以查看运行日志(包括确认应用启动成功)

    tail -f -n 1000 ./log/web.out
    tail -f -n 1000 ./log/api-0.out

    注意:

    • 如果运行后上面的日志文件还是不存在,可以先查看下 ./log/nohup.out 日志文件,看看出错原因
    • 如果在日志中出现 CUDA 相关的 forward compatibility was attempted on non supported HW 错误,可能是因为您现在容器内部的 CUDA 版本过高而宿主机的 CUDA 版本过低

4 登录后台管理页面

打开客户端浏览器,访问 http://您的服务器IP或域名:8080 即可进入 TeliChat 的后台管理及测试界面(缺省的用户名和密码是 “firstuser” / “78495820”,需新建用户请参见 “用户管理”);注意,有时需要打服务器 Linux 本身的防火墙 sudo ufw allow 8080/tcp


  • 图中的【Xmind对话树】(.xmind)、【代码文件】(.py)和【知识库】(.docx/.md/.zip) 均可以通过相应的按钮进行文件的上传或删除
  • 【Python对话树】(.py) 则需要用户直接在界面上显示的服务器目录中进行文件的创建、拷贝、编辑和删除(这里推荐使用 VS Code 直接编辑该目录下的 Python 文件,后继还可以进行断点调试)
  • 这 4 类文件有变化(增/删/改)后,一定要先点击 “加载并生效” 后再使用
  • 【Xmind对话树】可以引用【代码文件】和【知识库】,【Python对话树】仅可以(且仅需要)引用【知识库】

5 上传对话树

Python 对话树和 Xmind 对话树二选一即可:

  • 推荐使用 Python 对话树
    • 个别的节点属性只 Python 对话树支持
    • Python 对话树与 Python 代码的集成更加紧密无缝
    • 只有 Python 对话树支持 IDE 断点调试
    • Python 对话树支持生成 HTML 交互图,可以像 Xmind 对话树一样直观查看整体拓扑结构
  • Xmind 对话树适合非技术的业务人员来搭建原型,当然也可以通过集成 Python 脚本以及引入 “代码文件” 来进行一定的代码逻辑扩展

5.1 Python 对话树

  • 点击下载:120.py(注意:下载后一定将文件名命名为 “120.py”)
  • 将下载的 Python 文件保存到上面提到的后台管理页面显示的那个服务器目录下
  • 代码中有详细注释,介绍每部分代码的作用
  • 在 TeliChatSecRun 目录下执行
    python ./ichatdef/firstapp/py_chattree/120.py
    然后在同一目录下会生成同名 HTML 文件,具体如何使用请参见 “对话树 HTML 交互图”
  • 可以在 “对话树及知识库示例” 中找到该对话树的更详细介绍和更多 Python 对话树例子,包括 复杂交互逻辑的 “商旅平台” 以及 简单知识问答的 “急救知识问答”,均按上面的方式处理即可

5.2 Xmind 对话树

  • https://xmind.com/download 下载并安装 Xmind 软件(免费版即可)
  • 点击下载:120.xmind(注意:下载后一定将文件名命名为 “120.xmind”)
  • 将下载的 Xmind 文件上传到后台管理页面中的【Xmind对话树】区域
  • 打开 Xmind 文件,可以看到该图形与上面的 html 文件中的图形是同构的,仅仅是在有 Python 脚本的地方略有不同(但执行语义都一样)

6 上传知识库

  • 点击下载:急救知识.md(注意:下载后一定将文件名命名为 “急救知识.md”,没有 “.txt” 后缀)
  • 打开该 md 文件,可以看见其中的标题行都是以 “#” 或 “##” 或 “###” 等开头
  • 将下载的 md 文件上传到后台管理页面中的【知识库】区域
  • 上面的 Python 对话树或 Xmind 对话树中,都在 “#开始#” 节点的 “静态参考信息” 属性中,引用了该 md 文件
  • 更多知识库的信息,参见 “知识库”

7 加载并生效

  • 点击后台管理页面中的 “加载并生效” 按钮

8 测试

  • 点击后台管理页面中的 “对话测试” 按开始测试,具体见 “对话测试”,注意 120.py 有一个启动信息项 “{_电话号码_}”,对话测试前需要输入该信息项的值,输入格式如 “{...}=...”

9 调用 API

  • 点击下载:Python示例代码(注意:下载后一定将文件名命名为 “demo_cmd_test_sse_for_docs.py”)
  • 将下载的代码文件的开头部分的赋值内容按实际情况进行修改(系统缺省的 user_name 和 access_key 是 firstuser / c6bfba3b9ae226482ecc7360c470b77acada28e5f544218c8e431a6ead75,同样地有一个启动信息项 “{_电话号码_}”)后,运行该代码文件即可
    python demo_cmd_test_sse_for_docs.py
  • 详细情况参见 “API”

10 IDE 断点调试

参见 “IDE 调试”

11 终止运行 / 更新 / 重启

  • 使用如下脚本找到相关进程 ID,kill 掉即可:
    ps -aux | grep "api.py\|web.py\|/c/sip"
  • 如果要更新程序,执行上述 “安装” 的步骤即可
  • 可以再执行上述 “运行” 步骤重启系统
  • 重启后,web.out 和 api-0.out 等之前的日志文件名会被加上 “.until_YYYYMMDD_HHMMSS” 的后缀,然后重新生成新的 web.out 和 api-0.out 日志文件,如果太多可自行清理。所有日志文件都在 log 目录里。

12 其它

  • 如有任何疑问或建议,请点击当前页面左上角的 “讨论” 或 “问题”
  • 如有更多具体的需求(比如将大模型部署在本地、或者进行实时语音对话、或者需要源代码等),请联系