2024年第3周周报：AI产品开发、多语言插件与技术探索

决定每周写一篇文章，记录下自己本周经历的值得记录的事情
这是 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”。