决定每周写一篇文章,记录下自己本周经历的值得记录的事情
这是 2024 第三周记录,也是这个系列的第一篇
1,公司 AI 产品开发#
在过去几周,我大部分时间是在做 AI 产品的后端开发,目前仅完成了初始版本,不过能真实开发一个 AI 相关的产品还是挺过瘾,之前主要是在看,在用,上手开发还是第一次。目前做的功能主要是聊天和知识库问答的功能。
基于 langchain-chatchat 做改造,比如接入集团的大模型 api,比如产品本身对 AI 的集成,前后端交互,修改 prompts 等等简单的改造。知识库问答做的只是最基础的功能,后续要根据市面上的 RAG 论文做一些优化,比如对分块内容提前生成问题,和原始内容做映射,然后将问题也存入向量数据库,用户问问题时同事匹配事先生成的问题向量和原始内容的向量;比如引入 ES,基于 ES 搜索和向量搜索结果合并作文 context 去问大模型;还有 rerank 之类的,后续看情况也加入。
python 也是 23 年才可开始正式接触,不过有 chatgpt 不管是阅读代码还是写代码上手都快了很多,最近算是读懂了 langchain-chatchat 的大部分代码,算是更进一步。
2,Intellij idea 多语言翻译插件#
用 live plugin 实现了一个 多语言翻译的功能。具体功能就是通过快捷键触发,将一个汉语字符串自动添加到多个多语言文件中,并将当前字符串替换为项目多语言方法工具方法的调用。
主要的代码逻辑就是使用 live plugin 监听快捷键,触发之后,获取当前光标所在文件的内容,找到光标所在字符串,翻译为英文,根据当前文件 package,找到对应的领域,根据项目格式生成一个多语言的 key,然后 key=value 结构追加到多语言文件,最后替换当前字符串为系统多语言工具方法,传入参数 key。
尽管目前存在重复文字处理的问题,但我已经非常喜欢使用这个工具,它极大地简化了我之前手动处理多语言部分的繁琐工作。以前觉得这个过程手动处理特别麻烦,每次都是比较抗拒的,现在有了这个工具,很简单的就处理了多语言的部分。
chatgpt 作用挺大,第一,可以问 idea 的文档,可以问在某些场景下应该使用哪个接口,没问出来的看看 idea 的代码或者 api 就清晰了,第二就是代码转化,阿里云翻译的 demo 给的是 java 的,而 live plugin 需要 groovy 或者 kotlin,kotlin 接触比较少,就选择用 groovy,然后将 demo 的 java 代码使用 chatgpt 转换为 groovy 代码,然后自己稍微改改就能用了,
翻译的时候记得让 chatgpt 重构下代码,保证代码的清晰,简洁。
提示,如果要写一个系统的插件,找官方文档, template 和 example,能够比较快速的上手
两个感悟:
a. 先实现基础功能,再逐步增加新功能和优化。一次性追求完美可能导致挫折感。
b. 在编写代码时,采用小步快跑的策略,及时测试验证,避免一次性完成所有工作后再回头修复 bug。
3,阿里云翻译#
上述的插件中的翻译用的是阿里云翻译,大家有需要的可以注册下,每个月有 200w 字符的免费翻译额度
机器翻译通用版引擎,机器翻译专业版引擎 每月免费各 100w 字符
http api 不好用,主要是签名比较麻烦,如果用 sdk 倒是还好,我没用 sdk,因为 live plugin 使用第三方 groovy 包的话,还是稍微有点麻烦,尝试了下失败了,就使用 http 了
4,给博客域名证书续期#
腾讯云有免费的 30 个域名续费,操作还算简单
5,博客切换到 xlog#
我决定将博客迁移至 xlog,告别了 hashnode.com 的主题和问题。虽然内容暂时还未迁移,但新平台的体验让我感到满意。这篇文章是我在 xlog 上的第一篇文章,第 0 篇文章是简单的 “hello world”。