为 Red Hat Developer Hub 与 Red Hat Developer Lightspeed 交互


Red Hat Developer Hub 1.7

利用红帽 Developer Hub 的 Red Hat Developer Lightspeed (Developer Lightspeed for RHDH)虚拟助手,使用 Artificial Intelligence (AI)驱动经验来帮助您使用红帽 Developer Hub (RHDH)

Red Hat Customer Content Services

摘要

利用红帽 Developer Hub 的 Red Hat Developer Lightspeed (Developer Lightspeed for RHDH)虚拟助手,使用 Artificial Intelligence (AI)驱动经验来帮助您使用红帽 Developer Hub (RHDH)

1.1. 关于 RHDH 的 Developer Lightspeed

重要

本节论述了 Red Hat Developer Lightspeed for Red Hat Developer Hub 插件中的开发者预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能在红帽产品产品中包括早期对功能的访问。客户可以使用这些功能在开发过程中测试并提供反馈。开发人员预览功能可能没有任何文档,可以随时更改或删除,并且已获得有限的测试。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。

有关红帽开发人员预览功能的支持范围的更多信息,请参阅 开发人员预览支持范围

此早期访问计划使客户能够就用户体验、功能、功能和遇到的问题分享反馈。您的输入有助于确保 RHDH 的 Developer Lightspeed 在正式发布并正式发布时更好地满足您的需求。

Red Hat Developer Hub 的 Red Hat Developer Lightspeed (Developer Lightspeed for RHDH)是由专为 Red Hat Developer Hub (RHDH)设计的 generative Artificial Intelligence (AI)提供支持的虚拟助手。该助手提供有关 RHDH 的深入见解,包括其广泛的功能。您可以与这个助手进行交互,以深入了解并了解更多有关 RHDH 的信息。

Developer Lightspeed for RHDH 提供了 RHDH 控制台中的自然语言接口,帮助您轻松查找有关产品的信息,了解其功能并解答您的问题。

您可以通过在现有 RHDH 实例中为 Red Hat Developer Hub 插件安装 Developer Lightspeed,为 RHDH 开发人员预览体验 Developer Lightspeed。或者,如果您想首先在本地进行测试,您可以使用 RHDH Local 试用 RHDH 的 Developer Lightspeed。

Developer lightspeed

开发人员 Lightspeed for RHDH 作为托管 RHDH 的所有平台的一个插件提供,它需要使用 Road-Core Service (RCS)作为 sidecar 容器。有关安装 RHDH 的不同可用平台的更多信息,请参阅安装 https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.7/#Install

注意

目前,提供的 RCS 镜像是为 x86 平台构建的。要使用其他平台(如 arm64),请确保启用模拟。

1.2.1. 关于 Road-Core 服务

Road-Core 服务(RCS)充当中介和服务层,用于与 LLM 供应商交互。RCS 处理 LLM 供应商设置、身份验证,并包括问题验证、反馈和重试 8 代(RAG)等功能。RHDH 中的 Developer Lightspeed 用于 RHDH 插件,与 RCS sidecar 通信,以发送提示并从配置的 LLM 服务接收响应。RCS sidecar 用于集中 LLM 交互逻辑和配置以及您的 RHDH 实例。

注意

Red Hat Developer Hub 的 Red Hat Developer Lightspeed 是一个开发者预览版本。您必须手动将 Road-Core Service 部署为 sidecar 容器,然后在 RHDH 实例中为 RHDH 安装 Developer Lightspeed。

1.3. 检索 Augmented Generation embeddings

Red Hat Developer Hub 文档集已添加到 Road-Core Service 中,作为 RAG 嵌入。

您必须为 RHDH 和 RCS sidecar 容器安装和配置 Developer Lightspeed。

先决条件

