NSDT工具推荐Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模

Gorilla 是一种先进的大型语言模型 (LLM),旨在与各种 API 有效交互,从而增强 LLM 在实际应用中的功能。

Gorilla LLM的相关链接:官网 | github | 论文

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 之间的无缝通信。


原文链接:Try Gorilla: A Large Language Model Connected with Massive APIs

BimAnt翻译整理,转发请标明出处