热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > 手游攻略 >Ollama 在 LangChain 中的使用 - Python 集成

Ollama 在 LangChain 中的使用 - Python 集成

来源:互联网 更新时间:2025-03-18 15:29

Ollama 与 LangChain 集成:构建强大的本地 AI 应用

本文档介绍如何结合开源大语言模型部署工具 ollama 和 ai 应用构建框架 langchain,在本地环境快速部署和使用先进的 ai 模型。 文档包含核心代码片段和详细解释,完整代码可在 [jupyter notebook](此处应插入jupyter notebook链接) 中找到。(注意:部分内容具有时效性,请以最新信息为准。)

1. 环境配置

1.1 Conda 环境设置

建议使用 Conda 创建虚拟环境:

conda create -n handlm python=3.10 -yconda activate handlmpip install jupyterpython -m ipykernel install --user --name=handlm登录后复制

重启 Jupyter 并选择 handlm 内核。

立即学习“Python免费学习笔记(深入)”;

(可选) 使用全局环境: 如不使用 Conda,可直接在全局 Python 环境中安装依赖。

1.2 安装依赖包

使用 pip 安装必要的库:

pip install langchain-ollama langchain langchain-community Pillow faiss-cpu登录后复制

2. 模型下载与初始化

2.1 下载 llama3.1 模型

  1. 下载并安装 Ollama (https://www.php.cn/link/2575c857df983996d49550f3e924755f).
  2. 查看可用模型 (https://www.php.cn/link/2575c857df983996d49550f3e924755f).
  3. 使用 ollama pull llama3.1 下载 llama3.1 模型。

模型存储路径:

  • macOS: ~/.ollama/models/
  • Linux/WSL: /usr/share/ollama/.ollama/models
  • Windows: C:UsersAdministrator.ollamamodels

3. 核心功能示例

3.1 基于 ChatPromptTemplate 的对话

使用 ChatPromptTemplate 创建可重用的对话模板:

from langchain.prompts import ChatPromptTemplatefrom langchain_ollama import ChatOllamatemplate = ”“”你是一个乐于助人的AI助手,擅长回答各种问题。问题:{question}“”“prompt = ChatPromptTemplate.from_template(template)model = ChatOllama(model=”llama3.1“, temperature=0.7)chain = prompt | modelchain.invoke({”question“: ”你比 GPT-4 强大吗?“})登录后复制

3.2 流式输出

使用 model.stream() 实现流式输出,提升用户体验:

model = ChatOllama(model=”llama3.1“, temperature=0.7)messages = [(”human“, ”你好呀“)]for chunk in model.stream(messages): print(chunk.content, end=”“, flush=True)登录后复制

3.3 工具调用

通过 bind_tools 将自定义函数与模型集成:

def simple_calculator(operation: str, x: float, y: float) -> float: # ... 计算逻辑 ... passllm = ChatOllama(model=”llama3.1“, temperature=0).bind_tools([simple_calculator])result = llm.invoke(”你知道一千万乘以二等于多少吗?“)登录后复制

3.4 多模态模型 (以 llava 为例)

下载多模态模型 (ollama pull llava),并使用图像和文本输入:

from langchain_ollama import ChatOllama# ... (图像预处理代码) ...llm = ChatOllama(model=”llava“, temperature=0)# ... (多模态提示函数和链式处理代码) ...登录后复制

4. 进阶用法

4.1 ConversationChain 用于多轮对话

使用 ConversationChain 管理多轮对话上下文:

from langchain.memory import ConversationBufferMemoryfrom langchain.chains import ConversationChainmemory = ConversationBufferMemory()conversation = ConversationChain(llm=model, memory=memory, verbose=True)# ... (多轮对话代码) ...登录后复制

4.2 自定义提示模板

创建更复杂的提示模板以满足特定需求:

# ... (自定义提示模板代码) ...登录后复制

4.3 构建简单的 RAG 问答系统

下载 embedding 模型 (ollama pull nomic-embed-text),构建 RAG 系统:

# ... (RAG 系统代码,包含文本分割、向量化、检索和问答链构建) ...登录后复制

5. 总结

本文档展示了如何利用 Ollama 和 LangChain 构建各种 AI 应用。 通过选择合适的模型和组件,您可以构建满足特定需求的 AI 系统。 希望本指南能帮助您开始 AI 开发之旅。

热门手游

相关攻略

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc