更口语化的版本可以是:
使用Streamlit应用将文件转成向量存储,并用Llama3等最新模型来聊天
与你的 PDF、CSV 或文本文件中的内容进行聊天是最近的热门趋势(看看 Medium 上的相关文章)。为了展示如何使用最新模型(如Llama3 或 Mistral)本地实现这一点,我制作了一个 Streamlit 应用程序,使用 Python 代码将 PDF、CSV 和文本文件转换为向量数据库,然后用这些向量数据喂给模型。我尝试了 Chroma 和 Meta 的 FAISS 向量数据库。
一个关于Streamlit应用的简介这个界面应该相当直观。输入一个指令并选择用于处理文件的编码模型,接着选择你想要使用的大型语言模型。
你可以自己用你的文件试一下这个应用(https://github.com/ml-score/ollama)
你可以选择三种文件哦你可以选择一个或多个同一类型的文档。它们将在本地处理,而该应用程序仅用于演示。所以如果你想让它崩溃,那你也确实能做到 :-)
注:原文中的“请记住”在翻译中被省略以使表达更符合口语风格。
- PDF — 文本会被提取。你可以选择将文本拆分成多个部分,并定义重叠部分以确保上下文可以被包含。
- CSV — 默认情况下,它们将以结构化的方式导入。每行视为一个文档。根据经验,模型可以识别并关联多个数据库,你可能需要增加所检索的文档数量。
- 文本 — 文本格式可以非常不规范,你可以将每个文件视为一个文档。这有助于处理日志文件,例如系统日志。
并不是所有东西都需要存入向量数据库。对于CSV文件或数据库时,您可以直接使用SQL,或者让模型生成SQL代码。同样,对于日志文件,您可以使用专门的日志解析工具,或者让模型自动生成正则表达式(也可以让LLM生成正则表达式)。
很明显,由于这是在本地机器上运行,因此性能会有所限制。苹果的M1、M2等处理器表现出色。但这套配置的主要目的是保护你的数据隐私,不把数据传到云上。如果你可以访问像ChatGPT这样的强大语言模型,那么这个小机器可能就比不过了。
但考虑到你并没有使用大量的GPU,而是可能只是你笔记本电脑自带的CPU,Mistral或Llama3的初步成果还是相当令人鼓舞的。
将向量存储库保存到本地
你只需要处理一次文件。结果会存储在本地的SQLite数据库或其他本地文件里。之后只需提供路径,就可以重复利用这些结果。应用程序会读取并利用这些信息。你可以选择每次检索多少文件。检索更多文件虽然能获取更多信息,但也意味着更大的处理负担和开销。
要是在聊天时有问题可以问哦你可以像平常一样在聊天中提问。在演示中,有一个严格的指示,仅使用提供的文件中的信息。但你可以尝试其他方法。你还可以利用大模型本身提供的所有信息,这相当于一个包含所有互联网信息的文件……。此外,聊天还会记住之前发生的事情。看看这种“记忆”能持续多久。
结果将保存为JSON文件结果会被保存在一个名为 JSON 的文件中,这个文件位于向量存储文件夹内,和其他信息一起,比如时间戳、使用的模型,以及关于您的文档的一些元数据,比如名称、页码或行号,这样您以后可以参考这些信息,或者从 JSON 文件中提取所需信息。
答案会存入一个 JSON 文件里,包含元数据和其他相关信息(https://github.com/ml-score/ollama)
你可以尝试让大型语言模型(LLM)例如从日志文件中返回结构化的结果,然后稍后再将这些结果提取到一个常规表格中:
通过Ollama在KNIME Analytics Platform上与本地Llama 3模型聊天——并将日志提取出来…使用低代码工具来集成和交互最新的本地LLMmedium.com安装好必要东西后,就可以开始探索啦。
如何搭建Streamlit应用?您可以在https://github.com/ml-score/ollama找到相关的代码和描述。
- 建议先安装 Python 并创建一个 conda 环境,并在你的 conda 环境中安装需要的包(py_ollama.yml)
- 然后安装 Ollama,并确保已下载所需的模型(目前有 Llama3 和 Mistral (instruct),但你可以根据需要修改代码以添加更多模型)
- 需要一个 嵌入模型(例如 mxbai-embed-large)。你也可以直接使用大型语言模型(LLM),但这会花费更多时间
更多关于如何启动应用的详细信息,请参见此处。
ollama/script at main · ml-score/ollama 在 main 分支上查看 ollama/script。通过在 GitHub 上创建一个账户来参与 ml-score/ollama 的开发,该仓库包括 Ollama 和 Llama 模型相关的工作。作为例子,你可以查看如何将银行对账单中的信息提取到JSON文件中。你可以围绕这一点构建一个循环来,并将这些信息带回KNIME(或其他系统)。
从发票中提取数据到XML或CSV?大家好,我在试着弄清楚KNIME的基本开源版本是否符合我的需求……forum.knime.com如果你想了解更多关于AI和LLM的信息,我可以提供一些关于低代码数据分析平台KNIME和(本地部署的)LLM的文章。KNIME还支持使用类似ChatGPT这样的平台。
- 使用KNIME和GPT4All从PDF创建本地大语言模型(LLM)向量库
https://medium.com/p/311bf61dd20e - KNIME及其AI扩展功能和本地大型语言模型(大语言模型)
https://medium.com/p/cef650fc142b - Llama3和KNIME——从PDF和其他文档构建本地向量库(也支持KNIME 4.8版本)
https://medium.com/p/237eda761c1c - 在KNIME Analytics Platform通过Ollama与本地Llama 3模型聊天——还可以提取日志为结构化的JSON文件(也支持KNIME 4.8版本)
https://medium.com/p/aca61e4a690a
你可以在我KNIME Hub上找到这些用例的相关示例。
mlauber71/LLM_Space: https://hub.knime.com/mlauber71/spaces/LLM_Space/~17k4zAECNryrZw1X/?source=post_page-----c5340fcd6ad0-------------------------------- (包含 11 个项目)如果你想继续使用LLM和KNIME的话,可以看看最新的KNIME Space for Generative AI。
KNIME 用于生成式 AI 的资源 - knimeExplore 这一系列即用工作流程,开始使用大型语言模型 (LLMs)。浏览 hub.knime.com如果你喜欢这篇故事,你可以在 Medium 上关注我(https://medium.com/@mlxl),或者去 KNIME Hub (https://hub.knime.com/mlauber71) 或 KNIME Forum (https://forum.knime.com/u/mlauber71/summary) 上看看我的动态。
这个应用受到了 Paras Madan 在 Medium 上文章的启发——一定要去看看他的文章。
共同学习,写下你的评论
评论加载中...
作者其他优质文章