当前位置: 首页 > news >正文

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

文章目录

  • 说在前面
  • ollama(qwen2.5-coder:7b)
    • 部署模型
    • 使用langchain
  • llama.cpp(deepseek-r1:1.5b)
    • 模型部署
    • 使用langchain

说在前面

  • 操作系统: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部署大模型比较简单,到官网下载安装包后安装
    在这里插入图片描述
  • 根据自己电脑的条件选择合适的模型,比如
    在这里插入图片描述
  • 然后打开命令行,执行
    ollama run qwen2.5-coder
    
  • 然后就可以直接在命令行对话了
    $ ollama run qwen2.5-coder:latest
    >>> 你好
    你好!有什么我可以帮忙的吗?
    
    >>> Send a message (/? for help)
    

使用langchain

  • langchain提供了直接调用ollama api的package,安装后直接使用即可
    pip install langchain-ollama
    
  • 代码环节
    from langchain_ollama import OllamaLLM
    
    ollm = OllamaLLM(model="qwen2.5-coder:latest")
    print(ollm.invoke("你好"))
    
    运行
    (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即可在命令行下进行交互,例如
    ./llama-cli -m DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf
    > 你好
    <think>
    
    </think>
    你好!很高兴见到你,有什么我可以帮忙的吗?无论是聊天、解答问题还是提供建议,我都在这里为你服务。😊
    
  • 如果需要让langchain能够使用,需要部署服务,即使用llama-server
    ./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
    pip install langchain-openai
    
  • 代码环节
    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)
    
    运行
    (venv) PS D:\Code\langchain> python .\main.py
    <think>
    
    </think>
    
    你好!很高兴见到你,有什么我可以帮忙的吗?无论是聊天、解答问题还是提供建议,我都在这里为你服务。😊
    

相关文章:

  • maxkb安装部署
  • 企业的应用系统
  • 第四章 podman桌面版使用及Portainer UI的安装使用
  • maxwell
  • Ubuntu 24.04 Rootless Docker 安装指南
  • 动态参数二维码统计:构建APP渠道追踪体系
  • DeepSeek-R1 面试 -—— GRPO
  • 使用联核科技四向穿梭车能给企业带来哪些效益?
  • LeetCode 第4题:寻找两个正序数组的中位数
  • Linux的chmod命令,给文件设置权限
  • 【Agent实战】货物上架位置推荐助手(RAG方式+结构化prompt(CoT)+API工具结合ChatGPT4o能力Agent项目实践)
  • STC89C52单片机学习——第17节: [7-1]定时器
  • vue中常见面试题(会不断更新版)
  • 深度解读DeepSeek部署使用安全(48页PPT)(文末有下载方式)
  • 鸿蒙移动应用开发--UI组件及应用
  • Unity打包Android平台调用sherpa-onnx
  • 【VUE2】第五期——VueCli创建项目、Vuex多组件共享数据、json-server——模拟服务端api
  • MySQL隐式依赖引发的字段长度溢出:一次触发器事故的深度剖析
  • RK3588 openssl-3.4.1 编译安装
  • esProc SPL vs DuckDB:多源数据处理谁更胜一筹?
  • 网站建设模版 优帮云/网络营销师证书
  • 新建一个公司官网/seo学校
  • 营销网站四大要素/逆冬seo
  • 保定网站建设平台分析/线上推广的方法
  • 国内外贸b2c网站/种子搜索神器
  • 杭州网站建设nuoweb/代运营公司排行榜