5.2. 使用模型进行聊天
提供模型后,您现在可以使用模型进行聊天。
要聊天的型号必须与您要提供的型号匹配。使用默认 config.yaml
文件,granite-7b-redhat-lab
模型是服务及聊天的默认模型。
先决条件
- 已使用可引导容器镜像安装了 RHEL AI。
- 您初始化了 InstructLab。
- 您下载了您首选的 Granite LLMs。
- 您提供模型。
- 在机器上具有 root 用户访问权限。
流程
- 由于您在一个终端窗口中提供模型,您必须打开另一个终端来与模型进行聊天。
要使用默认模型进行聊天,请运行以下命令:
ilab model chat
$ ilab model chat
Copy to Clipboard Copied! 要与特定模型进行聊天,请运行以下命令:
ilab model chat --model <model-path>
$ ilab model chat --model <model-path>
Copy to Clipboard Copied! 示例命令
ilab model chat --model ~/.cache/instructlab/models/granite-8b-code-instruct
$ ilab model chat --model ~/.cache/instructlab/models/granite-8b-code-instruct
Copy to Clipboard Copied!
chatbot 的输出示例
ilab model chat >> [S][default]
$ ilab model chat
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────── system ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Welcome to InstructLab Chat w/ GRANITE-8B-CODE-INSTRUCT (type /h for help) │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
>>> [S][default]
+ 键入 exit
以离开 chatbot。
5.2.1. 可选:创建一个 API 密钥以使用模型进行聊天
默认情况下,ilab
CLI 不使用身份验证。如果要将服务器公开给互联网,您可以创建一个 API 密钥,以按照以下流程连接到您的服务器。
先决条件
- 您在裸机上安装了 Red Hat Enterprise Linux AI 镜像。
- 您初始化的 InstructLab
- 您下载了您首选的 Granite LLMs。
- 在机器上具有 root 用户访问权限。
流程
运行以下命令,创建一个在
$VLLM_API_KEY
参数中保留的 API 密钥:export VLLM_API_KEY=$(python -c 'import secrets; print(secrets.token_urlsafe())')
$ export VLLM_API_KEY=$(python -c 'import secrets; print(secrets.token_urlsafe())')
Copy to Clipboard Copied! 您可以运行以下命令来查看 API 密钥:
echo $VLLM_API_KEY
$ echo $VLLM_API_KEY
Copy to Clipboard Copied! 运行以下命令来更新
config.yaml
:ilab config edit
$ ilab config edit
Copy to Clipboard Copied! 将以下参数添加到
config.yaml
文件的vllm_args
部分。serve: vllm: vllm_args: - --api-key - <api-key-string>
serve: vllm: vllm_args: - --api-key - <api-key-string>
Copy to Clipboard Copied! 其中
- <api-key-string>
- 指定 API 密钥字符串。
您可以运行以下命令来验证服务器是否使用 API 密钥身份验证:
ilab model chat
$ ilab model chat
Copy to Clipboard Copied! 然后,查看显示未授权用户的以下错误。
openai.AuthenticationError: Error code: 401 - {'error': 'Unauthorized'}
openai.AuthenticationError: Error code: 401 - {'error': 'Unauthorized'}
Copy to Clipboard Copied! 运行以下命令验证您的 API 密钥是否正常工作:
ilab model chat -m granite-7b-redhat-lab --endpoint-url https://inference.rhelai.com/v1 --api-key $VLLM_API_KEY
$ ilab model chat -m granite-7b-redhat-lab --endpoint-url https://inference.rhelai.com/v1 --api-key $VLLM_API_KEY
Copy to Clipboard Copied! 输出示例
ilab model chat >> [S][default]
$ ilab model chat ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────── system ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Welcome to InstructLab Chat w/ GRANITE-7B-LAB (type /h for help) │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ >>> [S][default]
Copy to Clipboard Copied!