我不再使用 React.setState 的 3 个理由

Michel Weststrate

CloudBoost

Michel Weststrate published in CloudBoost · Jun 15, 2016

自几个月前,我已在所有我新写的 React 组件弃用 React 的 setState 。别误会我,我没有弃用本地组件状态,我只是不再用 React 去管理它,并且令人愉快!

使用 setState 对初学者来说很棘手。即使经验丰富的 React 程序员在使用 React 自有状态机制时,也很容易引入微妙的 bug,例如:

忘记 React 状态是异步的而引入了 bug,日志输出总是在后面一项。

这篇优秀的 React 文档总结了错误使用 setState 的各种情况:


AI 网页爬虫实验(用 GPT-4 解析 HTML)

从网络搜索结果中解析数据往往是一件麻烦事。但如果有一种方法能让这一艰苦的过程变得轻而易举呢?让我们尝试一下 OpenAI 的新人工智能模型吧。

Hilman Ramadhan

Hilman Ramadhan


打造一款人工智能工具,即时总结书籍内容

无需从头到尾阅读一本书,就能掌握其要点

Alessandro Amenta

在本文中,我们将使用 Python、Langchain 和 OpenAI embeddings 构建一个简单但功能强大的书籍摘要器。

用 DALL-E 3 生成上图。

面临的挑战

GPT-3 和 GPT-4 等人工智能模型功能强大,但也有其局限性。其中一个重要的限制就是上下文窗口,它限制了模型在同一时间可以考虑的文本数量。这意味着你不能把整本书输入模型,然后期待得到一个连贯的摘要。此外,处理大量文本的成本也很高。

解决方案

为了克服这些挑战,我们设计了一种既经济又高效的方法。流程如下:

简化流程

以下是我们如何将长篇大论的书籍转化为简明扼要的摘要:

  1. 拆分(Splitting)与嵌入(Embeddings): 我们将图书分解成小块,并将其转换为嵌入。这一步的成本出奇地低。
  2. 聚类(Clustering): 接下来,我们对这些嵌入内容进行聚类,找出书中最具代表性的部分。
  3. 摘要(Summarization): 然后,我们使用更具成本效益的 GPT-3.5 模型对这些关键部分进行摘要。
  4. 合并摘要(Combining Summaries): 最后,我们使用 GPT-4 将这些摘要拼接成一个流畅的叙述。

通过仅在最后一步使用 GPT-4,我们成功地降低了成本。

现在,让我们来分析一下代码和每个步骤背后的原理。

让我们深入代码,一步步构建我们的摘要器。


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×