流程

  1. 创建 RCS ConfigMap。

    1. 在 OpenShift Container Platform Web 控制台中,进入您的 RHDH 实例并选择 ConfigMaps 选项卡。
    2. Create ConfigMaps
    3. Create ConfigMap 页面中,在 Configure via 中选择 YAML view 选项,并编辑该文件,如下例所示:

      kind: ConfigMap
      apiVersion: v1
      metadata:
       name: rcsconfig
       namespace: _<namespace>_ # Enter your namespace (For example, `rhdh`)
      data:
       rcsconfig.yaml: |
        llm_providers:
          # Start: Do not remove this block
          - name: dummy
            type: openai
            url: https://dummy.com
            models:
              - name: dummymodel
            # End: Do not remove this block
        ols_config:
          user_data_collection:
            log_level: "DEBUG"
            feedback_disabled: false
            feedback_storage: "/tmp/feedback"
          reference_content:
            product_docs_index_path: "./vector_db/rhdh_product_docs/1.7"
            product_docs_index_id: rhdh-product-docs-1_7
            embeddings_model_path: "./embeddings_model"
          conversation_cache:
            type: memory
            memory:
              max_entries: 1000
          logging_config:
            app_log_level: info
            lib_log_level: warning
            uvicorn_log_level: info
            suppress_metrics_in_log: false
            suppress_auth_checks_warning_in_log: false
          authentication_config:
            module: "noop"
          default_provider: dummy
          default_model: dummymodel
          query_validation_method: disabled
        dev_config:
          enable_dev_ui: false
          disable_auth: false
          disable_tls: true
          enable_system_prompt_override: true
        user_data_collector_config:
          user_agent: "example-user-agent"
          ingress_url: "https://example.ingress.com/upload"
      重要

      不要删除 llm_providers 部分中的块。由于在 path Core 中发现的限制,这个要求对于 RHDH 使用 Developer Lightspeed 时至关重要。对于决定使用替代 LLM 供应商的实例,您应该参考指南中的其他信息。如需更多信息,请参阅 更改 LLM 供应商

    4. 可选:通过在 RCS ConfigMap 中指定以下示例来配置 扩展 REST API 的 worker 数量。

      ols_config:
          max_workers: _<number_of_workers>_
    5. Create
  2. 为 RHDH ConfigMap 创建 Developer Lightspeed。

    注意

    为 RHDH ConfigMap 创建专用的 Developer Lightspeed,而不是向现有的 RHDH 自定义应用程序配置文件添加额外的部分(例如 lightspeed-app-config.yaml)。创建两个文件可防止整个 RHDH ConfigMap 加载到 RCS 中。

    1. 在 OpenShift Container Platform Web 控制台中,进入您的 RHDH 实例并选择 ConfigMaps 选项卡。
    2. Create ConfigMap
    3. Create ConfigMap 页面中,选择 Configure via 中的 YAML view 选项,并添加以下示例:

      kind: ConfigMap
      apiVersion: v1
      metadata:
        name: lightspeed-app-config
        namespace: <__namespace__> # Enter your RHDH instance namespace
      data:
        app-config.yaml: |-
          backend:
            csp:
               upgrade-insecure-requests: false
             img-src:
                - "'self'"
                - "data:"
                - https://img.freepik.com
                - https://cdn.dribbble.com
                - https://avatars.githubusercontent.com # This is to load GitHub avatars in the UI
             script-src:
                 - "'self'"
                 - https://cdn.jsdelivr.net
      
          lightspeed:
            # REQUIRED: Configure LLM servers with OpenAI API compatibility
            servers:
              - id: ${LLM_SERVER_ID}
                url: ${LLM_SERVER_URL}
                token: ${LLM_SERVER_TOKEN}
      
            # OPTIONAL: Enable/disable question validation (default: true)
            # When enabled, restricts questions to RHDH-related topics for better security
            questionValidation: true
      
            # OPTIONAL: Custom users prompts displayed to users
            # If not provided, the plugin uses built-in default prompts
            prompts:
              - title: 'Getting Started with Red Hat Developer Hub'
                message: Can you guide me through the first steps to start using Developer Hub as a developer, like exploring the Software Catalog and adding my service?
      
            # OPTIONAL: Port for lightspeed service (default: 8080)
            # servicePort: ${LIGHTSPEED_SERVICE_PORT}
      
            # OPTIONAL: Override default RHDH system prompt
            # systemPrompt: "You are a helpful assistant focused on Red Hat Developer Hub development."
  3. 为 RHDH secret 文件创建 Developer Lightspeed。

    1. 在 OpenShift Container Platform Web 控制台中进入 Secrets
    2. Create > Key/value secret
    3. Create key/value secret 页面中,选择 Configure via 中的 YAML view 选项,并添加以下示例:

      kind: Secret
      apiVersion: v1
      metadata:
        name: lightspeed-secrets
        namespace: _<namespace>_ # Enter your rhdh instance namespace
      stringData:
        LLM_SERVER_ID: _<server_id>_ # Enter your server ID (for example, `ollama` or `granite`)
        LLM_SERVER_TOKEN: _<token>_ # Enter your server token value
        LLM_SERVER_URL: _<server_url>_ # Enter your server URL
      type: Opaque
    4. Create
  4. 在现有的动态插件 ConfigMap (如 dynamic-plugins-rhdh.yaml)中,为 RHDH 插件镜像添加 Developer Lightspeed,如下例所示:

    includes:
      - dynamic-plugins.default.yaml
     plugins:
      - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-lightspeed:bs_1.39.1__0.5.7!red-hat-developer-hub-backstage-plugin-lightspeed
        disabled: false
        pluginConfig:
          lightspeed:
            # OPTIONAL: Custom users prompts displayed to users
            # If not provided, the plugin uses built-in default prompts
            prompts:
              - title: 'Getting Started with Red Hat Developer Hub'
                message: Can you guide me through the first steps to start using Developer Hub
                  as a developer, like exploring the Software Catalog and adding my
                  service?
          dynamicPlugins:
            frontend:
              red-hat-developer-hub.backstage-plugin-lightspeed:
                appIcons:
                  - name: LightspeedIcon
                    module: LightspeedPlugin
                    importName: LightspeedIcon
                dynamicRoutes:
                  - path: /lightspeed
                    importName: LightspeedPage
                    module: LightspeedPlugin
                    menuItem:
                      icon: LightspeedIcon
                      text: Lightspeed
      - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-lightspeed-backend:bs_1.39.1__0.5.7!red-hat-developer-hub-backstage-plugin-lightspeed-backend
        disabled: false
        pluginConfig:
          lightspeed:
            # REQUIRED: Configure LLM servers with OpenAI API compatibility
            servers:
              - id: ${LLM_SERVER_ID}
                url: ${LLM_SERVER_URL}
                token: ${LLM_SERVER_TOKEN}
    
            # OPTIONAL: Port for lightspeed service (default: 8080)
            # servicePort: ${LIGHTSPEED_SERVICE_PORT}
  5. 根据您的安装方法更新部署配置:

    1. 对于 Operator 安装的 RHDH 实例,请更新 Backstage 自定义资源(CR)。

      1. spec.application.appConfig.configMaps 部分中,为 RHDH 自定义应用程序配置添加 Developer Lightspeed,如下例所示:

              appConfig:
                configMaps:
                  - name: lightspeed-app-config
                mountPath: /opt/app-root/src
      2. 更新 extraVolumes 规格,使其包含 RCS ConfigMap,如下例所示:

                    volumes:
                      - configMap:
                          name: rcsconfig
                        name: rcsconfig
      3. 更新 volumeMounts 规格以挂载 RCS ConfigMap,如下例所示:

                volumeMounts:
                  - mountPath: /app-root/config/rcsconfig.yaml
                    name: rcsconfig
                    subPath: rcsconfig.yaml
                  - mountPath: /app-root/config/app-config-rhdh.yaml
                    name: lightspeed-app-config
                    subPath: app-config.yaml
      4. 为 RHDH Secret 文件添加 Developer Lightspeed,如下例所示:

                envFrom:
                  - secretRef:
                      name: lightspeed-secrets
      5. deployment.patch.spec.template.spec.containers.env 部分中,设置 RCS 环境变量,如下例所示:

            - name: PROJECT
              value: rhdh
            - name: RCS_CONFIG_FILE
              value: /app-root/config/rcsconfig.yaml
            - name: RHDH_CONFIG_FILE
              value: /app-root/config/app-config-rhdh.yaml
        注意

        您的 RHDH 容器通常已存在于您的 CR 中。您要添加第二个容器定义 road-core-sidecar 作为 RCS sidecar。

      6. 点击 Save。Pod 会自动重启。

        带有 RCS 容器的 Backstage CR 示例

        apiVersion: rhdh.redhat.com/v1alpha3
        kind: Backstage
        metadata:
          name: backstage
          namespace: _<namespace>_ # your RHDH instance namespace
        spec:
          application:
            appConfig:
             configMaps:
        # Adding the Developer Lightspeed custom app config file
               - name: lightspeed-app-config
             mountPath: /opt/app-root/src
            dynamicPluginsConfigMapName: dynamic-plugins-rhdh
            extraEnvs:
        # Adding the Developer Lightspeed secrets file
              secrets:
                - name: lightspeed-secrets
            replicas: 1
            extraFiles:
              mounthPath: /opt/app-root/src
            replicas: 1
            route:
              enabled: true
          database:
            enableLocalDb: true
          deployment:
            patch:
              spec:
                template:
                  spec:
                    containers:
                      - env:
                          - name: PROJECT
                            value: rhdh
        # Mounting the RCS sidecar to your RHDH instance
                          - name: RCS_CONFIG_FILE
                            value: /app-root/config/rcsconfig.yaml
        # Your existing RHDH ConfigMap
                          - name: RHDH_CONFIG_FILE
                            value: /app-root/config/app-config-rhdh.yaml
                        envFrom:
                          - secretRef:
                              name: lightspeed-secrets
                        image: 'quay.io/redhat-ai-dev/road-core-service:rcs-06302025-rhdh-1.7'
                        name: road-core-sidecar
                        ports:
                          - containerPort: 8080
                            name: rcs-backend
                            protocol: TCP
                        volumeMounts:
        # Mounting the RCS sidecar to your RHDH instance
                          - mountPath: /app-root/config/rcsconfig.yaml
                            name: rcsconfig
                            subPath: rcsconfig.yaml
        # Mounting the Lightspeed app config file to your RCS container
                          - mountPath: /app-root/config/app-config-rhdh.yaml
                            name: lightspeed-app-config
                            subPath: app-config.yaml
                    volumes:
                      - configMap:
                          name: rcsconfig
                        name: rcsconfig

    2. 对于 Helm 安装的 RHDH 实例,请更新您的 Helm Chart。

      1. 在'global.dynamic' 属性中添加动态插件配置,如下例所示:

        global:
        dynamic:
          includes:
          - dynamic-plugins.default.yaml
          plugins:
          - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-lightspeed:bs_1.39.1__0.5.7!red-hat-developer-hub-backstage-plugin-lightspeed
            disabled: false
            pluginConfig:
              lightspeed:
                # OPTIONAL: Custom users prompts displayed to users
                # If not provided, the plugin uses built-in default prompts
                prompts:
                  - title: 'Getting Started with Red Hat Developer Hub'
                    message: Can you guide me through the first steps to start using Developer Hub
                      as a developer, like exploring the Software Catalog and adding my
                      service?
              dynamicPlugins:
                frontend:
                  red-hat-developer-hub.backstage-plugin-lightspeed:
                    appIcons:
                      - name: LightspeedIcon
                        module: LightspeedPlugin
                        importName: LightspeedIcon
                    dynamicRoutes:
                      - path: /lightspeed
                        importName: LightspeedPage
                        module: LightspeedPlugin
                        menuItem:
                          icon: LightspeedIcon
                          text: Lightspeed
          - package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/red-hat-developer-hub-backstage-plugin-lightspeed-backend:bs_1.39.1__0.5.7!red-hat-developer-hub-backstage-plugin-lightspeed-backend
            disabled: false
            pluginConfig:
              lightspeed:
                # REQUIRED: Configure LLM servers with OpenAI API compatibility
                servers:
                  - id: ${LLM_SERVER_ID}
                    url: ${LLM_SERVER_URL}
                    token: ${LLM_SERVER_TOKEN}
                # OPTIONAL: Port for lightspeed service (default: 8080)
                # servicePort: ${LIGHTSPEED_SERVICE_PORT}
      2. 为 RHDH 自定义应用程序配置文件添加 Developer Lightspeed,如下例所示:

         extraAppConfig:
              - configMapRef: lightspeed-app-config
                filename: app-config.yaml
      3. 更新 extraVolumes 部分,使其包含 RCS ConfigMap,如下例所示:

        extraVolumes:
              - configMap:
                  name: rcsconfig
                name: rcsconfig
      4. 更新 extraVolumeMounts 部分以挂载 RCS ConfigMap,如下例所示:

         extraVolumeMounts:
              - mountPath: /app-root/config/rcsconfig.yaml
                name: rcsconfig
      5. 为 RHDH Secret 文件添加 Developer Lightspeed,如下例所示:

         extraEnvVarsSecrets:
              - lightspeed-secrets
      6. 添加 RCS 镜像,如下例所示:

           extraContainers:
              - env:
                  - name: PROJECT
                    value: rhdh
                  - name: RCS_CONFIG_FILE
                    value: /app-root/config/rcsconfig.yaml
                  - name: RHDH_CONFIG_FILE
                    value: /app-root/config/lightspeed-app-config.yaml
                envFrom:
                  - secretRef:
                      name: lightspeed-secrets
                image: 'quay.io/redhat-ai-dev/road-core-service:rcs-06302025-rhdh-1.7'
                name: road-core-sidecar
                ports:
                  - containerPort: 8080
                    name: rcs-backend
                    protocol: TCP
                volumeMounts:
                  - mountPath: /app-root/config/rcsconfig.yaml
                    name: rcsconfig
                    subPath: rcsconfig.yaml
                  - mountPath: /app-root/config/lightspeed-app-config.yaml
                    name: lightspeed-app-config
                    subPath: app-config.yaml
        注意

        您的 RHDH 容器通常已存在于 Helm Chart 中。您要添加第二个容器定义 road-core-sidecar 作为 RCS sidecar。

      7. 点击 Save
      8. Helm upgrade

        带有 RCS 容器的 Helm chart 示例

        global:
         ...
        upstream:
         backstage:
           appConfig:
             ...
           args:
             ...
           extraAppConfig:
             - configMapRef: lightspeed-app-config
               filename: app-config.yaml
           extraContainers:
             - env:
                 - name: PROJECT
                   value: rhdh
                 - name: RCS_CONFIG_FILE
                   value: /app-root/config/rcsconfig.yaml
                 - name: RHDH_CONFIG_FILE
                   value: /app-root/config/lightspeed-app-config.yaml
               envFrom:
                 - secretRef:
                     name: lightspeed-secrets
               image: 'quay.io/redhat-ai-dev/road-core-service:rcs-06302025-rhdh-1.7'
               name: road-core-sidecar
               ports:
                 - containerPort: 8080
                   name: rcs-backend
                   protocol: TCP
               volumeMounts:
                 - mountPath: /app-root/config/rcsconfig.yaml
                   name: rcsconfig
                   subPath: rcsconfig.yaml
                 - mountPath: /app-root/config/lightspeed-app-config.yaml
                   name: lightspeed-app-config
                   subPath: lightspeed-app-config.yaml
           extraEnvVars:
             ...
           extraEnvVarsSecrets:
             - lightspeed-secrets
           extraVolumeMounts:
             - mountPath: /app-root/config/rcsconfig.yaml
               name: rcsconfig
           extraVolumes:
             - configMap:
                 name: rcsconfig
               name: rcsconfig
             ...
           image:
             ...
           initContainers:
             ...

  6. 根据您的安装方法管理授权:

    1. 对于 Operator 安装的 RHDH 实例,请完成以下步骤为不是管理员的用户定义权限和角色:

      1. 通过定义 rbac-policies.csv 文件来配置所需的 RBAC 权限,如下例所示:

        p, role:default/_<your_team>_, lightspeed.chat.read, read, allow
        p, role:default/_<your_team>_, lightspeed.chat.create, create, allow
        p, role:default/_<your_team>_, lightspeed.chat.delete, delete, allow
        
        g, user:default/_<your_user>_, role:default/_<your_team>_
      2. rbac-policies.csv 文件上传到包含 RHDH 的 OpenShift Container Platform 项目中的 rbac-policies 配置映射。
      3. 更新 Backstage 自定义资源,以便从 rbac-policies ConfigMap 中挂载您的文件:

        apiVersion: rhdh.redhat.com/v1alpha3
        kind: Backstage
        spec:
          application:
            extraFiles:
              mountPath: /opt/app-root/src
              configMaps:
                - name: rbac-policies

        如需更多信息,请参阅使用 外部文件管理授权

    2. 对于 Helm 安装的 RHDH 实例,请完成以下步骤为不是管理员的用户定义权限和角色:

      1. 通过定义 rbac-policies.csv 文件来配置所需的 RBAC 权限,如下例所示:

        p, role:default/_<your_team>_, lightspeed.chat.read, read, allow
        p, role:default/_<your_team>_, lightspeed.chat.create, create, allow
        p, role:default/_<your_team>_, lightspeed.chat.delete, delete, allow
        g, user:default/_<your_user>_, role:default/_<your_team>_
      2. 声明策略管理员,以启用选择数量的经过身份验证的用户,以通过 REST API 或 Web UI 配置 RBAC 策略,而不是直接修改 CSV 文件。权限可以在 my-rhdh-app-config 配置映射中引用的单独 CSV 文件中指定,也可以使用 REST API 或 Web UI 创建权限。要将 < your_policy_administrator_name&gt; 等用户声明为策略管理员,请编辑自定义 RHDH ConfigMap,如 app-config.yaml,并将以下代码添加到 app-config.yaml 内容中:

        permission:
          enabled: true
          rbac:
            policies-csv-file: /opt/app-root/src/rbac-policies.csv
            policyFileReload: true
            admin:
              users:
                - name: user:default/<your_policy_administrator_name>

