跳至主要內容
使用Ragas评估LLM应用

使用Ragas评估LLM应用

说明

对于已知问题有正确答案的场景,适合使用 ragas 的 faithfulness 指标对 GenAI 应用响应结果进行评估,方便进行回归测试。

注意:本文提到的方法,只适用于对已知问题的评估。对于线上运行时,用户提的随机的、不在测试集范围内的问题,不适合用此方法评估。

安装

pip install ragas

levy大约 3 分钟Pythonllm
缩减Python应用的镜像体积

缩减Python应用的镜像体积

背景

当你为 LLM 应用构建镜像时,发现整个过程很慢,一看镜像体积:好家伙,1.76 G!

能不能减少镜像体积,缩短打包时间啊?本文将分享两招实用的技巧,让 Python 应用的镜像体积减少 50%。


levy大约 2 分钟DevOpsPython
使用 pytest 为LLM应用添加回归测试

使用 pytest 为LLM应用添加回归测试

回归测试的必要性

基于 LLM 的 Chat 应用大量依赖了 Prompt Engineering,而用户的输入又千奇百怪,调整了 Prompt 模板,很可能会有意想不到的效果:满足了新需求,却破坏了旧功能。

因此,LLM应用比任何时候都需要回归测试,确保在迭代过程中,不破坏旧功能、不让已修复的bug复现。

而回归测试,当然是自动化执行效率才高。本文交分享如何使用 pytest 对 LLM 应用进行自动化的回归测试。


levy大约 3 分钟PythonTestingGitlab
给LLM应用添加日志

给LLM应用添加日志

logging替代print

目前公司的LLM应用开发使用的是 Python 技术栈,观察源码,发现没有多少日志,纵使有,也是用的 print。

print 的作用,就相当于 Java 的 System.out.print,相当于 Node.js 的 console.log,一般只适合在本地调试,不适合作为日志输出的。


levy大约 3 分钟Python
下一代 UI 自动化测试工具 Playwright

下一代 UI 自动化测试工具 Playwright

前言

Playwright 是微软于 2020 年发布的一款 E2E testing 工具,跟社区成熟的 Cypress 相比,稍显年轻。然而 Playwright 的主要优势有:

  1. 支持多语言:Node.js、Java、Python,也即它并非是前端工程师专属的工具
  2. 开箱即用的代码生成功能(Cypress 现在也支持,不过要修改配置或安装插件)

另外,Playwright 的安装没什么门槛,不像 Cypress 可能需要黑魔法。


levy大约 10 分钟Node.jsPythonTesting
操作 Gitlab MR 的命令行工具

操作 Gitlab MR 的命令行工具

背景

为什么开发这个工具?主要解决以下问题:

  1. 提测、上 UAT 时,避免漏合代码。
  2. 代码冲突时,团队成员不用再问“解决这个冲突要怎么切分支?”
  3. 一个 feature 分支要向多个保护分支提交合并请求时,减少烦琐而易错的选取分支的界面操作。

可能会有人问:为什么会漏合代码?当你在某一个迭代需要来回在不同的 feature 分支切换、一个 feature 横跨多个项目,同时你偶尔还要兼顾 bug 修复的时候,你极容易丢失上下文。
并且,不同的 feature 研发进度不一致,可能出现的一种情况是:feature A 只是合并到 test 分支,但 feature B 却已经合并到了 uat。
对此,有人问你代码到底合并了没,你怎么确认?一个个项目去相应的主干分支里查看提交历史吗?就是因为不想再这样做了,这才有了这个工具。


levy大约 4 分钟GitGitLabPython
Python 导出 MySQL 库表信息到 Excel

Python 导出 MySQL 库表信息到 Excel

需求

查询 MySQL 某个库的全部表的元信息,输出成 Excel,每一张表一个 sheet。


levy大约 1 分钟Python