使用 NVIDIA API Catalog 上托管的 LLM#
本指南教您如何将 NeMo Guardrails 与 NVIDIA API Catalog 上托管的 LLM 一起使用。它使用了 ABC Bot 配置 以及 meta/llama-3.1-70b-instruct
模型。 同样,您可以使用 meta/llama-3.1-405b-instruct
、meta/llama-3.1-8b-instruct
或任何其他 AI 基础模型。
先决条件#
在开始之前,请确保您已具备以下先决条件
pip install -U --quiet langchain-nvidia-ai-endpoints
一个 NVIDIA NGC 帐户,用于访问 AI 基础模型。 要创建免费帐户,请访问 NVIDIA NGC 网站。
来自 NVIDIA API Catalog 的 API 密钥
通过导航到 NVIDIA NGC 网站上的 AI 基础模型 部分,选择具有 API 端点的模型并生成 API 密钥来生成 API 密钥。 您可以将此 API 密钥用于 NVIDIA API Catalog 中提供的所有模型。
将 NVIDIA API 密钥导出为环境变量
export NVIDIA_API_KEY=$NVIDIA_API_KEY # Replace with your own key
如果您在笔记本中运行此代码,请修补 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.
您可以看到机器人响应正确。
结论#
在本指南中,您学习了如何将 NeMo Guardrails 配置连接到 NVIDIA API Catalog LLM 模型。 本指南使用 meta/llama-3.1-70b-instruct
,但是,您可以通过遵循相同的步骤连接任何其他模型。