php+openai兼容api实现对单个代码进行行级别编辑合并新文件代码
代码语言:php
所属分类:其他
代码描述:php+openai兼容api实现对单个代码进行行级别编辑合并新文件代码,根据需求返回行操作指令,然后根据指令对代码进行行操作变成新的代码,这样ai无需返回完整修改或的代码,只要返回行操作指令即可。
代码标签: php openai 兼容 api 单个 代码 进行 行 级别 编辑 合并 新 文件 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<?php
class AICodePatcher
{
/**
* 应用 AI 生成的代码补丁(优化版)
*
* @param string $sourceCode 原始代码
* @param string $aiPrompt 修改要求
* @param string $apiKey API 密钥
* @param string $baseUrl API 地址
* @param string $model 模型名称
* @param array $options 额外选项
* @return string 修改后的代码
* @throws Exception
*/
public static function applyAICodePatch($sourceCode, $aiPrompt, $apiKey,
$baseUrl = 'https://dashscope.aliyuncs.com/compatible-mode/v1',
$model = 'qwen3.5-flash',
$options = []) {
// 默认配置合并
$options = array_merge([
'enableJsValidation' => true, // 启用JS基础语法验证
'maxRetries' => 2, // API调用重试次数
'contextAware' => true // 启用代码块上下文标记
], $options);
// 1. 预处理:标准化换行符
$sourceCode = str_replace(["\r\n", "\r"], "\n", $sourceCode);
$sourceLines = explode("\n", $sourceCode);
// 2. 【关键优化】构建带上下文标记的行号代码
$numberedSource = $options['contextAware']
? self::buildNumberedSourceWithContext($sourceLines)
: self::buildSimpleNumberedSource($sourceLines);
// 3. 【关键优化】构建增强版 System Prompt(含JS语法约束)
$systemPrompt = self::buildEnhancedSystemPrompt($options['enableJsValidation']);
$userMessage = "【修改要求】\n" . $aiPrompt . "\n\n【原始代码】\n&quo.........完整代码请登录后点击上方下载按钮下载查看















网友评论0