请参阅使用 Helm 在外部文件中定义授权

验证

  1. 登录到您的 RHDH 实例。
  2. 在 Red Hat Developer Hub 导航菜单中,您可以看到并访问 Lightspeed 菜单项。单击此菜单可进入 RHDH 屏幕的 Developer Lightspeed。
Developer lightspeed

1.5. 为 RHDH 自定义开发人员 Lightspeed

您可以为 RHDH 功能自定义 Developer Lightspeed,如问题验证、收集反馈并在 PostgreSQL 中存储 chat 历史记录。

1.5.1. 在 Developer Lightspeed 中使用问题验证

Developer Lightspeed for RHDH 利用 问题 验证来验证查询是否与 Red Hat Developer Hub 相关。

当用户要求一个不在这些受限主题的问题时,Developer Lightspeed for RHDH 提供了通用响应来通知用户问题已超出范围。如果要禁用问题验证功能以允许更广泛的 问题,您可以在 Developer Lightspeed 中为 RHDH 应用配置文件将 questionValidation 设置为 false

流程

  • 要禁用 问题验证功能,在 RHDH app-config.yaml 文件的 Developer Lightspeed 中,请添加以下示例:

    lightspeed:
      # ... other lightspeed configurations
      questionValidation: false

1.5.2. 在 Developer Lightspeed 中为 RHDH 收集反馈

