站内搜索

搜索

06-02 13:26
05-31 17:11

[经验分享] 搭建一个最简单的基于 Cloudflare Workers AI 的 Telegram AI Bot

494

主题

45

点数

1224

积分

管理员

积分
1224

柴到了三倍冰淇淋无人之境【一阶】立华奏小樱(小丑装)⑨的冰沙

发表于 2025-3-13 02:13:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入社群

加入社群

Pixtech

Powered by Pixtech

© 2025 Pixtech Team.