IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Hi,Cloudflare Workers AI

    林木木发表于 2024-01-26 16:14:54
    love 0

    这货其实已经发布有段时间了,但,效果嘛,差强人意。可人家免费啊,还自带 Workers 调用,省去鉴权若干代码,自个儿绑个域名,每分钟 100次,美滋滋~

    以下代码配套「哔哔广场」食用,当然也可自行折腾。

    新建 Cloudflare Workers 丢入以下代码保存并绑定域名,填入广场设置处即可~

    import { Ai } from './vendor/@cloudflare/ai.js';
    export default {
        async fetch(request, env, ctx) {
          const jsonheaders = {
            "content-type": "text/event-stream",
            'Access-Control-Allow-Origin': '*',
            'Access-Control-Allow-Methods': "*",
            'Access-Control-Allow-Headers': "*",
            'Access-Control-Max-Age': '86400',
          };
    
        const url = new URL(request.url);
        const query = decodeURIComponent(url.searchParams.get('q'));
            const ai = new Ai(env.AI, { sessionOptions: { ctx: ctx } });
            let chat = {
              messages: [
                { role: 'system', content: 'You are a helpful and responsive assistant, you answer questions directly and provide instruction unless told otherwise.Respond in Chinese.' },
                { role: 'user', content: query }
              ]
            };
            const stream = await ai.run(
                "@cf/mistral/mistral-7b-instruct-v0.1",
                { messages: chat.messages, stream: true  }
            );
            return new Response(stream,
                { headers: jsonheaders, }
            );
        }
    }
    

    以上代码的提示词可以自己更换。

    其中文本生成的模型有这几种可以设定:

    @cf/meta/llama-2-7b-chat-fp16
    @cf/mistral/mistral-7b-instruct-v0.1
    @cf/meta/llama-2-7b-chat-int8
    


沪ICP备19023445号-2号
友情链接