为 Red Hat Developer Hub 与 Red Hat Developer Lightspeed 交互
利用红帽 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。
开发人员 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。
先决条件
- 已登陆到 OpenShift Container Platform 帐户。
您有一个 RHDH 实例,如下所示之一:
流程
创建 RCS ConfigMap。
- 在 OpenShift Container Platform Web 控制台中,进入您的 RHDH 实例并选择 ConfigMaps 选项卡。
- 点 Create ConfigMaps。
在 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 供应商。可选:通过在 RCS ConfigMap 中指定以下示例来配置
扩展 REST API 的 worker数量。ols_config: max_workers: _<number_of_workers>_- 点 Create。
为 RHDH ConfigMap 创建 Developer Lightspeed。
注意为 RHDH ConfigMap 创建专用的 Developer Lightspeed,而不是向现有的 RHDH 自定义应用程序配置文件添加额外的部分(例如
lightspeed-app-config.yaml)。创建两个文件可防止整个 RHDH ConfigMap 加载到 RCS 中。- 在 OpenShift Container Platform Web 控制台中,进入您的 RHDH 实例并选择 ConfigMaps 选项卡。
- 点 Create ConfigMap。
在 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."
为 RHDH secret 文件创建 Developer Lightspeed。
- 在 OpenShift Container Platform Web 控制台中进入 Secrets。
- 点 Create > Key/value secret。
在 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- 点 Create。
在现有的动态插件 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}根据您的安装方法更新部署配置:
对于 Operator 安装的 RHDH 实例,请更新 Backstage 自定义资源(CR)。
在
spec.application.appConfig.configMaps部分中,为 RHDH 自定义应用程序配置添加 Developer Lightspeed,如下例所示:appConfig: configMaps: - name: lightspeed-app-config mountPath: /opt/app-root/src更新
extraVolumes规格,使其包含 RCS ConfigMap,如下例所示:volumes: - configMap: name: rcsconfig name: rcsconfig更新
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为 RHDH Secret 文件添加 Developer Lightspeed,如下例所示:
envFrom: - secretRef: name: lightspeed-secrets在
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。点击 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
对于 Helm 安装的 RHDH 实例,请更新您的 Helm Chart。
在'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}为 RHDH 自定义应用程序配置文件添加 Developer Lightspeed,如下例所示:
extraAppConfig: - configMapRef: lightspeed-app-config filename: app-config.yaml更新
extraVolumes部分,使其包含 RCS ConfigMap,如下例所示:extraVolumes: - configMap: name: rcsconfig name: rcsconfig更新
extraVolumeMounts部分以挂载 RCS ConfigMap,如下例所示:extraVolumeMounts: - mountPath: /app-root/config/rcsconfig.yaml name: rcsconfig为 RHDH Secret 文件添加 Developer Lightspeed,如下例所示:
extraEnvVarsSecrets: - lightspeed-secrets添加 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。- 点击 Save。
点 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: ...
根据您的安装方法管理授权:
对于 Operator 安装的 RHDH 实例,请完成以下步骤为不是管理员的用户定义权限和角色:
通过定义
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>_-
将
rbac-policies.csv文件上传到包含 RHDH 的 OpenShift Container Platform 项目中的rbac-policies配置映射。 更新 Backstage 自定义资源,以便从
rbac-policiesConfigMap 中挂载您的文件:apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage spec: application: extraFiles: mountPath: /opt/app-root/src configMaps: - name: rbac-policies如需更多信息,请参阅使用 外部文件管理授权。
对于 Helm 安装的 RHDH 实例,请完成以下步骤为不是管理员的用户定义权限和角色:
通过定义
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>_声明策略管理员,以启用选择数量的经过身份验证的用户,以通过 REST API 或 Web UI 配置 RBAC 策略,而不是直接修改 CSV 文件。权限可以在
my-rhdh-app-config配置映射中引用的单独 CSV 文件中指定,也可以使用 REST API 或 Web UI 创建权限。要将 < your_policy_administrator_name> 等用户声明为策略管理员,请编辑自定义 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>
验证
- 登录到您的 RHDH 实例。
- 在 Red Hat Developer Hub 导航菜单中,您可以看到并访问 Lightspeed 菜单项。单击此菜单可进入 RHDH 屏幕的 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"
1.5.3. 在 Developer Lightspeed 中为 RHDH 更新系统提示 复制链接链接已复制到粘贴板!
您可以覆盖 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,修改模型来生成更为定制的响应。
1.5.4. 为 RHDH 自定义 Developer Lightspeed 中的 chat 历史记录存储 复制链接链接已复制到粘贴板!
默认情况下,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
1.5.5. 在 Developer Lightspeed 中更改您的 LLM 供应商 复制链接链接已复制到粘贴板!
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 部分),在lightspeed-app-config.yamllightspeed.servers键下定义新的供应商或供应商,如以下代码所示:lightspeed: servers: - id: _<my_new_provider>_ url: _<my_new_url>_ token: _<my_new_token>_注意在 Developer preview 中,一次只支持一个 LLM 服务器。
可选: 您可以在 Kubernetes Secret 中设置
id、url和token值,并使用envFrom部分将其引用为环境变量,如以下代码所示:containers: - name: my-container image: my-image envFrom: - secretRef: name: my-secret
您可以通过更新
rcsconfig.yaml文件来添加新的 LLM 供应商。在
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如果您需要在
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 命令…"
1.6.1. 使用 Developer Lightspeed 用于 RHDH 第一次启动聊天 复制链接链接已复制到粘贴板!
您可以为 RHDH 启动带有 Developer Lightspeed 的聊天,以便根据您的设置快速回答相关的主题。您可以为 RHDH 手动启动 Developer Lightspeed 的聊天,或使用以下示例提示帮助您入门:
- Backstage 入门
- 使用 Tekton 部署
- 创建 OpenShift Deployment
先决条件
- 您有在 RHDH 实例中配置的 RHDH 插件的 Developer Lightspeed。
流程
- 在您的 RHDH 导航菜单中,单击 Lightspeed。
您可以使用以下方法之一启动 chat :
要手动启动 chat,在 Send a message 文本框中,您可以执行以下任务:
- 输入查询并按 Enter 键。
要在聊天中附加文件,请点 Attach 图标或拖动文件到聊天中。
注意支持以下文件类型:
yaml、json、txt和xml。- 点 Open。
- 要使用现有提示启动 chat,请在 Developer Lightspeed for RHDH 虚拟助手界面中,单击任何相关的提示标题。
1.6.2. 使用 Developer Lightspeed 用于 RHDH,在第一个聊天后创建新聊天 复制链接链接已复制到粘贴板!
使用 Developer Lightspeed for RHDH 启动初始聊天后,您可以随时在新主题上开始聊天。即使注销并重新登录,您的之前的聊天仍可在聊天历史记录中供您查看。
先决条件
- 您有在 RHDH 实例中配置的 RHDH 插件的 Developer Lightspeed。
流程
- 在您的 RHDH 导航菜单中,单击 Lightspeed。
- 在 Developer Lightspeed for RHDH 虚拟助手界面中,单击 New chat。
1.6.3. 使用 Developer Lightspeed for RHDH 查看聊天历史记录 复制链接链接已复制到粘贴板!
您的 RHDH 的 Developer Lightspeed 的聊天会自动保存在 RHDH 实例中。您可以随时轻松重新查看聊天历史,在聊天之间切换,然后重新查看之前的聊天。每个聊天都保持活动状态,可让您返回之前的任何聊天并从离开的地方继续。
先决条件
- 您有在 RHDH 实例中配置的 RHDH 插件的 Developer Lightspeed。
流程
- 在您的 RHDH 导航菜单中,单击 Lightspeed。开发人员 Lightspeed for RHDH 会打开您之前的聊天。
在 Developer Lightspeed for RHDH 虚拟助手界面中,执行以下任务:
- 选择要打开的聊天标题,并查看完整聊天。
- 在 Search previous chats… 中,输入您要从之前的 chats 中找到的文本。
1.6.4. 使用 Developer Lightspeed 用于 RHDH 来删除聊天 复制链接链接已复制到粘贴板!
先决条件
- 您有在 RHDH 实例中配置的 RHDH 插件的 Developer Lightspeed。
流程
- 在您的 RHDH 导航菜单中,单击 Lightspeed。开发人员 Lightspeed for RHDH 会打开您之前的聊天。
- 在 Developer Lightspeed for RHDH 中,为您要删除的聊天标题选择垂直 ellipsis。
- 选择 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 服务共享数据的政策。