反馈集合是在 RCS 上配置的可选功能。此功能通过直接从 chat 窗口中提供缩略/向下评级和文本注释来收集用户反馈。RCS 收集反馈,以及用户的查询和模型响应,并将其作为 JSON 文件存储在 Pod 的本地文件系统中,供平台管理员收集和分析。这可用于评估模型性能并改进您的用户体验。收集的反馈存储在部署 RHDH 和 RCS 的集群中,因此只有该集群的平台管理员只能访问该反馈。对于计划删除其数据的用户,他们必须要求其相应的平台管理员执行该操作,因为红帽不会收集(或有权访问)任何这些数据。

流程

  • 要在 RCS 配置文件中启用或禁用反馈,请添加以下设置:

    llm_providers:
       .......
    ols_config:
       ......
      user_data_collection:
        feedback_disabled: <true/false>
        feedback_storage: "/app-root/tmp/data/feedback"

您可以覆盖 Developer Lightspeed for RHDH 用来更好地帧查询到 LLM 的默认系统提示。通过自定义系统提示,您可以优化 LLM 接收的上下文、个人性和说明,从而提高它为特定环境创建的响应的相关性和准确性。

流程

  • 要设置自定义系统提示,在 Developer Lightspeed 中用于 RHDH 应用程序配置文件,添加或修改 lightspeed.systemPrompt 键并将其值设为您首选的提示字符串,如下例所示:

    lightspeed:
      # ... other lightspeed configurations
      systemPrompt: "You are a helpful assistant focused on {product} development."

