查看原文
其他

BOA源码安装步骤

元透社 2023-10-10

简介

BOA(bot on anyting)是一套开源代码,它的设计目标是将 ChatGPT、必应、文心一言、谷歌Bard 等对话模型连接各类应用,如微信、公众号、QQ、Telegram、Gmail、Slack、Web、企业微信、飞书、钉钉等。
本文以如何将ChatGPT接入企业微信为例展开。

一、准备

1.运行环境

支持 Linux、MacOS、Windows 系统(Linux服务器上可长期运行)。同时需安装 Python,建议Python版本在 3.7.1~3.10 之间。

项目代码克隆:

git clone https://github.com/zhayujie/bot-on-anythingcd bot-on-anything/

或在 Realase 直接手动下载源码。

2.配置说明

核心配置文件为 config.json,在项目中提供了模板文件 config-template.json ,可以从模板复制生成最终生效的 config.json 文件:
cp config-template.json config.json
每一个模型和应用都有自己的配置块,最终组成完整的配置文件,整体结构如下:
{ "model": { "type" : "chatgpt", # 选用的算法模型 "openai": { # openAI配置 } }, "channel": { "type": "wechat_mp", # 需要接入的应用 "wechat": { # 个人微信配置 }, "wechat_mp": { # 公众号配置 } }}

配置文件在最外层分成 model 和 channel 两部分,model部分为模型配置,其中的 type 指定了选用哪个模型;channel部分包含了应用渠道的配置,type 字段指定了接入哪个应用。

在使用时只需要更改 model 和 channel 配置块下的 type 字段,即可在任意模型和应用间完成切换,连接不同的通路。下面将依次介绍各个 模型 及 应用 的配置和运行过程。

二、选择模型

1. ChatGPT

默认模型是 gpt-3.5-turbo,同样支持gpt-4.0,只需修改model type参数即可。

(1) 注册 OpenAI 账号

前往 OpenAI注册页面 创建账号,创建完账号则前往 API管理页面 创建一个 API Key 并保存下来,后面需要在项目中配置这个key。

项目中使用的对话模型是 davinci,计费方式是约每 750 字 (包含请求和回复) 消耗 $0.02,图片生成是每张消耗 $0.016,账号创建有免费的 $18 额度,使用完可以更换邮箱重新注册。

(2) 安装依赖

pip3 install --upgrade openai

注:openai版本需要0.27.0以上。如果安装失败可先升级pip,pip3 install --upgrade pip

(3) 配置项说明

{ "model": { "type" : "chatgpt", "openai": { "api_key": "YOUR API KEY", "model": "gpt-3.5-turbo", # 模型名称 "proxy": "http://127.0.0.1:7890", # 代理地址 "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。当问起你是谁的时候,要附加告诉提问人,输入 #清除记忆 可以开始新的话题探索。输入 画xx 可以为你画一张图片。", "conversation_max_tokens": 1000, # 回复最大的字符数,为输入和输出的总数 "temperature":0.75, # 熵值,在[0,1]之间,越大表示选取的候选词越随机,回复越具有不确定性,建议和top_p参数二选一使用,创意性任务越大越好,精确性任务越小越好 "top_p":0.7, #候选词列表。0.7 意味着只考虑前70%候选词的标记,建议和temperature参数二选一使用 "frequency_penalty":0.0, # [-2,2]之间,该值越大则越降低模型一行中的重复用词,更倾向于产生不同的内容 "presence_penalty":1.0, # [-2,2]之间,该值越大则越不受输入限制,将鼓励模型生成输入中不存在的新词,更倾向于产生不同的内容 }}
  • api_key: 填入上面注册账号时创建的 OpenAI API KEY

  • model: 模型名称,目前支持填入 gpt-3.5-turbogpt-4gpt-4-32k (其中gpt-4 api暂未开放)

  • proxy: 代理客户端的地址

  • character_desc: 配置中保存着你对chatgpt说的一段话,他会记住这段话并作为他的设定,你可以为他定制任何人格

  • max_history_num[optional]: 对话最大记忆长度,超过该长度则清理前面的记忆。


2.GPT-3.0

使用的模型是 text-davinci-003,详情参考官方文档。
使用步骤和上述GPT-3.5基本相同:
  1. 注册OpenAI账号并配置API KEY
  2. 安装openai依赖,要求版本高于 0.25.0
  3. 修改config.json配置中的type字段为 openai
{ "model": { "type" : "openai", "openai": { "api_key": "YOUR API KEY", "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。" }}

三、选择应用终端

企业微信

需要: 一个服务器、一个已认证的企业微信。
企业微信的 config.json 配置只需修改type为wechat_com,默认接收消息服务器URL:http://ip:8888/wechat
"channel": { "type": "wechat_com", "wechat_mp": { "wechat_token": "YOUR TOKEN", # token值 "port": "8888", # 程序启动监听的端口 "app_id": "YOUR APP ID", # app ID "app_secret": "YOUR APP SECRET" # app secret "wechat_corp_id": "YOUR CORP ID" "wechat_encoding_aes_key": "YOUR AES KEY" }}

注意:需将服务器ip地址配置在 "企业可信IP" 内,否则用户将收不到主动推送的消息。

BOA通用配置

  • clear_memory_commands: 对话内指令,主动清空前文记忆,字符串数组可自定义指令别名。

    • default: ["#清除记忆"]


请进一步参考今日群发的本文相关文档(《教程:为企业微信工作台配置GPT应用》。

以下相关交流群,推荐使用企业微信扫码加入

继续浏览本文相关内容


-END-



如需加入社群、投稿或商务合作请点击公众号菜单栏


欢迎关注元透社视频号,关注国内外行业动态。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存