Code2prompt:探索高效代码编辑新纪元的开源模型工具

项目介绍

Code2prompt 是一个命令行工具,能将你的代码库转化为单一的大型语言模型(LLM)提示,结合源码树结构,模板定制,以及令牌计数。它旨在简化与高级上下文窗口模型如GPT或Claude的交互,助你在重写代码、查找bug、编写文档和实现新功能等方面提升效率。通过将你·的整个项目转换为一个全面的、对 AI 友好的提示,Code2Prompt 使你能够充分利用 AI 的潜力进行代码分析、文档和改进任务。

37d801c61efd23a5ff58d6fe394ce1d0.jpeg

项目应用场景

代码迁移:想把代码从一种编程语言转换到另一种?只需提供一个目标语言的模板,让LLM来完成任务。

错误检测:利用code2prompt生成的提示,让LLM识别潜在的安全漏洞或编码错误。

文档生成:自动为代码添加注释,提高代码可读性。

性能优化:通过调整代码结构,提高代码执行效率。

版本控制:基于git的变更,生成有意义的提交消息。

项目特点整体代码库表示:生成一个结构良好的 Markdown 提示,以捕捉整个项目的本质。

智能源代码树生成:创建代码库结构的清晰分层视图。

可自定义的提示模板:使用 Jinja2 模板定制您的输出以适应特定的 AI 任务。

智能令牌管理:对令牌进行计数和优化,以确保与各种 LLM 令牌限制兼容。

Gitignore集成:尊重项目的 .gitignore 规则,以获得准确的表示。

灵活的文件处理:使用强大的 glob 模式过滤和排除文件。

剪贴板就绪:立即将生成的提示复制到剪贴板,以便进行快速的 AI 交互。

增强的代码可读性:将行号添加到源代码块中,以便精确引用。

项目使用及实例

Code2Prompt 的基本语法为:

6b375415becfdbfbfee5ebb060cd344f.jpeg

对于多条路径:

621e803521477bcbb0054158d9266de0.jpeg

命令参数

--filter或 和 或-f--exclude-e 和选项允许您分别指定应包含在处理中或从处理中排除的文件或目录的模式。--filter--exclude

语法

c7f9ec92592404711509a1f4b3ddc924.jpegf8795c4a6e772171db3931b256941a8d.jpeg

使用实例

从单个 Python 文件生成提示:

处理整个项目目录并保存输出:

为多个文件生成提示,不包括测试:

4ccb4054de7bd62228f1174388756ed0.jpeg

Code2Prompt 中的令牌和配置文件

标记是语言模型处理的文本的基本单位。它们可以是单词、单词的一部分,甚至是标点符号。不同的分词器编码以不同的方式将文本拆分为分割令牌。Code2Prompt 通过其选项支持多种令牌类型,默认为“cl100k_base”。GPT-3.5 和 GPT-4 等模型使用的这种编码擅长处理代码和技术内容。其他常见的编码包括“p50k_base”(由早期的 GPT-3 模型使用)和“r50k_base”(由 CodeX 等模型使用)。若要在生成的提示中计算令牌,请使用以下标志:

566abeb5c03418066752852ef2e134f8.jpeg

对于特定编码:

72d3fa612bdbb6be7ad4f3e94f9c7708.jpeg

Code2Prompt 支持 JSON 格式的配置文件来设置默认选项。将此文件放在您的项目或主目录中,例:

cb82b2178bc90d2456eb27e5281ac8a8.jpeg

安装与使用

从发布页面下载适合你操作系统的预编译二进制文件,或者使用cargo安装:

cargo install code2prompt

然后,你可以根据需要调用code2prompt并指定相应参数,例如:

code2prompt path/to/codebase

借助code2prompt,你将释放出LLM的潜力,使代码工作流更智能、更高效。立即尝试,开启你的高效开发之旅吧!

更多详细内容:https://github.com/raphaelmansuy/code2prompt?tab=readme-ov-file

高性价比GPU算力:https://www.ucloud.cn/site/active/gpu.html?ytag=gpu_wenzhang_0710_shemei


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/789723.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为浏览器,Chrome的平替,插件无缝连接

文章目录 背景插件书签 背景 不知道各位小伙伴有没有这样的痛点,办公电脑、家里的电脑还有手机、平板等,收藏了一个网址或者在手机上浏览了某个网页,保存起来,可是一换平台或者换个电脑,在想要浏览之前收藏的东西&…

【linux】 sudo apt update报错——‘由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32’

【linux】 sudo apt update报错——‘由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32’ 在运行sudo apt update时遇到报错,由于没有公钥,无法验证下列签名: NO_PUBKEY 3B4FE6ACC0B21F32 解决方法&#x…

299k stars利用Public APIs提升开发效率:探索APILayer提供的开源资源

299k stars利用Public APIs提升开发效率:探索APILayer提供的开源资源 在现代软件开发中,API(应用程序接口)是实现应用间通信和功能扩展的关键工具。公共API(Public APIs)则为开发者提供了宝贵的资源&#…

passwd文件被删导致无法进入系统问题处理

系统:centos7 问题背景:根据描述,之前有人搞破坏,导致无法进入系统。启动界面显示各种服务无法启动。 进单用户模式 重启启动,在内核选择界面按e,在linux16 行,将ro 修改为rw,在行末添加 init/bin/bash ,按…

【C语言】【排序算法】----- 归并排序

