使用托管在 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 Foundation Model。
先决条件#
在开始之前,请确保满足以下先决条件
pip install -U --quiet langchain-nvidia-ai-endpoints
用于访问 AI Foundation Models 的 NVIDIA NGC 账户。要创建免费账户,请访问 NVIDIA NGC 网站。
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
如果您在 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
,但您可以通过遵循相同的步骤连接任何其他模型。