使用 NVIDIA API 目录中托管的 LLM
本指南教您如何将 NeMo Guardrails 与 NVIDIA API 目录中托管的 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 目录的 API 密钥
通过导航到 NVIDIA NGC 网站上的 AI 基础模型 部分,选择具有 API 端点的模型并生成 API 密钥来生成 API 密钥。 您可以将此 API 密钥用于 NVIDIA API 目录中提供的所有模型。
将 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 目录支持的所需模型
...
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 目录 LLM 模型。 本指南使用 meta/llama-3.1-70b-instruct
,但是,您可以按照相同的步骤连接任何其他模型。