Han Wenbo

Focus on technology, trends, and their intertwined politics.

  • 用多重背包算法解决大模型长距离依赖和数字约束遗忘问题

    最近在做医疗诊断+食谱生成的一个项目,遇到了一个棘手难题:数值敏感度不足,长距离依赖和约束遗忘。 我们需要利用大模型根据患者病情自动生成个性化食谱,首先生成一日营养目标摄入总量,然后生成早餐,中餐,晚餐各个食材的设定目标,结果是各个食材营养摄入总和总是超过总量预设值。LLM虽能生成流畅食谱,却难以精确控制营养素摄入量,为解决此问题,我们提出将食谱生成转化为多重背包问题,利用动态规划算法,在满足每日营养目标(背包容量)的约束下,选择最优菜品组合(价值最大化)。通过检索和约束优化,替代LLM的直接生成。

    Read more…
  • 古籍、AI 与我的家族历史:兼论中外大模型在古文识别中的表现

    几年前,我得到了一份珍贵的古籍家谱,在我手里待了 30 分钟,这是一本写着我从哪里来的古籍。 高中三年真正培养了我阅读古文的能力,而这种能力将使我受益终身。 趁着我的古文阅读水平还在,我决定借助大模型的力量,将他们翻译出来。

    我发现大模型的能力真的参差不齐,美国的大模型识别中文古文的能力让我大吃一惊,比国内任意一家的能力都要好。 我会在文末放出各自的翻译截图,我分别测试了8家大模型,分别是: 国外的:Gemini,Claude,OpenAI ,国内的:通义千问,kimi,deepseek,智谱AI,豆包。

    我心目中的对于古籍识别排序的能力排名是这样的:

    Gemini > > 通义千问 > Claude-3.5-Sonnet= gpt-4o= kimi > deepseek v3 = GLM > > 豆包

    Gemini 最好,通义千问是接下来的佼佼者。 其他Claude-3.5-Sonnet,gpt-4o,kimi,deepseek v3都是基本还能看下去,但是deepseek v3不懂得古文是从右到左的。 GLM识别重复特别多,但是能识别出里边的内容,豆包就好像是完全在想象。

    识别出的内容我放在了附录里。

    Read more…
  • 纯文本、Markdown、YAML和JSON四种提示词样式对模型输出的影响实证

    我之前的项目实践总是把所有的提示词都设计成Markdown格式,因为我认为这样不仅对大模型友好,对我使用Typora编辑特别长的提示词也十分友好,而且直到现在GPT官方示例也是这样做的。

    后来看到宝玉分享的V0提示词,我的直觉告诉我应该试一试XML ,因为我用的提示词生成工具(dify一个内置功能)都是使用这个格式。后来我也频繁使用XML格式,但是到底哪个更好呢?我觉得这篇实证论文挺有参考意义的,因为它给了我使用JSON格式尝试的可能,可惜的是没有XML格式的对比。

    Read more…
  • few-shot 最佳实践指南

    在过去的几个月里,我总是习惯于把Few-shot放在系统提示词里。但是我经过使用LangGraph,Dify和其他平台的一些实践,我慢慢地发现,放在QA问答对的几个shot,总是会比放在系统提示词里效果会更好。后来我又开始借鉴在twitterRohan的推文使用llamaindex搭建的动态提示词系统。这并不是熟能生巧,这方面的论文和Medium的文章给了我很大启发,然后我在LangChain的官方博客发现了一篇总结得非常好的文章,我一直拖到今天元旦终于闲下来才下定决心写一个翻译稿件。

    Read more…
  • Claude Artifacts原理探究

    契机是我想测试下claude-3-5-sonnet-20240620的Artifacts功能。 我想在本地通过cURL功能请求,但是我发现使用同样的claude-3-5-sonnet-20240620模型,同样的一个问题“帮我画一个marmaid图表示bert模型架构”,如果我本地调用api输入token只有几十,输出无论如何也无法触发Artifact。 使用lobechat的话输入token有4000多,输出也能触发Artifact,那么肯定是系统提示词System prompt的缘故。

    Read more…
  • 从 BelliWelli风靡到投票站: Z世代的排队文化学

    当健康零食、Taylor Swift 周边与"i voted"贴纸都成为打卡必需。

    tiktok流行趋势:BelliWelli健康食品,“i voted"贴纸,政治态度隐藏,打卡文化

    Read more…