使用LLM进行语义单元测试:suite库初探

2025-05-05

本文介绍了一个名为suite的Python库,它利用大型语言模型(LLM)进行语义单元测试。不同于传统的单元测试,suite通过比较函数的实现与文档字符串中的描述来评估函数的语义正确性。作者详细解释了suite的工作原理,包括如何构建提示、处理函数依赖以及与pytest的集成。虽然作者强调suite不应取代传统的单元测试,但它可以作为一种补充手段,帮助开发者尽早发现bug,提高测试覆盖率。suite支持异步测试,并可使用本地模型,降低成本和隐私风险。

阅读更多
开发

Jupyter Notebook 与大型语言模型:成本控制的意外收获

2025-01-21

作者使用大型语言模型辅助编码,起初使用ContinueDev + OpenRouter的方案很有效,但成本突然飙升。经排查发现,Jupyter Notebook(.ipynb) 文件包含大量隐含内容(代码输出、元数据、Base64 编码的图像等),导致token数量剧增,从而增加了LLM调用成本。解决方案是将.ipynb文件转换为.py文件,并移除Base64编码的图像。此方法使成本降低了94%,延迟也相应减少。这篇文章强调了在使用LLM时注意输入内容的重要性,并建议定期检查成本。

阅读更多
开发

用运筹学赢得你的梦幻联赛

2024-07-17

这篇文章讲述了作者如何尝试用运筹学中的背包问题来构建最佳的梦幻足球队。作者详细介绍了如何获取球员数据、定义球员价值、设置球队约束以及使用Google OR-Tools求解器来找到最佳阵容。虽然作者的算法团队在朋友间的联赛中表现平平,但在大型公开联赛中却取得了相当不错的成绩。作者总结了算法的不足之处,例如球员得分预测过于简单、未考虑阵容波动性和赛程安排等,并提出了改进方向。

阅读更多
未分类 梦幻足球

每个人都会遇到事

2024-07-05

这篇文章从数学角度探讨了“为什么这种事会发生在我身上?”这个问题。作者首先列举了生活中可能遇到的各种不幸事件,如疾病、死亡、心理健康问题等。然后,作者假设了一个人平均拥有11个亲朋好友,并计算了至少其中一人遭遇不幸的概率高达99.99%。即使只考虑因癌症死亡的概率,也高达89%。作者认为,这个数学练习虽然看似冰冷,但却有助于我们获得同理心,理解每个人都会面临人生挑战,从而更加同情自己和他人。

阅读更多
未分类 人生挑战

好代码很少被阅读

2024-06-15

文章认为,好的代码应该是易于理解和使用的,开发者无需过多阅读就能直接使用。最佳实践、DRY、SOLID等原则都是为了提高代码可读性而存在的工具。虽然人们常说“代码被阅读的次数比编写的次数多”,但这可能是代码质量不佳的表现。好的代码应该被大量使用,而不是被反复阅读。

阅读更多
未分类