Redian新闻
>
AutoDev 1.1.3 登场,个性化 AI 辅助:私有化大模型、自主设计 prompt、定义独特规则

AutoDev 1.1.3 登场,个性化 AI 辅助:私有化大模型、自主设计 prompt、定义独特规则

科技

在过去的半个月里,我们为开源辅助编程工具 AutoDev 添加了更强大的自定义能力,现在你可以:

  • 使用自己部署的开源大模型

  • 自己配置 Intellij IDEA 中的行为

  • 自定义开发过程中的规范

当然了,如果您自身拥有开发能力的话,建议您自己基于 AutoDev 定制。毕竟,为 AutoDev 添加太多的自定义能力,会导致架构的复杂性螺旋上升。

AutoDev 现在已支持多语言(不同语言能力有所差异)、多 IDE,因此只在 JetBrains 任何一个本地 IDE 的插件市场里,搜索 AutoDev 并安装 即可。

自定义大语言模型

我们通过 Thoughtworks 正在的开源底层模型平台 Gluon Meson,构建了一个统一的大语言模型接口。随后,我们测试了切换几个开源模型:清华大学 ChatGLM2-6B、阿里云通义千问 Qwen-7B 等,均可以流畅使用 —— 模型太小,在诸如需要上下文补全的能力没有那么强。

考虑到提供更好的开发者体验,现在的 AutoDev 只支持服务端的流式返回,为此我们在源码中提供了一个 FastAPI + EventSourceResponse 的示例作为参考。

请求结构

我们发送给服务端的接口将类似于:

  1. {

  2. "messages": [

  3. { "role": "user", "message": "I'm Nihillum." },

  4. { "role": "assistant", "message": "OK" },

  5. { "role": "user", "message": "What did I just say?" }

  6. ]

  7. }

根据现有的 #25 issue 设计情况,我们也将在未来提供更多的可配置的 headers 等

响应结果

对于结果来说,为了方便支持不同的模型,我们使用了 JSON Path 来处理返回结果。如下是一个简单的 JSON Path 的配置示例。

  1. $.choices[0].content

随后,将从 content 中取值,并处理。

详细见 README.md 中的 Custom LLM Server 部分。

自定义 prompt 行为项

为了配合不同大模型的能力差异,我们参考了 JetBrains AI Assistant 的设计,也在 AutoDev 中引入了自定义行为的方式,即你可以自定义自己的行为,并配置 prompt 的上下文。诸如于,你可以自定义一个将 Rust 转为 Kotlin 语言的行为项:

为此,只需要添加一个对应的 JSON 配置即可:

  1. {

  2. "prompts": [

  3. {

  4. "title": "\uD83C\uDDE8\uD83C\uDDF3 翻译成 Kotlin",

  5. "autoInvoke": false,

  6. "matchRegex": ".*",

  7. "priority": 1000,

  8. "template": "Translate the following code to Kotlin.\n${SIMILAR_CHUNK}\nCompare these snippets:\n${METHOD_INPUT_OUTPUT}\nHere is the code:\n${SELECTION}"

  9. }

  10. ]

  11. }

其中的 priority 是用来配置在菜单中的顺序,template 则是发送给 LLM 的 prompt。除此,在 template 中,为了更好的支持一些高级的特征,我们配置了一些上下文变量:

  • ${SELECTION}:所选代码

  • ${SIMILAR_CHUNK}:相似的代码片段

  • ${METHOD_INPUT_OUTPUT}:方法的输入与输出

规范变量:

  • ${SPEC_*}:从配置文件的规范部分加载规范,比如 ${SPEC_controller}将会从配置中加载 spec.controller

详细见 README.md 中的 Custom Action 部分。

自定义规范

在自定义操作项中,我们会定义一些不同任务的配置规则,诸如于 SPEC_controller 便会从 spec 中读取对应的内容,作为配置 prompt 的一部分:

  1. {

  2. "spec": {

  3. "controller": "- Use BeanUtils.copyProperties in the Controller for DTO to Entity conversion.\n- Avoid using Autowired.\n- Use Swagger Annotations to indicate API meanings.\n- Controller methods should capture and handle business exceptions, rather than throwing system exceptions.",

  4. "service": "- Service layer should use constructor injection or setter injection; avoid using the @Autowired annotation.",

  5. "entity": "- Entity classes should use JPA annotations for database mapping.\n- The entity class name should match the corresponding database table name. Entity classes should use annotations to mark primary keys and table names, for example: @Id, @GeneratedValue, @Table, etc.",

  6. "repository": "- Repository interfaces should extend the JpaRepository interface to inherit basic CRUD operations.",

  7. "ddl": "- Fields should be constrained with NOT NULL constraints to ensure data integrity."

  8. }

  9. }

然后,你就可以愉快地进行 AI 辅助编程了。

小结

如果大家遇到什么问题或者有什么好玩的新需求,欢迎来 GitHub 讨论:https://github.com/unit-mesh/auto-dev


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
学好 Prompt,和大模型双向奔赴!| 极客时间ChatGPT重大更新!prompt推荐瞬间解释超导,GPT-4成默认模型COMPUT METH PROG BIO | 生物学年龄预测模型的构建Npj Comput. Mater.: 原子间固有的游戏规则—设计人工智能材料54百亿参数大模型进化树重磅更新!85页盘点LLM发展史,附最详细prompt技巧LLM as Co-pilot:AutoDev 1.0 发布,开源全流程 AI 辅助编程5小时get大模型时代提效神器:写出高价值大模型Prompt!MGM、MolGPT、PAR、Uni-Mol、K-Bert、MolCLR…你都掌握了吗?一文总结生物制药必备经典模型(三)不同降压药物疗效存在巨大的个体差异,个性化降压方案或可能实现1句指令+5美元+20分钟,就能训练出小型专业模型,Prompt2Model了解一下私有化潮再现大模型外挂知识库优化-大模型辅助向量召回参数量仅为1/700,性能超越GPT-3.5!CMU+清华开源Prompt2Model框架报告丨这份AI研究报告,快速搞清楚ChatGPT、Gen-AI、大模型、多模态...养花有喜也有悲七十一 回程见闻用魔法打败魔法 Prompt2Model:大模型辅助小模型Prompt 驱动架构设计:探索复杂 AIGC 应用的设计之道?达利园、可比克的母公司,计划私有化退市!Llama2等30+模型接入千帆大模型平台,推理成本降50%!还有超全Prompt模板开放体验PromptAppGPT重磅更新!AI助手0门槛开发+运行:几十行代码即可实现AutoGPT大模型Prompt的中文教程来了!成功案例 | 两组家庭同日获批香港人才计划,个性化方案是申请成功的关键中科大提出:LLMs的个性化综述,详述大模型与个性化的挑战与机遇MarketUP:ChatGPT prompt指令模型大全Weston超前卫时尚豪宅,个性设计,专属景观,5室4.5卫,带私人泳池2023年,港股私有化趋势愈发明显社招 | Unity优美缔,个性化专业培养,在技术领域快速成长,期权激励冰岛3: 彩虹水帘洞里的湿人双林奇案录第三部之川黔连环案: 第三十节七十二 亲情一周全球十大并购:Splunk获思科斥资280亿美元收购 Thoma Bravo拟131亿私有化NextGen接入Llama 2等33个大模型,上线Prompt模板,百度智能云千帆大模型平台重磅升级早报 | LVMH失守欧洲市值最高企业宝座;欧舒丹控股股东放弃私有化交易;Prada设计总监将离职12家公司主动私有化退市,港股流动性问题求解
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。