Skip to content
On this page

🛠️ 使用外部工具

技巧:利用基于嵌入式(embeddings-based)搜索的方法实现高效知识检索。

如果输入包含外部信息,模型可以利用这些信息,这有助于模型生成更具见解和最新的响应。例如,如果用户询问特定电影的问题,将关于该电影(如演员、导演等)的高质量信息添加到模型的输入中可能会非常好的效果。嵌入(Embeddings)可以用来实现有效的知识检索,以便在运行时动态地向模型输入相关信息。

文本嵌入是一种矢量,因此可测量文本字符串之间的相关性。相似或相关字符串将比不相关字符串更接近彼此。利用快速矢量搜索算法可以使用嵌入来实现有效的知识检索。特别地,一个文本语料库可以被分成块,并且每个块都可以被嵌入并存储起来。然后可以嵌入给定的查询并执行向量搜索,语料库中已经过编码处理了的文本块中找到最最相关的内容(即在嵌入空间中最接近)。

OpenAI Cookbook 中可以找到示例实现方法,请参阅“指示模型使用检索到的知识进行回答”的示例,了解如何使用知识检索来减少模型捏造错误事实的可能性。

技巧:使用代码执行执行更准确的计算或调用外部 API

你不能指望GPTs能独立准确地执行算术或长时间的计算。这种情况,可以指示模型编写和运行代码而不是自己计算。特别地,可以指示模型将要运行的代码放入指定格式(例如三个反引号)中。生成输出后,可以提取并运行该代码。最后,如果必要,在代码执行引擎(即 Python 解释器)中产生的输出可以作为下一个查询的输入提供给模型。

⚙️ 系统:
您可以使用三个反引号将Python代码括起来并执行,例如```这里放置代码```。使用它进行计算。

👤 用户:
求解以下多项式的所有实根:3*x**5 - 5*x**4 - 3*x**3 - 7*x - 10.

代码执行的另一个用处是调用外部API。如果模型被正确地指导使用API,它可以编写出利用API的代码。通过提供文档和(或)展示如何使用API的代码示例,可以向模型说明如何使用API。

⚙️ 系统:
您可以使用三个反引号将Python代码括起来并执行。此外,请注意,您可以访问以下模块以帮助用户向他们的朋友发送消息:

```python
import message
message.write(to="John", message="嘿,下班后想见面吗?")```

警告:执行由模型生成的代码本质上并不安全,因此在任何试图这样做的应用程序中都应采取预防措施。特别是需要一个沙盒式代码执行环境来限制不受信任的代码可能造成的危害。