由于最近要考试,好久没有发博客了,非常抱歉大家对我的支持。之后我会不断更新博客,继续创作出高质量的文章,希望能帮到大家! 文章目录 一、归并排序基本思想二、递归实现三、非递归实现四、效率分析 一、归并排序基本…

【工具】咸鱼小助手,一款咸鱼之王辅助工具

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ Github:咸鱼之王的自动化脚本,自动答题、爬塔、领资源等 下载:(密码:9u22) 咸鱼小助手 文档:腾讯文档 视…

Windows 下安装 Memcached

Memcached 安装包下载 官网上并未提供 Memcached 的 Windows 平台安装包。 我们可以使用以下链接来下载,你需要根据自己的系统平台及需要的版本号点击对应的链接下载即可: 32位系统 1.2.5版本:http://static.jyshare.com/download/memcache…

1996-2023年各省农村居民人均消费支出数据(无缺失)

1996-2023年各省农村居民人均消费支出数据(无缺失) 1、时间:1996-2023年 2、来源:国家统计局、统计年鉴 3、指标:农村居民人均消费支出 4、范围:31省 5、缺失情况:无缺失 6、指标解释&…

使用昇腾芯片进行多卡训推时使用hccl_tools.py为npu分配ip报错问题解决办法

目录 问题描述问题产生原因解决办法最终执行并验证参考网站命令扩展 问题描述 昇腾芯片(910b/310p等)进行多卡训练或者推理时需要先获取并配置每张npu的ip信息,因此需要执行类似下面问题: python mindformers/tools/hccl_tools.…

快手kolors模型测评和安装完整教程(支持中文提示词、文字绘制 )

在人工智能领域,文本到图像合成技术一直是研究的热点。Kolors项目以其卓越的性能和创新的技术,正在重新定义这一领域的可能性。本文将深入探讨Kolors项目的核心优势、技术细节以及如何快速开始使用这一强大的模型。 随着深度学习技术的飞速发展&#xf…

【1.4】动态规划-解目标和

一、题目 给你一个整数数组nums和一个整数target 。 向数组中的每个整数前添加或 - ,然后串联起所有整数,可以构造一个表达式: 例 如 , nums[2,1] , 可 以 在 2 之 前 添 加 , 在 1 之 前 添 加 - &…

常见WAF拦截页面总结

(1) D盾 (2) 云锁 (3) UPUPW安全防护 (4) 宝塔网站防火墙 (5) 网防G01 (6) 护卫神 (7) 网站安全狗 (8) 智创防火墙 (9) 360主机卫士或360webscan (10) 西数WTS-WAF (11) Naxsi WAF (12) 腾讯云 (13) 腾讯宙斯盾 (14) 百度云 图片 (15) 华为云 (16) 网宿云 (17) 创宇盾 图片 (…

(自用)gtest单元测试

gtest是Google的一套用于编写C测试的框架,可以运行在很多平台上(包括Linux、Mac OS X、Windows、Cygwin等等)。基于xUnit架构。支持很多好用的特性,包括自动识别测试、丰富的断言、断言自定义、死亡测试、非终止的失败、生成XML报…

《Programming from the Ground Up》阅读笔记:p19-p48

《Programming from the Ground Up》学习第2天,p19-p48总结,总计30页。 一、技术总结 1.object file p20, An object file is code that is in the machine’s language, but has not been completely put together。 之前在很多地方都看到object fi…

RAG的学习与实践——LangChain和LlamaIndex学习笔记

RAG RAG(Retrieval Augmented Generation)系统,代表“检索增强生成”。RAG由五个关键步骤组成: 加载:这是指将数据从其所在位置(无论是文本文件、PDF、其他网站、数据库还是 API)获取到您的管道中。LlamaHub提供数百…

【南京蓝领新材料】水力颗粒分离器工作原理

水力颗粒分离器工作原理 在装置内部设有一个具有一定空间的滤网,雨水从进水管流入,先进入滤网过滤,雨水中的悬浮物和漂浮物将被拦截在此滤网内。 在装置底部有三个腔室,当雨水中小的颗粒物流到每个腔室挡墙前时,颗粒物…

react学习——25redux实现求和案例(完整版)

1、目录结构 2、count/index.js import React, {Component} from "react"; //引入store,用于获取数据 import store from ../../redux/store //引入actionCreator 专门创建action对象 import {createDecrementAction,createIncrementAction} from ../../redux/coun…

机器学习与深度学习:区别与联系(含工作站硬件推荐)

一、机器学习与深度学习区别 机器学习(ML:Machine Learning)与深度学习(DL:Deep Learning)是人工智能(AI)领域内两个重要但不同的技术。它们在定义、数据依赖性以及硬件依赖性等方面…

数字人+展厅互动体验方案:多元化互动方式,拓宽文化文娱新体验

数字化创新已成为推动展厅可持续发展,创造全新消费体验,满足游客多元化需求的关键力量。 “数字人数字互动展厅”可以适应年轻一代的文化传播与多媒体互动新体验趋势,打造新生代潮玩聚集地,促进文化创意传播与互动体验场景创新&a…

storybook中剔除chakra-ui的影响,或者剔除其他ui包的影响

介绍 经过一系列初始化完成后,storybook项目启动出来发现多余了一个ui框架的内容。如下图 因为项目中仅仅使用chakraUI的一些功能,并没有使用整体组件功能,所以说完全没必要把它留着这里。经过排查可以使用storybook中的refs功能剔除掉不需要…