clarity-digital/ollama-code-feedback

利用 Ollama 开源本地 LLM 提供对修改代码的深刻反馈。

v0.5.0-alpha 2024-09-20 13:18 UTC

README

利用 Ollama 开源本地 LLM 提供对修改代码的深刻反馈,可以与您的 pre-commit 脚本集成或用于分析所有更改与主分支的差异。

composer require clarity-digital/ollama-code-feedback

目录

安装 - 基础

步骤 1 - 安装 Ollama

确保您已安装并运行 Ollama (链接)
您可以选择使用哪种 AI 模型,但我们建议使用
deepseek-coder-v2 (链接)

您也可以 在此 查看所有编码模型。

对比所有当前文件更改与主分支

执行以下 php 文件

php ./vendor/clarity-digital/ollama-code-feedback/src/scripts/ollamaAllChangesCheck.php

如果需要,请确保您已设置自定义配置文件以包含正确的默认分支名称。默认值为 main

return [
    'github_primary_branch_name' => 'main',
];

安装 - pre-commit 钩子

步骤 1 - 设置 Husky pre-commit

如果尚未完成,请安装 husky。

请遵循以下安装步骤: https://typicode.github.io/husky/get-started.html

如果您使用 npm,请执行以下命令

  npm install --save-dev husky
  npx husky init

步骤 2 - 将 Ollama 反馈代码添加到 pre-commit 脚本

将以下行代码添加到 .husky/pre-commit 文件

php ./vendor/clarity-digital/ollama-code-feedback/src/scripts/ollamaCodeCheck.php

配置

默认情况下 已设置以下配置文件,该文件指导 AI 模型使用什么模型以及关注哪些特定代码语言和框架。

[
    'model' => 'deepseek-coder-v2',
    'frameworks' => 'laravel',
    'github_primary_branch_name' => 'main',
    'code_languages' => 'php',
    //Will also take new created staged files into consideration when set to false:
    'modified_files_only' => true, 
    // Will send a request per staged code file (Recommended to be set false)
    'per_file' => false,
    'extending_prompt' => '',
]

您可以根据自己的喜好修改此配置文件。

  1. 在您的根目录中创建一个 /config 目录,在该目录中创建一个名为 ai_code_configphp 文件。
  2. 确保此配置文件返回一个数组。如果自定义配置文件中未设置配置密钥,将使用默认值。

示例自定义配置文件

return [
    'model' => 'llama3',
    'frameworks' => 'laravel & react',
    'github_primary_branch_name' => 'main',
    'code_languages' => 'php & javascript',
    'extending_prompt' => 'Also focus on giving me feedback for better function naming',
    'per_file' => true,
];

* 每次更改模型时,脚本将自动为您下载 Ollama 模型。