第 3 章 解决方案服务器配置
解决方案服务器是一个组件,它允许 Red Hat Developer Lightspeed 从机构中执行的所有分析构建收集源代码更改的内存。当您为 Visual Studio (VS) Code 中问题请求代码修复时,解决方案服务器会增加源代码如何更改为解决与当前文件中类似的问题(也称为地址的示例)的模式,并建议解决之前的解决方案中具有更高信任级别的解决方案。接受推荐的代码修复后,解决方案服务器与大型语言模型(LLM)一起工作,以改进有关成为上下文部分问题的提示。改进的上下文使 LLM 能够在以后的版本中生成更可靠的代码修复建议。
解决方案服务器为用户提供两个主要优势:
- 上下文提示 :它显示了过去的迁移解决方案示例,包括成功用户修改和接受的修复 - 为困难或之前未解决的迁移问题提供可操作提示。
- 迁移成功指标 :它公开了来自实际使用数据的每个迁移规则的详细成功指标。这些指标可由 IDE 或自动化工具用来显示具有"冲突级别"的用户,或 Red Hat Developer Lightspeed 用于 MTA 成功迁移给定代码片段的可能性。
solution Server 是 Red Hat Developer Lightspeed 中的可选组件。在放置代码解析请求前,您必须完成以下配置。
解决方案服务器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
LLM Provider (Tackle CR 值) | Tackle CR 配置的大型语言模型示例 |
---|---|
OpenShift AI 平台 | 在 OpenShift AI 集群中部署的模型,可以使用 Open AI 兼容 API 访问 |
Open AI ( |
|
Azure OpenAI ( |
|
Amazon Bedrock ( |
|
Google Gemini ( |
|
Ollama ( |
|
3.1. 配置模型 secret 密钥 复制链接链接已复制到粘贴板!
您必须在安装 MTA operator 的 Red Hat OpenShift 项目中为大型语言模型(LLM)供应商配置 Kubernetes secret。
您可以将以下命令中的 oc
替换为 kubectl
。
流程
在
openshift-mta
项目中创建一个名为kai-api-keys
的凭证 secret。对于 Amazon Bedrock 作为提供程序,请输入:
oc create secret generic aws-credentials \ --from-literal=AWS_ACCESS_KEY_ID=<YOUR_AWS_ACCESS_KEY_ID> \ --from-literal=AWS_SECRET_ACCESS_KEY=<YOUR_AWS_SECRET_ACCESS_KEY>
oc create secret generic aws-credentials \ --from-literal=AWS_ACCESS_KEY_ID=<YOUR_AWS_ACCESS_KEY_ID> \ --from-literal=AWS_SECRET_ACCESS_KEY=<YOUR_AWS_SECRET_ACCESS_KEY>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Azure OpenAI 作为供应商,请输入:
oc create secret generic kai-api-keys -n openshift-mta \ --from-literal=AZURE_OPENAI_API_KEY='<YOUR_AZURE_OPENAI_API_KEY>'
oc create secret generic kai-api-keys -n openshift-mta \ --from-literal=AZURE_OPENAI_API_KEY='<YOUR_AZURE_OPENAI_API_KEY>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 Google 作为供应商,请输入:
oc create secret generic kai-api-keys -n openshift-mta \ --from-literal=GEMINI_API_KEY='<YOUR_GOOGLE_API_KEY>'
oc create secret generic kai-api-keys -n openshift-mta \ --from-literal=GEMINI_API_KEY='<YOUR_GOOGLE_API_KEY>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于与 OpenAI 兼容的供应商,请输入:
oc create secret generic kai-api-keys -n openshift-mta \ --from-literal=OPENAI_API_BASE='https://example.openai.com/v1' \ --from-literal=OPENAI_API_KEY='<YOUR_OPENAI_KEY>'
oc create secret generic kai-api-keys -n openshift-mta \ --from-literal=OPENAI_API_BASE='https://example.openai.com/v1' \ --from-literal=OPENAI_API_KEY='<YOUR_OPENAI_KEY>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您还可以在 Tackle 自定义资源中将基本 URL 设置为
kai_llm_baseurl
变量。
(可选)强制协调,以便 MTA operator 会立即获取 secret
kubectl patch tackle tackle -n openshift-mta --type=merge -p \ '{"metadata":{"annotations":{"konveyor.io/force-reconcile":"'"$(date +%s)"'"}}}'
kubectl patch tackle tackle -n openshift-mta --type=merge -p \ '{"metadata":{"annotations":{"konveyor.io/force-reconcile":"'"$(date +%s)"'"}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow