ollama+langchain构建数据查询问答的三种方式

目录

一、需求说明

二、本地大模型部署

1.LM studio和Ollama

 2. Ollama的安装

2.1.官网注册和下载

2.2.模型查看和选择

 2.3.模型安装

2.4.常用命令

2.5.测试脚本

三、三种方式数据查询问答实现

1.依赖包的安装

2.数据表准备

3.三种数据查询问答方式

3.1.SQLDatabaseChain

3.2.SQLDatabaseToolkit

3.3.agent_toolkits.pandas

四、cpolar+ollama远程调用

五、总结与思考

六、参考资源


一、需求说明

1.搭建轻量级的本地大模型环境,用于智能体的开发和测试使用。

2.进行数据查询问答来验证环境可用。

3.当使用远程环境时,实现大模型api调用。

二、本地大模型部署

1.LM studio和Ollama

本地大模型的轻量化部署,可以考虑使用LM studio和Ollama。先说结论,我选择Ollama,主要是考虑到其轻量化、开源、模型丰富且下载速度极快、资源占用低等优秀特性。

当然,按照惯例,我们还是用kimi分析一下两者的优劣势,大家按需自取。

LM Studio 和 Ollama 都是用于部署和运行大型语言模型(LLM)的工具,它们各有特点和优势。

LM Studio 是一个开源、用户友好的平台,它提供了图形用户界面(GUI)和命令行界面(CLI),使得即使是非技术人员也能轻松地部署和使用大型语言模型。它支持本地运行LLMs,允许用户在没有互联网连接的情况下,在本地设备上运行模型。LM Studio 还支持从平台如 Hugging Face 下载兼容的模型文件,并提供了一个应用内Chat UI,使用户能够与AI模型进行交互。此外,LM Studio 还支持多模型同时运行,并通过“Playground”模式增强性能和输出。

Ollama 则是一个更注重命令行操作的工具,它提供了一个简洁易用的命令行界面和服务器,用户可以通过简单的命令来下载、运行和管理各种开源LLM。Ollama 的优势在于其开源免费、简单易用、模型丰富以及资源占用低。它支持多种模型,如Llama 3、Mistral、Qwen2等,并提供一键下载和切换功能。Ollama 还支持在Docker环境中运行,这为用户提供了更多的灵活性和便利性。

总的来说,如果你更喜欢图形化操作界面,希望有一个直观且易于上手的工具,LM Studio 可能是更好的选择。而如果你更倾向于使用命令行,或者需要一个轻量级且资源占用低的工具,Ollama 可能更适合你的需求。两者都为用户提供了探索和利用大型语言模型的可能性,具体选择哪个工具,可以根据个人的使用习惯和需求来决定。

 2. Ollama的安装
2.1.官网注册和下载

Ollama

安装就此略过,github上有具体指南:

https://github.com/ollama/ollama

2.2.模型查看和选择

方式一:用户可以自行搜索查看

方式二:在github的模型清单查看

https://github.com/ollama/ollama/tree/main,查看Model library 样例。

注意:

1.您应该至少有 8 GB 的 RAM 来运行 7B 型号,16 GB 的 RAM 来运行 13B 型号,32 GB 的 RAM 来运行 33B 型号。

2.如何查看模型的大小。

 2.3.模型安装

打开终端,运行命令即可。贴心的Ollama,连字都舍不得你敲,一键复制,简直是喂饭到嘴里。

### 构建本地知识库问答系统的概述 为了实现在个人电脑上基于LangChainOllama构建本地知识库问答系统的目标,整个流程可以分为几个主要部分:环境配置、数据收集与预处理、模型加载以及应用开发。 #### 环境配置 确保安装必要的软件包和支持工具。对于Python项目来说,创建虚拟环境是一个良好的开端。接着,通过pip或其他方式安装所需的依赖项,比如`langchain`和`ollama`等特定版本的库[^1]。 ```bash python -m venv myenv source myenv/bin/activate # Linux/MacOS myenv\Scripts\activate # Windows pip install langchain ollama ``` #### 数据收集与预处理 针对目标领域搜集相关文档资料作为训练集的一部分。这些材料可能来自内部文件、公开资源或是其他合法渠道获取的信息。之后,需对原始文本做清洗工作,去除噪声并转换成适合输入给大模型的形式[^2]。 #### 加载预训练的大规模语言模型 借助于Ollama提供的API接口,在本地环境中加载已有的大规模预训练语言模型实例。这一步骤允许开发者快速启动原型测试而无需自行训练复杂的神经网络结构。 ```python from ollama import load_model model = load_model('path_to_pretrained_ollama') ``` #### 应用程序逻辑设计 最后一步涉及编写具体的应用层代码来连接上述组件。这里将以简单的命令行界面为例展示如何集成LangChain框架中的检索增强生成(Retrieval-Augmented Generation, RAG)技术到最终产品中去。 ```python import langchain as lc def answer_question(question): docs = lc.search_documents(question) # 使用LangChain搜索最相关的文档片段 context = " ".join([doc.content for doc in docs]) prompt = f"Given the following context:\n{context}\nAnswer this question: {question}" response = model.generate(prompt=prompt) return response.generated_text.strip() ``` 以上就是使用LangChainOllama构建本地知识库问答系统的简要介绍。此方案不仅能让用户深入了解大型语言模型的实际应用场景,还能帮助掌握更多关于自然语言处理的知识和技术细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩哥Up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值