Github Link: 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,但是速度比较慢,看着用吧

Demo Bot: https://t.me/cloudflareworkersaibot

a78dbf84b5588c988210aebb1b908f20.png


本文转自 作者@GenshinMC