article
README
🚀 实体识别
本项目旨在识别两组数据是否来自同一主体,同时它还是一个支持MCP(模型上下文协议)的服务器,为数据比较提供了可靠的解决方案。
🚀 快速开始
本工具提供了一种全面的方式,用于比较两组数据,评估其值的精确相等和语义相等。它通过文本规范化和语言模型来判断数据是否来自同一主体。
✨ 主要特性
- 文本规范化:将文本转换为小写,移除标点符号,并标准化空白字符。
- 值比较:对两个值进行精确比较和语义比较(忽略列表顺序)。
- JSON遍历:逐个键地遍历JSON对象,并比较对应的值。
- 语言模型集成:使用生成式语言模型评估语义相似性,并最终判断数据是否来自同一主体。
📦 安装指南
要使用此工具,请确保安装了必要的依赖项。您可以使用pip进行安装:
pip install genai
💻 使用示例
基础用法
以下是本工具中主要函数的功能及使用说明:
- normalize_text(text):
- 对输入文本进行规范化处理,包括转换为小写、移除标点符号和标准化空白字符。
- compare_values(val1, val2):
- 对两个值进行精确比较和语义比较。
- 如果值是列表,则忽略顺序进行语义比较。
- compare_json(json1, json2):
- 比较两个JSON对象的每个键。
- 使用
compare_values评估每个键的值。 - 整合语言模型来评估语义相似性并做出最终判断。
高级用法
import json
import genai
import re
# 定义您的JSON对象
json1 = {
"name": "John Doe",
"address": "123 Main St, Anytown, USA",
"hobbies": ["reading", "hiking", "coding"]
}
json2 = {
"name": "john doe",
"address": "123 Main Street, Anytown, USA",
"hobbies": ["coding", "hiking", "reading"]
}
# 比较JSON对象
comparison_results = compare_json(json1, json2)
# 生成最终匹配结果
model1 = genai.GenerativeModel("gemini-2.0-flash-thinking-exp")
result_matching = model1.generate_content("综合这些信息,你认为可以判断两个数据来自同一主体吗?"+json.dumps(comparison_results, ensure_ascii=False, indent=4))
print(result_matching.text)
📄 许可证
该项目在MIT许可证下发布。有关详细信息,请参阅LICENSE文件。
📞 联系方式
如果您有任何问题或建议,请通过以下方式联系我:
- 邮件:u3588064@connect.hku.hk
- GitHub:u3588064@connect.hku.hk
微信
微信扫一扫