LLMDebugger开源项目教程

LLMDebugger开源项目教程

LLMDebugger LDB: A Large Language Model Debugger via Verifying Runtime Execution Step by Step LLMDebugger 项目地址: https://gitcode.com/gh_mirrors/ll/LLMDebugger

1. 项目介绍

LLMDebugger是一个用于调试大型语言模型(LLM)生成代码的开源项目。该项目通过逐步验证运行时执行信息,模仿人类开发者的调试过程,从而提高LLM生成代码的准确性和可靠性。LLMDebugger将程序分割成基本块,跟踪每个块运行时的中间变量值,使LLM能够集中关注更简单的代码单元,逐块验证其正确性,并高效定位潜在错误。

2. 项目快速启动

安装环境

首先,创建一个conda环境并安装所需的依赖:

conda create -n ldb python=3.10
conda activate ldb
python -m pip install -r requirements.txt

设置环境变量

如果你使用OpenAI模型作为后端,需要设置OpenAI API密钥:

export OPENAI_API_KEY=[your OpenAI API Key]

如果你使用starcoder或codellama,建议基于vLLM设置一个OpenAI兼容的服务器。具体设置请参考vLLM官方文档

生成程序种子

进入programming目录,运行以下脚本生成程序种子:

cd /programming
./run_simple.sh [dataset] [model] [output_dir]

结果将保存在output_data/simple/[dataset]/[model]/[output_dir]

可选参数:

  • dataset: humaneval, mbpp, transcoder
  • model: gpt-3.5-turbo-0613, gpt-4-1106-preview, starcoder, codellama (codellama/CodeLlama-34b-Instruct-hf)

调试程序

运行以下脚本进行程序调试:

cd /programming
./run_ldb.sh [dataset] [model] [seed] [output_dir]

结果将保存在output_data/ldb/[dataset]/[model]/[output_dir]

可选参数:

  • dataset: humaneval, mbpp, transcoder
  • model: gpt-3.5-turbo-0613, gpt-4-1106-preview, starcoder, codellama (codellama/CodeLlama-34b-Instruct-hf)
  • seed: 要调试的种子程序路径,可以在input_data/[dataset]/seed/[model]/seed.jsonl中找到

使用LLMDebugger API

LLMDebugger提供API用于调试和生成代码:

from ldb import PyGenerator

gen = PyGenerator()
messages = gen.ldb_debug(prompt, code, test, entry_point, model, "", dataset_type, "block")
fixed_code, messages = gen.ldb_generate(func_sig=task, model=model, prev_func_impl=code, messages=messages, failed_tests=test, dataset_type=dataset_type)

更多详情请参考项目中的示例代码。

3. 应用案例和最佳实践

应用案例

  • 代码质量提升:通过LLMDebugger,开发者在生成代码后可以快速定位并修复错误,提高代码质量。
  • 教育辅助:在编程教学中,使用LLMDebugger帮助学生理解代码调试过程,提升编程能力。
  • 自动化测试:结合自动化测试框架,LLMDebugger可以用于自动修复测试失败的代码。

最佳实践

  • 分步调试:将复杂程序分解成多个基本块,逐块进行调试,便于定位问题。
  • 日志记录:在调试过程中记录详细的日志信息,便于后续分析和复现问题。
  • 持续集成:将LLMDebugger集成到CI/CD流程中,实现代码生成和调试的自动化。

4. 典型生态项目

  • Reflexion:一个用于代码生成和调试的开源项目,LLMDebugger借鉴了其部分实现。
  • staticfg:一个静态代码分析工具,LLMDebugger在其基础上进行了扩展和优化。
  • vLLM:一个支持多种LLM模型的服务器框架,LLMDebugger可以与其无缝集成。

通过以上教程,希望你能快速上手LLMDebugger项目,并在实际应用中发挥其强大功能。如有任何问题,欢迎在项目GitHub页面提交Issue。

LLMDebugger LDB: A Large Language Model Debugger via Verifying Runtime Execution Step by Step LLMDebugger 项目地址: https://gitcode.com/gh_mirrors/ll/LLMDebugger

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邢璋顺Blair

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值