使用托管在 NVIDIA API Catalog 上的 LLM#

本指南教您如何将 NeMo Guardrails 与托管在 NVIDIA API Catalog 上的 LLM 一起使用。它使用了 ABC Bot 配置meta/llama-3.1-70b-instruct 模型。同样,您可以使用 meta/llama-3.1-405b-instructmeta/llama-3.1-8b-instruct 或任何其他 AI Foundation Model

先决条件#

在开始之前,请确保满足以下先决条件

  1. 安装 langchain-nvidia-ai-endpoints

pip install -U --quiet langchain-nvidia-ai-endpoints
  1. 用于访问 AI Foundation Models 的 NVIDIA NGC 账户。要创建免费账户,请访问 NVIDIA NGC 网站

  2. NVIDIA API Catalog 中的 API 密钥

    • 通过导航到 NVIDIA NGC 网站上的 AI Foundation Models 部分,选择具有 API 端点的模型,然后生成 API 密钥来生成 API 密钥。您可以使用此 API 密钥访问 NVIDIA API Catalog 中所有可用的模型。

    • 将 NVIDIA API 密钥导出为环境变量

export NVIDIA_API_KEY=$NVIDIA_API_KEY # Replace with your own key
  1. 如果您在 notebook 中运行此程序,请修补 AsyncIO 循环。

import nest_asyncio

nest_asyncio.apply()

配置#

要开始使用,请将 ABC bot 配置复制到名为 config 的子目录中

cp -r ../../../../examples/bots/abc config

config.yml 文件中的 models 部分更新为 NVIDIA API Catalog 支持的所需模型

...
models:
  - type: main
    engine: nvidia_ai_endpoints
    model: meta/llama-3.1-70b-instruct
...

用法#

加载 guardrail 配置

from nemoguardrails import LLMRails, RailsConfig

config = RailsConfig.from_path("./config")
rails = LLMRails(config)

测试是否正常工作

response = rails.generate(messages=[
{
    "role": "user",
    "content": "How many vacation days do I have per year?"
}])
print(response['content'])
According to our company policy, you are eligible for 20 days of vacation per year, accrued monthly.

您可以看到 bot 正确响应。

结论#

在本指南中,您学习了如何将 NeMo Guardrails 配置连接到 NVIDIA API Catalog LLM 模型。本指南使用 meta/llama-3.1-70b-instruct,但您可以通过遵循相同的步骤连接任何其他模型。