GPT4 0 元享保姆教程

238 天前
 JustW

😃 作为一名 AI 爱好者,我深知使用 GPT4 API 的重要性。它强大的自然语言理解和生成能力,可以让我们的应用更加智能,给用户带来更好的体验。

但是,GPT4 API 的使用门槛很高,调用次数有限,费用也不便宜。这让很多人望而却步,错失了将 GPT4 整合到自己应用中的机会。

今天,我就来教大家一个免费搭建 GPT4 API 的方法,让你不用花一分钱,就能拥有自己的 GPT4 API,想怎么用就怎么用!🎉

准备工作

在开始之前,你需要准备以下几样东西:

  1. 注册一个 Val Town 账号
  2. 创建一个 HTTP 窗口
  3. 复制我提供的代码

只要你有了这些,跟着我一步步操作,10 分钟内就能搭建好属于自己的 GPT4 API 。是不是很简单?🤩

搭建步骤

首先,前往 https://www.val.town/ 注册一个账号,然后新建一个 HTTP 窗口。 接着,将我提供的代码粘贴到窗口中: 这段代码利用了 Val Town 平台和 OpenAI 的 SDK,可以让我们轻松调用 GPT4 API 。你不用太关心具体实现,照着粘贴就行。

import { OpenAI } from "https://esm.town/v/std/openai";

export default async function(req: Request): Promise<Response> {
  if (req.method === "OPTIONS") {
    return new Response(null, {
      headers: {
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Allow-Headers": "*",
      },
      status: 204,
    });
  }
  const openai = new OpenAI();

  try {
    var body = await req.json();
  } catch (e) {
    var search = (new URL(req.url)).searchParams;
    body = {
      "messages": [{ "role": "user", "content": search.get("q") || "hello" }],
      "temperature": 0.5,
      "presence_penalty": 0,
      "frequency_penalty": 0,
      "top_p": 1,
      stream: true,
      model: "gpt-4-turbo",
    };
  }

  const stream = await openai.chat.completions.create(body);

  if (!body.stream) {
    return new Response(JSON.stringify(body), {
      headers: {
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Allow-Headers": "*",
        "Content-Type": "application/json; charset=UTF-8",
      },
    });
  }

  const { readable, writable } = new TransformStream();
  const my_stream_writer = writable.getWriter();
  var reader = stream.toReadableStream().getReader();
  var totalText = "";
  const decoder = new TextDecoder("utf-8", { stream: true });
  var encoder = new TextEncoder();
  (async () => {
    while (true) {
      const { done, value } = await reader.read();
      if (done) break;
      totalText += decoder.decode(value, { stream: true });
      var msgs = totalText.split("\n");
      totalText = msgs.pop();
      for (let i in msgs) {
        my_stream_writer.write(encoder.encode(`data: ${msgs[i]}\n\n`));
      }
      await new Promise((r) => {
        setTimeout(r, 20);
      });
    }
    my_stream_writer.close();
  })();

  return new Response(readable, {
    headers: {
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Headers": "*",
      "Content-Type": "text/event-stream; charset=UTF-8",
    },
  });
}

粘贴完代码后,点击 Preview 按钮,如果没有报错,恭喜你就成功了!😄 复制生成的 URL,这就是你的 GPT4 API 地址。

如何使用

现在,你可以通过复制预览页面上的地址来使用你的 API 。访问地址 https://chat.wangzai.top/ 或者 https://chat.wangwangit.com/ 按下图配置即可使用!

最后

我们生活在一个人工智能飞速发展的时代,拥抱 AI,跟上时代的步伐,对每个人来说都至关重要。我希望通过分享这个小技巧,能够帮助更多的开发者打开 AI 的大门,用科技让世界变得更美好。

如果你在搭建或使用过程中遇到任何问题,欢迎在评论区留言,大家一起交流学习。也欢迎分享你用 GPT4 API 开发的有趣应用,说不定就成为下一个独角兽呢!😉

最后,感谢你的阅读,如果这篇文章对你有帮助,记得一键三连支持一下哦!在实践中积累经验,让我们一起成长,一起进步,一起探索人工智能的无限可能!💪

最最后

用上的朋友麻烦给原文来一个一键三连!!!

原文: https://mp.weixin.qq.com/s/4vvyOM9MrQiWNESq7deeDw

1448 次点击
所在节点    分享发现
7 条回复
gaobh
238 天前
推广就推广,老老实实推广节点很难?
JustW
238 天前
@gaobh 你说我推广的是啥。公众号?
EyebrowsWhite
238 天前
我说怎么这么熟悉,原来是 linuxdo 搬来的
GeruzoniAnsasu
238 天前
虽然你复制粘贴的样子很丑陋,但推荐的网站确实很良心,openai 的 API 似乎是这个网站的「标准库」
michaelzxp
238 天前
The module's source code could not be parsed: Expected ,报错
h9VZ3hilI68DVl36
203 天前
实际是 3.5 啊
h9VZ3hilI68DVl36
203 天前
data: {"id":"chatcmpl-9X2uhK8Bibeh3vkhxdCJ1Me1Dacse","object":"chat.completion.chunk","created":1717663051,"model":"gpt-3.5-turbo-0125","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}]}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1037341

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX