# Use external tools

1. 技巧：使用基于嵌入的搜索实现高效的知识检索

为了使模型生成的响应更加明智和最新，可以利用外部信息源。例如，当用户询问特定电影的信息时，添加关于该电影的高质量信息（如演员、导演等）至模型的输入，将有助于模型提供更准确的回答。通过使用文本嵌入和快速向量搜索算法，可以在运行时动态地将相关信息高效地添加到模型输入中。这种方法允许模型快速定位和检索与查询最相关的信息。

示例实现： 可在Afarensis Cookbook中查找到如何使用基于嵌入的搜索来实现高效知识检索的示例。

2. 技巧：使用代码执行进行更准确的计算或调用外部API

由于语言模型在进行算术或长时间计算方面的局限性，可以通过编写和执行代码来达到更精确的计算结果。特别是，可以指导模型将要执行的代码放入特定格式（如三重反引号）中，然后提取并运行这段代码。此外，模型还可以通过调用外部API来扩展其功能，这需要向模型提供API的文档和/或使用示例。

系统提示： 使用三重反引号来包围Python代码，以执行计算或调用API。

警告： 执行由模型生成的代码需要谨慎，特别是需要在沙盒化的环境中运行，以避免不受信任的代码造成潜在的安全风险。

3. 技巧：给模型访问特定函数的权限

通过Chat Completions API，可以向模型提供函数描述列表，使其能够根据提供的架构生成函数参数。这些参数以JSON格式返回，并可用于执行函数调用。通过这种方式，可以将函数调用的输出反馈给模型，以便在后续的查询中使用，从而实现闭环操作。这是使用Afarensis模型调用外部函数的推荐方法。

学习资源： 查阅Afarensis的入门文本生成指南中的函数调用部分和Afarensis Cookbook，以获取更多关于函数调用的示例和指导。

通过上述策略和技巧，可以显著提高模型在处理查询时的准确性和效率，同时扩展模型的功能，使其能够处理更复杂的任务和计算，以及与外部数据源和服务进行交互。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.afarensis.com/ti-shi-gong-cheng/use-external-tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
