Red Hat® AI InstructLab on IBM Cloud® 是由 Red Hat Enterprise Linux AI 提供支持的业务就绪、私有和安全的生成式人工智能解决方案。

Red Hat AI InstructLab on IBM Cloud 入门

准备好通过 Red Hat® AI InstructLab on IBM Cloud® 深入了解 人工智能以模型的形式获取、处理、创造和应用知识,从而做出预测、建议或决策的能力。!

InstructLab 是一个开源项目,来自 IBM 和 Red Hat,是进入 机器学习人工智能(AI)和计算机科学的一个分支,专注于利用数据和算法来模仿人类学习的方式,逐步提高人工智能模型的准确性。世界的一个经济高效的切入点。 您可以使用 InstructLab 为大型语言模型做出贡献,而无需拥有和运行硬件基础设施。

了解有关 InstructLab 的更多信息。

什么是 Red Hat AI InstructLab?

要使用 InstructLab,您不需要任何已有知识。 你甚至还不需要有创作的想法。 让我们先熟悉一下这些概念。

InstructLab 是一个用于增强 大语言模型 的项目,这是一种使用机器学习技术生成人类语言的人工智能模型。 首先,您要在所谓的分类法或数据目录中提供对企业最重要的知识和技能。 分类法用于生成合成数据,然后通过多个阶段的微调来训练模型。 这一过程不仅提供一般知识,还提供对您的独特业务需求最为重要的特定技能和背景,从而使您的法律硕士课程与您的目标相一致。

如需了解更多信息,请参阅 如何操作。 或者,立即开始 准备和上传您的第一个分类法。

设置您的 IBM Cloud® 账户

在继续之前,请确保您具备以下条件

可选:准备分类法

  1. 使用 IBM Cloud 分类法或创建自己的分类法。

    • 如果还没有分类法,可以 fork IBM Cloud 分类法软件仓库,然后克隆到本地计算机。 该分类法已为您创建了正确的文件结构。 您可以在相应的目录中添加知识和技能。

    • 要创建自己的分类标准,请参阅“准备分类标准”获取更多信息。

    您还可以使用 IBM Cloud 社区的 Jupyter 笔记本创建分类法。 更多信息,请参见 redhat-ai-instructlab-jupyter-notebooks GitHub repo。

  2. 更新分类法。 下面的示例在语言学目录中添加了押韵问题。

    a. 在你的分叉中,在 compositional_skills/linguistics 目录下创建一个 qna.yaml 文件。

    b. 在 qna.yml 文件中,添加一个与押韵单词有关的问题。

    - answer: 'Here are two rhyming words for "cave":
        1\. Brave
    
        2\. Gave'
      question: 'Give me two words that rhyme with cave'
    

    c. 如果您添加的内容包括参考文档,如网络文章或 Github 中的文件,您可以像 本例 一样引用 GitHub 公共版本库和文件的 SHA。

    document:
    repo: https://github.com/<organization>/<repository>
    commit: <commit_sha>
    patterns:
        - <filename>.md
    

    d. 保存更改并将更改推送到分支。

    f. 可选:验证更新的分类法。

  3. 在浏览器中打开Github仓库的发布页面。 例如:https://github.com/<my-org>/taxonomy/releases。

  4. 单击创建发布。

  5. 创建一个标签,选择一个目标分支,并为发布输入一个名称。

  6. 点击发布新闻稿。

  7. 单击源代码 ( tar.gz ),下载从版本中自动生成的 tar.gz 打包文件。

  8. 可选:如果分类知识文档使用的是私有资源库,请完成以下步骤。

    1. 按照 GitHub 文档 创建经典的个人访问令牌 (PAT)。

    2. 在 “版本库访问”部分,将您的 PAT 扩展到分类法版本库。

    3. 在版本库权限部分,选择内容 > read-only 和元数据 > read-only。

使用控制台上传分类标准

完成以下步骤,将分类标准存储在 Object Storage 中。

  1. 从项目 页面选择项目。

  2. 点击分类。

  3. 单击上传并输入以下详细信息。

    分类文件
    选择 .tar.gz 文件。
    分类名称
    给分类法起一个字母数字名称。
    专用存储库访问
    如果您的分类知识文档位于私有资源库中,请启用此选项。
    Secrets Manager 服务实例 :选择现有实例或创建一个实例。
    Secrets Manager 秘密 : 选择一个现有秘密或创建一个秘密。 如果要创建密文,请选择键值密文类型,并按以下格式添加个人访问令牌。 注意 github_url 的值必须包含 https://。 URL 与您在分类文档参考 repo 部分中使用的 URL 相同。
    {
    "github_url": "https://...",
    "github_pat": "xxxxx"
    }
    

    更多信息,请参阅 创建键值机密。

    云存储器
    要么选择 Object Storage 实例和存储桶,要么创建一个实例和存储桶。
    服务授权
    选中复选框,允许 InstructLab 将您的分类法写入 Object Storage
    可选的存储设置
    在 Object Storage 中指定分类标准 tar.gz 的存储路径。
  4. 点击上传

