docker compose是这样的:
version: "3.5"
services:
chatgptbot:
container_name: q58_ai_bot
image: yym68686/chatgpt:latest
environment:
- BOT_TOKEN=749xxx70:AAEuxxxxxxx3myk
- API=sk-NqnBxxxxxxx88E5
- WEB_HOOK=https://telegram-ai-bot.q58.org
- GPT_ENGINE=gpt-4o-mini
- API_URL=https://oapi.czl.net/v1/chat/completions
- NICK=@Q58_AI_bot
- GOOGLE_API_KEY=AIzaxxxxxjFms
- GOOGLE_CSE_ID=33xxxx44b97
- ADMIN_LIST=591xxxxxx993
- GROUP_LIST=-10xxxxx81
- REPLY=true
- PASS_HISTORY=10
- SYSTEMPROMPT=你是Q58社区论坛的AI助手, 当用户询问问题时, 如果没有指定语言, 则需要使用中文回复.
volumes:
- ./user_configs:/home/user_configs
ports:
- 4397:8080
下面一个个解释:
BOT_TOKEN
这个是找一个机器人号, 叫Bot Father
, 新建一个机器人, 然后输入名字,编码, 成功了它就会发给你机器人的token
API
这个是gpt的key, 我用的是oapi的, 所以下面的API_URL
也就是自定义的.
WEB_HOOK
这个可以提升机器人回复的速度, 这个网址是通过nginx, 反代这个容器的对外端口, 也就是下面的4397
, 然后把绑定的域名放在这里就行
GPT_ENGINE
这个是默认模型, 设置不设置都可以, 因为运行后可以使用/info
进行设置
API_URL
ai接口的url, 如果是官方就是https://api.openai.com/v1/chat/comletions
NICK
这个是机器人的名字, 这样在群里它就只会回复@它的消息, 不然每个人的消息它都回复, 就乱了
GOOGLE_API_KEY和GOOGLE_CSE_ID
创建Google Cloud项目:
在Google Cloud Console (https://console.cloud.google.com/) 上创建一个新的项目。
记下项目ID,后面会用到。
启用谷歌搜索控制台API:
移至Google Cloud Console。
打开您的项目。
在侧边菜单中选择 “API 和服务”,然后在 “仪表盘” 选项卡上找到 “谷歌搜索控制台API”(Google Custom Search API)。
启用 “谷歌搜索控制台API”。
单击 “凭据”,然后创建一个新凭据(API密钥)。记下生成的API密钥。
在Google搜索控制台上设置搜索引擎:
在Google搜索控制台(https://programmablesearchengine.google.com/about/)上创建一个新的搜索引擎。
配置搜索引擎的设置,例如搜索内容的范围、注册为网站管理员等。
记下搜索引擎ID。
ADMIN_LIST
管理员列表, 这个自己搜一下机器人, 叫 Telegram: Contact @myidbot , 然后输入/getid
, 就可以了.
GROUP_LIST
可以用机器人的群组ID, 这个也是把上面那个机器人邀请到群组里, 然后输入 /
, 就会有提示了.
REPLY
启用回复状态
PASS_HISTORY
上下文数量
SYSTEMPROMPT
系统提示词
运行后telegram上就能用了.不过还需要设置一个东西
关闭机器人的群组隐私权限
在Bot Father里面
本来是开着的, 把它"Turn off"就可以了