LangKit 项目介绍
LangKit 是一个开源的文本度量工具包,专为监控语言模型而设计。它提供了一系列方法,用于从输入或输出文本中提取相关信号,并兼容开源数据记录库 whylogs。
基本动机
将语言模型(包括大型语言模型)投入生产环境时会面临许多风险,因为输入组合无穷尽,可能产生无穷尽的输出。文本的非结构化特性在机器学习可观测性领域提出了挑战,这一挑战值得解决,因为如果无法了解模型的行为,可能会导致严重后果。
主要特征
LangKit 提供了一些开箱即用的度量功能:
- 文本质量:包括可读性评分、复杂性和年级评分。
- 文本相关性:包括提示和响应间的相似性分数,以及与用户定义主题的相似性分数。
- 安全与隐私:包括匹配用户定义的正则表达式模式的字符串数量,已知越狱尝试的相似性分数,已知提示注入攻击的相似性分数,响应的一致性检查,以及已知大型语言模型拒绝服务响应的相似性分数。
- 情感与毒性:包括情感分析和毒性分析。
安装指南
想要使用 LangKit,只需通过 Python 包索引(PyPI)安装即可:
pip install langkit[all]
使用方法
LangKit 模块包含用户定义函数(UDF),这些函数可以自动连接到 whylogs 默认提供的字符串功能 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 实例类型上的性能表现如下:
AWS 实例类型 | 度量模块 | 吞吐量 |
---|---|---|
c5.xlarge | 轻度度量 | 2335 次聊天/秒 |
LLM 度量 | 8.2 次聊天/秒 | |
全部度量 | 0.28 次聊天/秒 | |
g4dn.xlarge | 轻度度量 | 2492 次聊天/秒 |
LLM 度量 | 23.3 次聊天/秒 | |
全部度量 | 1.79 次聊天/秒 |
LangKit 提供了一个强大的工具包,使用户能够通过多种指标监控和分析语言模型,帮助用户更好地了解和优化模型性能。在使用高级语言模型过程中,LangKit 提供了关键的数据洞察,保证模型的可靠性和安全性。