使用 CLI 将分类法添加到 Object Storage

完成以下步骤,将分类标准存储在 Object Storage 中。

您可以使用 set 命令保存 Object Storage 水桶的详细信息和凭证等。 这可以简化您今后的命令。 请注意,使用 set 命令时,必须单独设置每个值。 更多信息,请参阅 配置命令参考。

  1. 从 CLI 登录 IBM Cloud 账户。

    ibmcloud login -a https://cloud.ibm.com --sso -r us-east
    
  2. 如果计划允许 InstructLab 为您创建 IBM Cloud® Object Storage Instance 资源,则以资源组为目标。

    ibmcloud target -g <resource_group>
    

    示例:

    ibmcloud target -g Default
    
  1. 为 InstructLab 和 Object Storage 创建授权策略。

    ibmcloud iam authorization-policy-create Writer --source-service-name instructlab --target-service-name cloud-object-storage
    
  2. 可选:如果使用私有 repo 来存储分类知识文档,请完成以下步骤。

    1. 创建服务授权,允许 InstructLab 访问 Secrets Manager 实例和机密。

      ibmcloud iam authorization-policy-create Reader --source-service-name instructlab --target-service-name secrets-manager
      
    2. 通过创建键值密文,将您的个人访问令牌 (PAT) 添加到 Secrets Manager。 确保按以下格式存储键值详细信息。

      {
      "github_url": "https://...",
      "github_pat": "xxxxx"
      }
      

      创建键值密文的示例命令。

      ibmcloud secrets-manager secret-create --secret-prototype='{"name": "my-secret","description": "Description of my key-value secret.","secret_type": "kv","secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a","labels": ["dev","us-south"],"data": {"github_url": "https://...","github_pat": "xxxxx"},"custom_metadata": {"metadata_custom_key": "metadata_custom_value"},"version_custom_metadata": {"custom_version_key": "custom_version_value"}}'
      

      更多信息,请参阅 创建键值机密。

    3. 列出 Secrets Manager 实例。

      ibmcloud resource service-instances --service-name secrets-manager
      
    4. 获取实例详细信息。

      ibmcloud resource service-instance INSTANCE
      
  3. 运行 taxonomy add --help 命令,查看命令选项。

    ibmcloud ilab taxonomy add --help
    
  4. 可选如果要使用现有的 Object Storage 实例,请获取服务实例详细信息。

    1. 列出 Object Storage 实例。
      ibmcloud resource service-instances --service-name cloud-object-storage
      
    2. 获取实例详细信息。
      ibmcloud resource service-instances INSTANCE
      
  5. 将分类法添加到 Object Storage 桶中。 查看以下命令示例。

    快速启动 示例命令,用于在账户中自动创建 Object Storage 实例和水桶,并将 ./taxonomy 文件夹中的分类标准上传到该实例和水桶。

    ibmcloud ilab taxonomy add \
    --name example-taxonomy-1 \
    --taxonomy-path "./taxonomy"
    

    将分类标准从机器上的 taxonomy 文件夹上传到现有 Object Storage 实例和邮筒的示例命令。

    ibmcloud ilab taxonomy add \
    	--name example-taxonomy-name-1 \
    	--taxonomy-path-cos "taxonomies/taxonomy.tar.gz" \
    	--taxonomy-path "./taxonomy" \
    	--cos-bucket example-cloud-object-storage-bucket-1 \
    	--cos-endpoint https://s3.us-east.cloud-object-storage.appdomain.cloud
    

    使用现有 Object Storage 实例和 bucket 以及 Secrets Manager 凭据的示例命令。

    ibmcloud ilab taxonomy add \
    --name example-taxonomy-1 \
    --taxonomy-path-cos taxonomies/taxonomy.tar.gz \
    --taxonomy-path "./taxonomy" \
    --cos-endpoint https://s3.us-east.cloud-object-storage.appdomain.cloud \
    --secrets-manager-git-id SEC-MGR-ID
    --secrets-manager-git-url https://URL
    

    将 /Users/USER/instructlab-taxonomy 文件夹中的分类标准上传到自动创建的新邮筒的示例命令。

    ibmcloud ilab taxonomy add \
    --name test \
    --taxonomy-path "/Users/USER/instructlab-taxonomy" \
    --cos-endpoint https://s3.us-east.cloud-object-storage.appdomain.cloud \
    --cos-id 628e4348-2183-42fa-a03a-6f0f78453530
    

后续步骤?

上传分类标准后,下一步就 是从分类标准中生成数据。