【langchain/入门】使用langchain调用本地部署的大模型(以llama.cpp以及ollama为例)

文章目录

说在前面

  • 操作系统:windows
  • python版本:3.9
  • langchain版本:0.3.20
  • pycharm版本:2023.1.2 (Community Edition)
  • ollama版本:0.5.4
  • llama.cpp版本:b4870

ollama(qwen2.5-coder:7b)

部署模型

  • ollama部署大模型比较简单,到官网下载安装包后安装

  • 根据自己电脑的条件选择合适的模型,比如

  • 然后打开命令行,执行

    shell 复制代码
    ollama run qwen2.5-coder
  • 然后就可以直接在命令行对话了

    shell 复制代码
    $ ollama run qwen2.5-coder:latest
    >>> 你好
    你好!有什么我可以帮忙的吗?
    
    >>> Send a message (/? for help)

使用langchain

  • langchain提供了直接调用ollama api的package,安装后直接使用即可

    shell 复制代码
    pip install langchain-ollama
  • 代码环节

    shell 复制代码
    from langchain_ollama import OllamaLLM
    
    ollm = OllamaLLM(model="qwen2.5-coder:latest")
    print(ollm.invoke("你好"))

    运行

    shell 复制代码
    (venv) PS D:\Code\langchain> python .\main.py
    你好!有什么我可以帮忙的吗?

llama.cpp(deepseek-r1:1.5b)

模型部署

  • 算力不足,搞个1.5b测试吧

  • llama.cpp部署也挺简单的,到github选择合适的版本

  • x64-windows-nvdia gpu
    下载cudart-llama-bin-win-cuxx.x-x64.zip以及llama-b4870-bin-win-cuda-cuxx.x-x64.zip,其中cudart是cuda相关的依赖,解压后将里面的文件放到llama...zip解压后的同级目录即可
    例如

  • mac-m4
    下载llama-b4870-bin-macos-arm64.zip解压即可

  • 使用llama-client即可在命令行下进行交互,例如

    shell 复制代码
    ./llama-cli -m DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf
    > 你好
    <think>
    
    </think>
    你好!很高兴见到你,有什么我可以帮忙的吗?无论是聊天、解答问题还是提供建议,我都在这里为你服务。😊
  • 如果需要让langchain能够使用,需要部署服务,即使用llama-server

    shell 复制代码
    ./llama-sever -m DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf --port 50052 --host 0.0.0.0 -c 2048

使用langchain

  • llama.cpp部署的服务使用的API格式是与openai兼容的,所以在langchain中,我们可以使用openai对应的package

    shell 复制代码
    pip install langchain-openai
  • 代码环节

    python 复制代码
    from langchain_openai import ChatOpenAI
    
    llm = ChatOpenAI(max_tokens=None,
                     timeout=None,
                     openai_api_base="http://127.0.0.1:50052",
                     openai_api_key="none")
    # openai_api_base 就是llama-server 部署时监听的地址
    # openai_api_key 必须要填 随便填就行 不能为 ""
    print(llm.invoke("你好").content)

    运行

    shell 复制代码
    (venv) PS D:\Code\langchain> python .\main.py
    <think>
    
    </think>
    
    你好!很高兴见到你,有什么我可以帮忙的吗?无论是聊天、解答问题还是提供建议,我都在这里为你服务。😊
相关推荐
AganTee10 分钟前
deepseek 电脑端怎么下载?网页版与本地部署教程
ai·deepseek
脚踏实地的大梦想家38 分钟前
【LangChain】P2 LangChain宏观架构深度解析:构建企业级大模型应用的首选框架
架构·langchain
胡耀超20 小时前
开源生态与技术民主化 - 从LLaMA到DeepSeek的开源革命(LLaMA、DeepSeek-V3、Mistral 7B)
人工智能·python·神经网络·开源·大模型·llama·deepseek
工藤学编程1 天前
零基础学AI大模型之LangChain六大核心模块与大模型IO交互链路
人工智能·langchain·交互
lihuayong1 天前
从“链”到“图”:LangGraph如何终结LangChain的线性智能体
人工智能·langchain·langgraph
大模型铲屎官1 天前
【LangChain 核心组件指南 | Agent篇】从零到精通:深度解析 create_agent 与 ReAct 智能体构建
人工智能·python·深度学习·langchain·大模型·agent·react智能体
玲小珑1 天前
LangChain.js 完全开发手册(十二)高性能 AI 应用优化技术
前端·langchain·ai编程
ObjectX前端实验室2 天前
LLM的生态与能力边界&一个基本对话的实现
前端·langchain·llm
Lethehong2 天前
DeepSeek-V3.1-Terminus:蓝耘API+CherryStudio实测国产最新开源模型,推理能力竟让我后背发凉
人工智能·大模型·deepseek·蓝耘元生代·蓝耘maas·ai ping
大模型真好玩2 天前
深入浅出LangGraph AI Agent智能体开发教程(八)—LangGraph底层API实现ReACT智能体
人工智能·agent·deepseek