<aside> 🎉 题外话:Silo 也已上线,深度使用SiliconCloud API,实现多个大模型同时对话、生图。代码开源,欢迎访问。

</aside>

TLDR;

<aside> 💡 iOS 捷径输入内容,自动在指定的 Notion database 里创建一个卡片。

其中,会通过https://siliconflow.cn/zh-cn/siliconcloud 的 API 自动生成卡片icon、标题、总结、关键词、分类、情感分类等内容。

</aside>

下载.jpeg

关键点:

  1. 使用 iOS 快捷指令获取用户输入 content 。可以通过获取剪贴板、语音转文字、文本框等方式获取一段文本输入,并调用一个 aws 的 lambda 函数。(比如我的一个场景,看到喜欢的内容,直接复制,然后通过双击手机背面调用快捷指令获取剪贴板直接调 api,无感、无压)
  2. 快捷指令调用的 aws 函数会直接响应(用户体验好一点),并调用具体处理 content 的第二个 lambda 函数。
  3. 数据处理。具体就是构建一个 Prompt 要求大模型对 content 进行分析并以 JSON 的形式返回,然后用分析来的数据构建一个 notion api 请求在指定的 database 创建一条记录。

Prompt 如下

我将给你一段文字,请分析并以 JSON 格式返回相关信息: 
### 
{ 
	"summary": "这里是文字内容的摘要。", 
	"title": "根据内容生成的标题,10 字以内", 
	"emoji": "合适的 emoji,**限 1 个**", 
	"sentiment": "情感分析结果,如'positive', 'negative', 'neutral'。", 
	"keywords": ["关键词1", "关键词2", "..."], 
	"categories": ["主题1", "主题2", "..."] 
} 
### 
要求: 
1. 你的输出将直接用于程序解析,请不要用任何标记语言,严格按照上述格式返回纯文本的 JSON。 
2. 用户输入将以"###"包裹,请直接分析,不要对话。 

### ${content} ###

处理函数主要内容(应该还是比较易懂的)

export async function handleContent (content, isRetry = false) {
  try {
    // 获取 GPT 响应
    const gptOptions = createGptRequestOptions(content);
    const gptRes = await http.post(gptOptions.url, gptOptions.data, { headers: gptOptions.headers });
    const gptMessage = gptRes.choices[0].message.content; // 相当于聊天里响应的文字

    // 直接解析并拿来构建 notion api 请求(Qwen 72B的效果很好)
    const notionBody = createNotionRequestBody(content, JSON.parse(gptMessage))
    const notionRes = await http.post('<https://api.notion.com/v1/pages>', notionBody, { headers: notionRequestHeaders });
 
    return notionRes;
  } catch (error) {
    // 如果出现异常,比如解析异常、请求异常等,1s后重试
    await sleep(1000);
    return await handleContent(content, true)
  }
}

太长不看版结束,以下正文


“没有知识,有的只是层出不穷的知识管理手段。🤓”

from and to: 亚里士多德·郭