关于文本分析工具,之前在星球课程中详细介绍了ChatPDF以及它的原理
忘记的可以点击下方链接查阅:https://articles.zsxq.com/id_fb4gg2i033bo.html
其实,现在大多数基于GPT的文本搜索功能都用的是向量相似度搜索,它对于我们分析文本,写论文都有很大的限制。
自从 OpenAI 开放了 GPT3.5/4 的 API 接口以来,许多人开始利用它建立自己的本地知识库,尝试训练自己的客服系统、智能助理、法律或金融顾问等。然而,重要的一点需要注意,ChatGPT 返回的答案并不总是100%真实可信。对于那些需要严谨内容的场景,例如撰写论文、行业分析报告、法律合同文件等,ChatGPT可能并不是最佳选择。那么,如何在保证数据真实性和隐私安全的前提下,提高文档检索效率呢?
地址:https://github.com/freedmand/semantra
我最近在 GitHub 上发现了一个优秀的开源解决方案:Semantra。这是一款强大的语义搜索工具,相较于传统的文本匹配方式,Semantra 能够提供直接的语义查询功能。
Semantra 的设计目标是易用、可定制,同时注重隐私。它非常适合需要在大量文档中进行精确搜索的用户,如新闻记者、研究人员、学生或教师等。
安装和使用 Semantra 也非常简单。首先,你需要确保你的电脑上的 Python 版本为 3.9 或更高。然后,使用 pipx 安装 Semantra。如果你还没有安装 pipx,可以使用以下命令安装:
python3 -m pip install --user pipx
python3 -m pipx ensurepath
然后,在新的命令行终端窗口中运行以下命令安装 Semantra:
pipx install semantra
安装成功后,你可以在终端中输入 semantra --help
命令,检查是否正确安装。
Semantra 主要用于处理存储在本地计算机上的文档(包括文本和 PDF 文件)。你可以选择处理单个或多个文档。需要注意的是,第一次处理文档可能需要一些时间,但是再次处理时,速度将大大提高。
在处理了文档后,Semantra 将在本地启动一个 Web 服务器。默认情况下,你可以通过 localhost:8080 访问该服务器。在这个页面上,你可以对文档进行语义查询,根据返回的结果,使用 + 和 - 给结果打标签,以优化下次查找的效果。
也即是说,你用的越多,它查找的结果就越准确。
有兴趣可以下载这个视频看看:https://user-images.githubusercontent.com/306095/233867821-601db8b0-19c6-4bae-8e93-720b324dc199.mov
Semantra 支持两种处理文档的方式:使用 "内嵌模型" 或者调用 "OpenAI API"。默认情况下,Semantra 使用的是 MPNet 语言模型。
总的来说,Semantra 是一个出色的文档内容搜索工具,它在保证数据真实性和隐私安全的同时,能够有效提高文档检索效率。无论是对于个人还是团队,只要你需要在大量文档中进行精确搜索,它都将是你的理想选择。
如果你的电脑配置良好或者你希望在离线状态下处理文档,你可以选择下载并使用大型语言模型,这将最大程度地保护你的隐私。如果你想使用 OpenAI API,Semantra 也提供了相应的选项,但是你需要自行承担由此产生的 Token 消耗。
具体选择哪种方式,主要取决于你的具体需求和环境。在我看来,对于文档查询这类任务,大部分语言模型已经足够好,没有必要使用 OpenAI API。ChatGPT 的主要优势在于,基于其丰富的知识库,它可以帮助你发散思维,提供多种解决方案。
对于需要保证数据真实性、操作严谨性的任务,将所有工作交给 ChatGPT 处理可能并不是最佳选择。这就是我从 Semantra 项目中得到的主要启发,我希望这个事实能科普到大家,而不是一味的把ChatGPT奉若神明。
最近几个月,我深入研究了许多关于 ChatGPT 的实用技巧和应用。为了方便自己的学习和阅读,我整理了一些有关 ChatGPT 的使用技巧、实用工具以及变现方法。如果你对此感兴趣,欢迎关注我的公众号。