本文最后更新于 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 API
  • MODEL: 默认是阿里云的通义千问,可以在这里查看支持的模型,更改即可

需要注意的是,官方所有 Models 中支持中文最好的是 阿里云的通义千问 14b,也就是 @cf/qwen/qwen1.5-14b-chat-awq,也是代码中内置的

没有什么上下文支持,就那样吧,也可以更改默认 prompt 来调教你的机器人

Cloudflare Workers AI 每天免费 1w tokens,但是速度比较慢,看着用吧

1719174269762.webp