用于聚类嵌入的LLM插件
项目描述
llm-cluster
LLM 插件,用于聚类嵌入。
安装
在LLM相同的环境中安装此插件。
llm install llm-cluster
使用方法
该插件添加了一个新的命令,llm cluster
。该命令接受一个嵌入集合的名称和要返回的聚类数量。
首先,使用paginate-json和jq来填充集合。在这个例子中,我们将llm存储库中每个问题的标题和正文嵌入,并将结果存储在issues.db
数据库中
paginate-json 'https://api.github.com/repos/simonw/llm/issues?state=all&filter=all' \
| jq '[.[] | {id: .id, title: .title}]' \
| llm embed-multi llm-issues - \
--database issues.db --store
--store
标志会导致内容与嵌入向量一起存储在数据库中。
现在我们可以将这些嵌入聚类到10组
llm cluster llm-issues 10 \
-d issues.db
如果您省略了-d
选项,将使用默认的嵌入数据库。
输出应该看起来像这样(截断)
[
{
"id": "2",
"items": [
{
"id": "1650662628",
"content": "Initial design"
},
{
"id": "1650682379",
"content": "Log prompts and responses to SQLite"
}
]
},
{
"id": "4",
"items": [
{
"id": "1650760699",
"content": "llm web command - launches a web server"
},
{
"id": "1759659476",
"content": "`llm models` command"
},
{
"id": "1784156919",
"content": "`llm.get_model(alias)` helper"
}
]
},
{
"id": "7",
"items": [
{
"id": "1650765575",
"content": "--code mode for outputting code"
},
{
"id": "1659086298",
"content": "Accept PROMPT from --stdin"
},
{
"id": "1714651657",
"content": "Accept input from standard in"
}
]
}
]
显示的内容被截断为100个字符。传递--truncate 0
以禁用截断,或--truncate X
以截断到X个字符。
为每个聚类生成摘要
--summary
标志将导致插件为每个聚类生成一个摘要,通过将项的内容(根据--truncate
选项截断)传递给大型语言模型。
此功能仍在实验阶段。您应该尝试自定义提示来提高摘要的质量。
由于这可以通过LLM运行大量文本,因此成本可能很高,具体取决于您使用的模型。
此功能仅适用于已使用--store
标志将相关内容存储在数据库中的嵌入。
您可以这样使用它
llm cluster llm-issues 10 \
-d issues.db \
--summary
这使用默认提示和默认模型。
要使用不同的模型,例如 GPT-4,请传递 --model
选项
llm cluster llm-issues 10 \
-d issues.db \
--summary \
--model gpt-4
默认使用的提示是
该相关文档组的简短、简洁标题。
要使用自定义提示,请传递 --prompt
llm cluster llm-issues 10 \
-d issues.db \
--summary \
--model gpt-4 \
--prompt 'Summarize this in a short line in the style of a bored, angry panda'
每个聚类将添加一个 "summary"
键,其中包含生成的摘要。
开发
要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境
cd llm-cluster
python3 -m venv venv
source venv/bin/activate
现在安装依赖项并测试依赖项
pip install -e '.[test]'
要运行测试
pytest
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
llm-cluster-0.2.tar.gz (9.2 kB 查看哈希值)
构建分发
llm_cluster-0.2-py3-none-any.whl (9.0 kB 查看哈希值)
关闭
llm-cluster-0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9e79db0bd3f7feb3f73afdac1caf5947da5fb2f43bdfced36549cc349d26bc28 |
|
MD5 | 6b0f513944d4ed0153c81023910a4f66 |
|
BLAKE2b-256 | 4871f7f96688d4935ee20c89058365eea875273a361df00350a8d5f5f59bd721 |
关闭
llm_cluster-0.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ffabb64eb97a264a414b9312d82d8a649e05c3d73b93e943fafc46975ada42cb |
|
MD5 | afd4d4a232514b6f3ae2b0ee0f162078 |
|
BLAKE2b-256 | 56ff3d156c6ed478fdd095b398fce8f50e95b23deecafbfd4372666f4b98fa08 |