我的日常生活已经融入了很多 AI 的协助,比如翻译一段文字、解释某个名词、回答一个问题等等。但是频繁使用后发现了另一个问题就是这些 AI 的产出对我的知识来说是个有益的补充,可是使用的时候通常是一次性的解决问题,并没有把这些内容沉淀下来。当需要把他们收集到笔记里的时候还要再回去整理,很是不方便。想象一下,如果这些临时查询的宝贵信息可以自动保存到自己的笔记系统中,就再也不用担心丢失重要的知识片段了。于是就萌生了做个工作流把这些 AI 生成的内容自动存到我的笔记系统里,然后再定期回顾。这里会介绍我调研的一些工具的局限,以及如何用了一个简单的框架把 AI 生成的内容自动导入到 logseq,并做成 flashcard。
message_text = [ { "role": "system", "content": "You are a university English teacher, below is a paragraph in English. " + "Please first translate it into Chinese. Then extract difficult words and phrases from the source paragraph, sort them in descending order of importance choose only the top 3 output them with explain of their usage to me in detail from a linguistic perspective." + "The overall output should look like this: \n" + "- {The Chinese Translation} \n" + "- Explanation: \n" + " - {word or phrase}: {explanation}\n" }, { "role":"user", "content": content } ]
输出到 logseq
在输出到 logseq 这一步的时候本来是打算调用 logseq 的 API,logseq 的开发者模式提供了一个本地的 HTTP 服务可以通过 HTTP 去调用。但是当我看了他们的 API 文档后差点给整崩溃了,所有的操作都要用 id,page id 又没办法去直接索引,要 getAll 后自己过滤。appendBlock 也不允许插入带层级的 Block,要串好几个 API 才能完成一个简单的操作。
崩溃的时候转念一想,logseq 不就是一堆 markdown 的渲染器么,既然 API 那么难用我直接去写文件不就好了,于是一组复杂的 API 调用变成了轻松愉快的文件 append 操作。这样既绕开了 logseq API 的限制,甚至有可能接入其他基于 markdown 的笔系统。
message_text = [ { "role": "system", "content": "You are a university English teacher, below is a paragraph in English. " + "Please first translate it into Chinese. Then extract difficult words and phrases from the source paragraph, sort them in descending order of importance choose only the top 3 output them with explain of their usage to me in detail from a linguistic perspective." + "The overall output should look like this: \n" + "- {The Chinese Translation} \n" + "- Explanation: \n" + " - {word or phrase}: {explanation}\n" }, { "role":"user", "content": content } ]