石岩网站设计,佛山外贸网站,ps酒店网站模板,什么网站可以做名片1 DeepSeek处理自有业务的案例#xff1a;让AI给你写一份小众编辑器(EverEdit)的语法着色文件
1.1 背景 AI能力再强#xff0c;如果不能在企业的自有业务上产生助益#xff0c;那基本也是一无是处。将企业的自有业务上传到线上训练#xff0c;那是脑子进水的做法#xff…1 DeepSeek处理自有业务的案例让AI给你写一份小众编辑器(EverEdit)的语法着色文件
1.1 背景 AI能力再强如果不能在企业的自有业务上产生助益那基本也是一无是处。将企业的自有业务上传到线上训练那是脑子进水的做法竞争对手不仅捡了大便宜自己的企业可能没享受到AI红利就被干死了 这也是为什么DeepSeek的本地模型及硬件设备会大热但对中小企业特别是小微企业来说硬件设备从几十万~几百万的成本是无法逾越的障碍那中小微企业就要在AI的大潮中被时代淘汰吗 肯定不是也肯定不能
自有业务场景 本文将以一个小众文本编辑器EverEdit为切入点训练AI认识EverEdit的语法着色规则并生成一份新的编程语言(zig)的语法着色文件。 说明 因为EverEdit够小众所以现成的各种线上线下AI模型都不认识需要自己进行训练这很符合中小微企业的自有业务特点。
1.2 准备步骤
1.2.1 AI平台账号准备 硅基流动注册 1.2.2 下载CherryStudio
注CherryStudio工具的知识库支持训练本地素材
1.2.3 在CherryStudio中配置密钥 配置密钥是为了能够让CherryStudio使用AI供应商(这里是硅基流动)的模型 步骤1在siliconflow网站登录后拷贝自己的密钥如下图所示 步骤2在CherryStudio中配置密钥如下图所示
1.3 训练本地知识库(EverEdit的语法着色规则)
在CherryStudio中新建本地知识库如下图所示
注如果已经创建过EverEdit本地知识库就不用重复创建了。
将EverEdit自带的语法文件丢给CherryStudio消化如下图所示 知识库有两部分一是EverEdit内置的语法着色文件二是EverEdit的语法着色规则介绍文件(帮助文档)。 消化完成后会出现绿色的“√”符号
1.3.1 在CherryStudio中使用本地知识库(EverEdit)和DeepSeek在线模型生成zig语法着色文件
1.3.1.1 打开知识库开关并选择本地知识库如下图所示 在CherryStudio的导航栏选择“助手”按钮切换到助手模式 在界面的底部聊天窗口中选择本地知识库
1.3.1.2 提问让AI生成zig语法文件并不断进行修正
让AI生成一份EverEdit编辑器的zig语法着色文件
注以上是和AI的对话记录用户内容部分即本人在CherryStudio聊天窗口中输入的内容 下同。 顺手让AI生成1份Zig源代码用于测试 AI生成的源码内容如下
const std import(std); // 导入标准库// 定义一个结构体
const Point struct {x: i32,y: i32,// 结构体方法pub fn move(self: *Point, dx: i32, dy: i32) void {self.x dx;self.y dy;}
};// 定义一个枚举
const Direction enum {North,South,East,West,// 枚举方法pub fn opposite(self: Direction) Direction {return switch (self) {.North .South,.South .North,.East .West,.West .East,};}
};// 定义一个联合体
const Value union(enum) {Int: i32,Float: f32,Bool: bool,// 联合体方法pub fn print(self: Value) void {switch (self) {.Int |i| std.debug.print(Int: {}\n, .{i}),.Float |f| std.debug.print(Float: {}\n, .{f}),.Bool |b| std.debug.print(Bool: {}\n, .{b}),}}
};// 主函数
pub fn main() void {// 变量声明const a: i32 10;var b: i32 20;b a;// 控制流if (b 15) {std.debug.print(b is greater than 15\n, .{});} else {std.debug.print(b is less than or equal to 15\n, .{});}// 循环var i: u8 0;while (i 5) : (i 1) {std.debug.print(i {}\n, .{i});}// 结构体使用var p Point{ .x 0, .y 0 };p.move(5, 10);std.debug.print(Point: ({}, {})\n, .{ p.x, p.y });// 枚举使用const dir Direction.North;const oppositeDir dir.opposite();std.debug.print(Opposite of North is {}\n, .{oppositeDir});// 联合体使用const val Value{ .Int 42 };val.print();
}将AI生成的zig.mac语法着色文件保存到EverEdit安装目录下的syntax目录 参考配置EverEdit语法着色对zig语法进行配置 告诉AI哪里出了错误如下所示 注后面还有一些错误调试就不一一列举了。 最终的着色结果
注一般的编辑器都没有部署LSP因此对库函数中的关键字是不识别的如std.debug
1.4 附录AI生成的EverEdit规范的zig语言语法着色文件zig.mac
******************************************************************************file zig.macbrief Zig 语言语法着色文件author tyysoft DeepSeek-V3 CherryStudiodate 2025-2-13version 1.0note 本文件定义了 Zig 语言的语法着色规则包括注释、字符串、关键字、数据类型等的着色通过包含 const.mac 文件获取颜色常量并使用 Doxygen 风格注释进行说明。
****************************************************************************** 包含颜色定义文件
Include .\const.mac 创建 Zig 语法着色对象
Dim zig
Set zig Parser.CreateParser() 设置最大解析字符数
zig.SetParseMax(1000) 定义注释
Dim regionLineComment, regionBlockComment
Set regionLineComment zig.CreateRegion(COLOR_COMMENT1, //, $, True)
Set regionBlockComment zig.CreateRegion(COLOR_COMMENT1, /*, */, True) 定义字符串
Dim regionString
Set regionString zig.CreateStringRegion(COLOR_STRING1, , , False) 定义关键字
Dim itemKeyword
Set itemKeyword zig.CreateWord(COLOR_WORD1, const var fn if else while for switch case break continue return struct enum union error defer try catch unreachable async await suspend resume using comptime noalias volatile align linksection export extern packed anytype undefined null true false and or xor not pub, True) 定义数据类型
Dim itemDataType
Set itemDataType zig.CreateWord(COLOR_WORD2, i8 i16 i32 i64 u8 u16 u32 u64 f16 f32 f64 bool void anyerror anytype anyframe, True) 定义函数
Dim itemFunction
Set itemFunction zig.CreateItem(COLOR_FUNCTION, \b[a-zA-Z_]\w*\s*\(, True) 定义数字
Dim itemNumber
Set itemNumber zig.CreateItem(COLOR_NUMBER, \b\d(\.\d)?\b, False) 定义操作符
Dim itemOperator
Set itemOperator zig.CreateItem(COLOR_OPERATOR, [\-*/%|^!], False) 将定义的元素添加到语法着色对象
zig.AddRegion regionLineComment
zig.AddRegion regionBlockComment
zig.AddRegion regionString
zig.AddItem itemKeyword
zig.AddItem itemDataType
zig.AddItem itemFunction
zig.AddItem itemNumber
zig.AddItem itemOperator 设置代码折叠规则
zig.FoldText {, False, }, False 设置括号匹配
zig.SetPairs (){}[] 定义注释快捷键
zig.CommentLine //
zig.CommentBlock /*, */ 添加自定义高亮示例高亮注释中的TODO
Dim itemTodo
Set itemTodo zig.CreateItem(COLOR_HIGHLIGHT1, \bTODO\b, True)
regionLineComment.AddItem itemTodo
regionBlockComment.AddItem itemTodo作者声明本文用于记录和分享作者的学习心得可能有部分文字或示例来源自豆包AI由于本人水平有限难免存在表达错误欢迎留言交流和指教 Copyright © 2022~2025 All rights reserved.