惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
MyScale Blog
MyScale Blog
A
About on SuperTechFans
博客园_首页
B
Blog RSS Feed
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
I
InfoQ
罗磊的独立博客

膨胀自留地

使用CloudFlare标记管理功能优雅的使用谷歌分析 四天轻松版北京旅游攻略 Adsense税务居住地证明申请教程:如何申请中国税收居民身份证明以及Google Adsense更新新加坡税务信息教程 常见的 VPS 优化措施 HTML实现table表格移动端自动转为卡片样式 个人网站接入 Google 登录 如何从 GitHub 永久删除泄露的 .env 文件 Cloudflare设置www的域名跳转到不带www的域名 顶级iOS神器!全面解开App Store限制,AssPP Pro保姆级教程 BroadcastChannel将你的 Telegram Channel 转为微博客 Medama开源轻量级网站统计(分析)系统 白嫖一个网站监控面板:uptime-kuma 部署TraffMonetizer利用闲置VPS挂机赚钱 Counterscale-使用CloudflareWorkers部署的免费网站数据统计工具,界面类似umami 封装一个最简单的Axios,避免过度封装! 如何使用Cloudflare Email Routing创建域名邮箱免费发送邮件 使用Cron定时更新Hosts解决Gihub无法访问问题 容器化MariaDB/Mysql实现定时备份 JetBrains全家桶许可证服务器怎么找,JetBrains激活教程 图片加速接口:缓存图片,加速访问,解决防盗链 MySQL模糊查询再也不用like+%了,全文索引介绍及使用简介 为什么这么多人推荐你办理流量卡?流量卡怎么赚钱?怎么避坑? 借助Cloudflare Worker实现Google Analytics反代加速,规避广告屏蔽插件的拦截 etcd入门之在Centos上安装部署 Grafana在linux下安装和基本使用入门 Prometheus介绍、安装和基本功能快速入门 无需加速器,油猴插件解锁xbox云游戏 阿里云盘自动每日签到,无需部署,无需服务器 自定义VSCode终端主题样式 一行 CSS 代码实现响应式布局 – 使用 Grid 实现的响应式布局
python 脚本命令行调用 cloudflare Wokers AI 对话示例
2023-12-04 · via 膨胀自留地

#编程技术 2023-12-04 14:51:00 | 全文 485 字,阅读约需 1 分钟 | 加载中... 次浏览

👋 相关阅读


首先感谢 cloudflare,真的是良心企业,所以大家要珍惜啊,不要在 tz 方面滥用了!

workers AI 公测一段时间了,起初模型很少,昨天发现有人说加了很多模型,体验了一下确实不错啊

下面其中一个 chat 的模型使用 python 命令行调用的示例,cf 家的东西,相信后面正式价格肯定不会太高。

api token 获取教程可以参考官方文档:https://developers.cloudflare.com/workers-ai/

proxies 为dl,如果不用可以删除

import requests, json

API_BASE_URL = "https://api.cloudflare.com/client/v4/accounts/改为你自己的account_id/ai/run/"
headers = {"Authorization": "Bearer 改为你自己的token"}
# 构造代理字典
proxies = {
    "http": "http://127.0.0.1:10809",
    "https": "http://127.0.0.1:10809",
}


def run(model, prompt):
    input = {
        "stream": True,
        "messages": [
            {"role": "system", "content": "你是一个友好的人工智能,请使用中文回答我的所有问题"},
            {"role": "user", "content": prompt}
        ]
    }
    response = requests.post(f"{API_BASE_URL}{model}", headers=headers, json=input, proxies=proxies, stream=True)
    if response.status_code == 200:
        print("Bot:", end="")
        chunk_size = 512
        for chunk in response.iter_content(chunk_size=chunk_size):
            if chunk:
                chunk_res = chunk.decode('utf-8').replace("data: ", "")
                if "[DONE]" in chunk_res:
                    break
                try:
                    for i in chunk_res.split("\n\n"):
                        if i and i != '':
                            res = json.loads(i)
                            print(res.get("response"), end='')
                except Exception as err:
                    print(err)
                    print(chunk_res)
                    return
        print("\n")


def main():
    print("Welcome to the cloudflare assistant! Type 'exit' to end.")
    while True:
        user_input = input("You: ")
        if user_input.lower() == 'exit':
            print("Goodbye! assistant ended.")
            break
        run("@cf/meta/llama-2-7b-chat-int8", user_input)


if __name__ == "__main__":
    main()

×