SystemPrompt 设置为前缀 Developer Lightspeed 发送的所有查询作为带有此指令的 LLM,修改模型来生成更为定制的响应。

默认情况下,RCS 服务使用内存数据库存储聊天历史记录。这意味着,如果您重启包含服务器的 Pod,chat 历史记录将会丢失。您可以手动为 RHDH 配置 Developer Lightspeed,以通过以下任一方法将 chat history 永久存储为使用 PostgreSQL 的长期备份:

  • RHDH Operator
  • RHDH Helm Chart

    警告

    如果您为 RHDH 配置 Developer Lightspeed 以使用 PostgreSQL 存储 chat 历史记录,则提示和响应会被您的平台管理员审核。如果您的任何用户的聊天历史记录包含任何私有、敏感或机密信息,这可能具有您需要评估的数据隐私和安全影响。对于希望删除聊天数据的用户,他们必须请求他们相应的平台管理员执行此操作。红帽没有收集(或有权访问)任何此聊天历史记录数据。

流程

  • 当您在 Operator 安装的 RHDH 实例上使用 Developer Lightspeed 进行 RHDH 实例时,在 RHDH 实例 ConfigMap 中更新 conversation-cache 字段,如下例所示:

     conversation_cache:
        type: postgres
        postgres:
          host: _<your_database_host>_
          port: _<your_database_port>_
          dbname: _<your_database_name>_
       	  user: _<your_user_name>_
    	    password_path: postgres_password.txt
    	    ca_cert_path: postgres_cert.crt
          ssl_mode: "require"
  • 当您在由 Helm 安装的 RHDH 实例上使用 Developer Lightspeed 进行 RHDH 时,在 RHDH 实例 values.yaml 文件中更新 conversation-cache 字段,如下例所示:

     conversation_cache:
        type: postgres
        postgres:
          host: _<your_database_host>_
          port: _<your_database_port>_
          dbname: _<your_database_name>_
       	  user: _<your_user_name>_
    	    password_path: postgres_password.txt
    	    ca_cert_path: postgres_cert.crt

