Gorilla 是一种先进的大型语言模型 (LLM),旨在与各种 API 有效交互,从而增强 LLM 在实际应用中的功能。
Gorilla LLM的相关链接:官网 | github | 论文。
推荐:用 NSDT编辑器 快速搭建可编程3D场景
1、Gorilla LLM简介
通过使用自我指导(Self-instruction)和检索(Retrieval )技术,Gorilla 擅长选择和利用具有重叠和不断发展的功能的工具。
使用全面的 APIBench 数据集(包括 HuggingFace、TorchHub 和 TensorHub API)进行评估,Gorilla 在生成 API 调用方面超越了 GPT-4 的性能。
当与文档检索(Document retrieval)系统配合使用时,它展示了适应 API 文档变化的令人印象深刻的能力,增强了其输出的可靠性和适用性。
2、Gorilla运行机制
Gorilla 连接 API 的过程涉及几个关键步骤:
- 用户提示:用户提供自然语言提示,描述他们希望使用 API 实现的特定任务或目标。
- 检索(可选):在检索模式下,Gorilla 使用文档检索器(例如 BM25 或 GPT-Index)从数据库中获取最新的 API 文档。 然后,该文档会与用户提示连接起来,并附有一条消息,指示 Gorilla 使用它作为参考。
- API 调用生成:Gorilla 处理用户提示(以及检索到的文档,如果适用)以生成满足用户任务或目标的适当 API 调用。 这是通过 Gorilla 经过微调的 LLaMA-7B 模型实现的,该模型专为 API 调用而设计。
- 输出:Gorilla 将生成的 API 调用返回给用户,然后可用于与所需的 API 进行交互并完成指定的任务。
值得注意的是,Gorilla 具有很强的适应性,可以在零样本(zero-shot)和检索模式下运行,使其能够适应 API 文档的变化并随着时间的推移保持准确性。
3、Gorilla快速上手
让我们看看代码。
首先,使用pip安装OpenAI:
pip install openai
像这样配置 api_key 和 api_base:
import openai
openai.api_key = "EMPTY" # Key is ignored and does not matter
openai.api_base = "http://34.132.127.197:8000/v1"
使用 OpenAI 库创建获取 Gorilla 结果的函数:
def get_gorilla_response(prompt="I would like to translate from English to French.", model="gorilla-7b-hf-v0"):
completion = openai.ChatCompletion.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
return completion.choices[0].message.content
执行发送提示的函数并指定想要使用的模型,在本例中为 gorilla-7b-hf-v0。
prompt = "I would like to translate from English to Chinese."
print(get_gorilla_response(prompt, model="gorilla-7b-hf-v0" ))
就是这样。 然后,你将收到来自 Huggingface API 的完整信息以及有关如何执行该请求的说明。
4、Gorilla演示
点击这里访问Gorilla演示:
5、结束语
Gorilla 是一个突破性的LLM,可以生成准确的 API 调用并适应文档的实时变化。 该模型为未来的LLM在与工具和系统交互方面变得更加可靠和多功能铺平了道路。
LLM未来的进步可以集中在进一步减少幻觉错误、提高对不同 API 的适应性以及扩展其处理复杂任务的能力。 潜在的应用包括充当计算基础设施的主要接口、自动化度假预订等流程以及促进各种 Web API 之间的无缝通信。
原文链接:Gorilla LLM-API调用生成 — BimAnt