搭建一个最简单的基于 Cloudflare Workers AI 的 Telegram AI Bot
本文最后更新于 2024-06-24,
若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。
本站只有Telegram群组为唯一交流群组, 点击加入
文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请
Github 项目地址:https://github.com/GenshinMinecraft/Cloudflare-Workers-Ai-Telegram-Bot/
闲来无事玩了玩 Workers AI,免费的还不错
搓了个 Telegram Bot,调用 API 的,没有啥技术含量
代码在这:
import requests
import telebot
bot = telebot.TeleBot("[Telegram Bot Token]")
ACCOUNT_ID = "[Cloudflare Account ID]"
AUTH_TOKEN = "[Cloudflare API TOKEN]"
MODEL = "@cf/qwen/qwen1.5-14b-chat-awq"
def GPT(prompt):
response = requests.post(
f"https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/run/{MODEL}",
headers={"Authorization": f"Bearer {AUTH_TOKEN}"},
json={
"max_tokens": 1024,
"messages": [
{"role": "system", "content": "你是一个人工智能助手,用什么语言提问就用什么语言回答"},
{"role": "user", "content": prompt}
]
}
)
result = response.json()
answer = result.get("result").get("response")
return answer
@bot.message_handler(func=lambda _: True)
def handle_message(message):
replytxt = GPT(message.text)
bot.send_message(chat_id=message.from_user.id, text=replytxt)
bot.polling()
需要配置项:
[Telegram Bot Token]
: Telegram 的 Bot Token[Cloudflare Account ID]
: Cloudflare 的 Account ID,最简单的获取方式就是打开 Cloudflare Dash,URL 中的那串就是,比如41810b51b9f7521da5fea96d12xxxxxx
[Cloudflare API TOKEN]
这里获取,最好不要使用 Global APIMODEL
: 默认是阿里云的通义千问,可以在这里查看支持的模型,更改即可
需要注意的是,官方所有 Models 中支持中文最好的是 阿里云的通义千问 14b,也就是 @cf/qwen/qwen1.5-14b-chat-awq
,也是代码中内置的
没有什么上下文支持,就那样吧,也可以更改默认 prompt 来调教你的机器人
Cloudflare Workers AI 每天免费 1w tokens,但是速度比较慢,看着用吧
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果