LangKit
LangKit 是一个开源文本度量工具包,用于监控语言模型。它提供了一系列方法来提取输入和/或输出文本中的相关信号,并与开源数据记录库 whylogs 兼容。
💡 想体验 LangKit?请点击这个 notebook!
目录 📖
动机 🎯
将语言模型(包括大型语言模型)投入生产使用带来一系列风险,因为无数的输入组合可以产生无限的输出。文本的非结构化特性在机器学习可观察性空间中构成了一个值得解决的挑战,因为缺乏对模型行为的可见性可能会带来严重后果。
功能 🛠️
开箱即用的度量包括:
- 文本质量
- 可读性评分
- 复杂性和分级评分
- 文本相关性
- 提示/响应之间的相似性评分
- 针对用户定义主题的相似性评分
- 安全和隐私
- 模式 - 匹配用户定义正则表达式模式组的字符串计数
- 破解 - 与已知破解尝试的相似性评分
- 提示注入 - 与已知提示注入攻击的相似性评分
- 幻觉 - 响应之间的一致性检查
- 拒绝 - 与已知大型语言模型拒绝服务响应的相似性评分
- 情感和毒性
- 情感分析
- 毒性分析
安装 💻
要安装 LangKit,请使用 Python 包索引 (PyPI),如下所示:
pip install langkit[all]
使用方法 🚀
LangKit 模块包含的 UDF 会自动连接到默认的 whylogs String 特性 UDF 集合中。我们只需导入 LangKit 模块,然后实例化一个自定义架构,如下例所示。
import whylogs as why
from langkit import llm_metrics
results = why.log({"prompt": "Hello!", "response": "World!"}, schema=llm_metrics.init())
上面的代码将生成包含文本特性的默认 whylogs 度量和导入模块中定义的所有度量的度量集。此资料文件可以在 WhyLabs 平台 中可视化和监控,或者用户可以自行进一步分析。
更多示例可在这里找到。
模块 📦
您可以在这里找到不同模块及其度量的更多信息。
基准测试
AWS 实例类型 | 度量模块 | 吞吐量 |
---|---|---|
c5.xlarge | 轻量度量 | 2335 对话/秒 |
LLM 度量 | 8.2 对话/秒 | |
所有度量 | 0.28 对话/秒 | |
g4dn.xlarge | 轻量度量 | 2492 对话/秒 |
LLM 度量 | 23.3 对话/秒 | |
所有度量 | 1.79 对话/秒 |
常见问题
您可以在我们的常见问题部分 查看一些常见问题。