Developer Lightspeed for RHDH 在 Bring Your Own Model 方法上运行,这意味着您必须提供并配置对首选 Large Language Model (LLM)供应商的访问权限,以便服务正常工作。Road-Core Service (RCS)充当处理这些 LLM 供应商的配置和设置的中间层。

重要

LLM provider configuration 部分包含一个强制 dummy provider 块。由于 Road Core 的限制,在使用 Lightspeed 时,这个 dummy 供应商必须保持存在。这个块通常被标记为注释(" Start: do not remove this block and # End: do not remove this block),且不得从配置文件中删除。

先决条件

  • 包含 API 令牌的文件路径必须可以被 RCS 容器访问,这需要将该文件挂载到 RCS 容器中。

流程

您可以使用以下方法之一定义额外的 LLM 供应商:

  • 建议:在 Developer Lightspeed 插件配置中( lightspeed -app-config.yaml 文件中的 lightspeed 部分),在 lightspeed.servers 键下定义新的供应商或供应商,如以下代码所示:

    lightspeed:
      servers:
        - id: _<my_new_provider>_
          url: _<my_new_url>_
          token: _<my_new_token>_
    注意

    在 Developer preview 中,一次只支持一个 LLM 服务器。

    • 可选: 您可以在 Kubernetes Secret 中设置 idurltoken 值,并使用 envFrom 部分将其引用为环境变量,如以下代码所示:

      containers:
          - name: my-container
            image: my-image
            envFrom:
              - secretRef:
                  name: my-secret
  • 您可以通过更新 rcsconfig.yaml 文件来添加新的 LLM 供应商。

    1. rcsconfig.yaml 文件中的 llm_providers 部分中,将您的新供应商配置添加到强制虚拟供应商块下,如以下代码所示:

      llm_providers:
         # Start: Do not remove this block
          - name: dummy
            type: openai
            url: https://dummy.com
            models:
              - name: dummymodel
         # END: Do not remove this block
          - name: _<my_new_providers>_
            type: openai
            url: _<my_provider_url>_
            credentials_path: path/to/token
            disable_model_check: true
    2. 如果您需要在 rcsconfig.yaml 中定义新供应商,您必须配置以下关键参数:

      • credentials_path :指定包含 API 令牌的 .txt 文件的路径。此文件必须挂载并可以被 RCS 容器访问。
      • disable_model_check :将此字段设置为 true 以允许 RCS 通过供应商的 /v1/models 端点定位模型。将此字段设置为 true 时,您可以避免在配置中明确定义模型名称。

1.6. 将 Developer Lightspeed 用于 RHDH

Red Hat Developer Hub 的 Red Hat Developer Lightspeed 旨在您在开发工作流期间执行各种任务时支持。

启用 问题 验证后,您可以询问 Developer Lightspeed 中的以下问题:

  • "我有关 Red Hat Developer Hub。"
  • "RHDH 的优点是什么?"
  • "我是否可以在 OpenShift Container Platform 上使用 RHDH?"
  • "如何在 Red Hat Developer Hub 上安装插件?"

禁用问题 验证后,按 RHDH 的提示范围更广泛。这允许 Developer Lightspeed for RHDH 在更各种工作情况下支持您,如下例所示:

  • "对我有这个日志…"
  • "尽力库和框架,我可用于构建事件驱动器架构微服务"。
  • "我不熟悉此语言,向我解释此代码片段正在做什么…"
  • "为该服务创建 Kubernetes 部署…"
  • "为以下情况和条件创建测试计划…"
  • "创建描述以下功能的 JIRA 记录…"
  • "设计最终用户文档描述了如何使用以下 cli 命令…"

您可以为 RHDH 启动带有 Developer Lightspeed 的聊天,以便根据您的设置快速回答相关的主题。您可以为 RHDH 手动启动 Developer Lightspeed 的聊天,或使用以下示例提示帮助您入门:

  • Backstage 入门
  • 使用 Tekton 部署
  • 创建 OpenShift Deployment

先决条件

  • 您有在 RHDH 实例中配置的 RHDH 插件的 Developer Lightspeed。

流程

  1. 在您的 RHDH 导航菜单中,单击 Lightspeed
  2. 您可以使用以下方法之一启动 chat :

    • 要手动启动 chat,在 Send a message 文本框中,您可以执行以下任务:

      • 输入查询并按 Enter 键。
      • 要在聊天中附加文件,请点 Attach 图标或拖动文件到聊天中。

        注意

        支持以下文件类型: yamljsontxtxml

      • Open
    • 要使用现有提示启动 chat,请在 Developer Lightspeed for RHDH 虚拟助手界面中,单击任何相关的提示标题。

使用 Developer Lightspeed for RHDH 启动初始聊天后,您可以随时在新主题上开始聊天。即使注销并重新登录,您的之前的聊天仍可在聊天历史记录中供您查看。

先决条件

  • 您有在 RHDH 实例中配置的 RHDH 插件的 Developer Lightspeed。

流程

  1. 在您的 RHDH 导航菜单中,单击 Lightspeed
  2. 在 Developer Lightspeed for RHDH 虚拟助手界面中,单击 New chat

您的 RHDH 的 Developer Lightspeed 的聊天会自动保存在 RHDH 实例中。您可以随时轻松重新查看聊天历史,在聊天之间切换,然后重新查看之前的聊天。每个聊天都保持活动状态,可让您返回之前的任何聊天并从离开的地方继续。

先决条件

  • 您有在 RHDH 实例中配置的 RHDH 插件的 Developer Lightspeed。

流程

  1. 在您的 RHDH 导航菜单中,单击 Lightspeed。开发人员 Lightspeed for RHDH 会打开您之前的聊天。
  2. 在 Developer Lightspeed for RHDH 虚拟助手界面中,执行以下任务:

    • 选择要打开的聊天标题,并查看完整聊天。
    • Search previous chats…​ 中,输入您要从之前的 chats 中找到的文本。

先决条件

  • 您有在 RHDH 实例中配置的 RHDH 插件的 Developer Lightspeed。

流程

  1. 在您的 RHDH 导航菜单中,单击 Lightspeed。开发人员 Lightspeed for RHDH 会打开您之前的聊天。
  2. 在 Developer Lightspeed for RHDH 中,为您要删除的聊天标题选择垂直 ellipsis。
  3. 选择 Delete

1.7. 附录:LLM 要求

1.7.1. 大型语言模型(LLM)要求

Developer Lightspeed for RHDH 遵循 Bring Your Own Model 方法。此模型意味着要正常工作的,RHDH 的 Developer Lightspeed 需要访问您必须提供的大型语言模型(LLM)。LLM 是一种 generative AI,用于解释自然语言并生成类类文本或音频响应。当将 LLM 用作虚拟助手时,LLM 可以解释问题并以对话方式提供答案。

LLMs 通常由一个服务或服务器提供。由于 RHDH 的 Developer Lightspeed 不提供 LLM,所以您必须在安装过程中配置您首选的 LLM 供应商。您可以将 Developer Lightspeed 用于 RHDH,其有很多 LLM 供应商提供 OpenAI API 接口,包括以下 LLMS :

  • OpenAI (基于云的推测服务)
  • Red Hat OpenShift AI (企业模型构建器和 inference 服务器)
  • Red Hat Enterprise Linux AI (企业推测服务器)
  • Ollama (popular desktop inference server)
  • vLLM (popular enterprise inference server)

1.7.2. OpenAI

OpenAI 提供一系列常规的 AI 模型,如 GPT 5,可用于为 RHDH 的 Developer Lightspeed 等应用程序提供推测服务。

要将 OpenAI 与 Developer Lightspeed 用于 RHDH,您需要访问 OpenAI API 平台。如需更多信息,请参阅 OpenAI 开发人员平台文档

1.7.3. Ollama

Ollama 是一个强大且易用的开源项目,简化了计算机上本地运行大型语言模型(LLM)的过程。它为下载、管理和运行各种开源模型(如 Llama 3、Mistral 等)提供了简单的命令行界面,无需专门的服务器或云服务。通过提取复杂的设置和依赖项,Ollama 使其可供开发人员、研究人员和爱好者使用、构建并直接从个人机器将 state-of-art LLMs 集成到其应用程序中。

容器表单中 的开源 Ollama 服务器为 LLM 模型提供了一个方便的本地测试,并易于控制。

1.7.4. vLLM

vLLM 是一个开源、高吞吐量的服务引擎,用于大型语言模型(LLM),可在传统服务系统上显著提高。它通过引入几个关键优化来减少内存用量并消除冗余计算来实现此目标。vLLM 平均增加 LLM 可处理的并发请求数量,使其成为部署和扩展 LLM 的应用的强大工具。

1.8. 附录 关于用户数据安全性

1.8.1. 关于数据使用

用于 RHDH 的开发人员 Lightspeed 是一个使用自然语言交互的虚拟助手。使用 Developer Lightspeed 用于 RHDH 接口,您可以发送 Developer Lightspeed 进行 RHDH 转换的聊天消息,并发送到您为环境配置的大型语言模型(LLM)供应商。这些消息可能会包含您的用户自己、集群、集群资源或其他业务或工作环境方面提供的信息。

RHDH 的开发人员 Lightspeed 具有有限的功能,可以过滤或重新处理您提供给 LLM 的信息。对于您不想发送到 LLM 供应商的 RHDH,不要在 Developer Lightspeed 中输入信息。为了提醒最终用户不共享私有或机密信息,RHDH 的 Developer Lightspeed 开始每个新聊天,要求他们在其聊天消息中没有"包括个人或敏感信息"。

1.8.2. 关于反馈集合

RHDH 的开发人员 Lightspeed 会为在虚拟助手界面中与反馈功能互动的用户收集反馈。如果用户提交反馈,则会将反馈分数(如果输入或降级)、文本反馈(如果输入)、用户查询和 LLM 供应商响应存储在 Pod 的文件系统中。红帽无法访问收集的反馈数据。

1.8.3. 关于自带模型

Developer Lightspeed for RHDH 不提供自己的 inference 服务,而是使用 自带模型 方法。这意味着您可以将 Road-Core 服务配置为与您选择的 inference 服务器或服务进行通信。这也意味着,您负责确保配置的服务满足您特定公司政策和法律要求,包括任何第三方模型提供商适用的条款。对 inference 服务的唯一技术要求包括:

  • 该服务必须符合 OpenAI API 规格
  • 必须在安装和配置说明后正确配置该服务。有许多商业和开源推测服务支持 OpenAI API 规格进行聊天完成。这些服务的成本、性能和安全性可能会有所不同,而且您最好选择、评估和测试、最能满足您公司需求的推测服务。

1.8.4. 您的责任

您的用户在问题上共享的所有信息,以及带有 Developer Lightspeed 的响应与您配置的 LLM inference 服务共享。您负责确保遵守您关于与您选择的 inference 服务共享数据的政策。

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部