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

使用langchain连接llama.cpp部署的本地deepseek大模型开发简单的LLM应用

langchain是一个基于python实现的开源LLM开发框架,llama.cpp是一个基于C++框架可以在本地部署大模型并开放服务端接口开放给外部应用使用。

本文结合langchain和llama.cpp,在本地部署轻量级的deepseek大模型,并构建一个简单的链式LLM应用,实现输入问题、回答问题、解析文本。

llama.cpp部署大模型

在huggingface或者modelscope下载模型文件,要求是gguf格式,支持llama.cpp本地加载,这里下载的是一个小尺寸的deepseek模型DeepSeek-R1-Distill-Qwen-1.5B-Q2_K.gguf,放在本地model文件夹。

在github下载对应自己操作系统的llama.cpp的预编译版本包,解压后带有bin目录,在里面找到llama-server命令行程序。
请添加图片描述

执行命令行启动模型服务:

./llama-server -m path/to/model/DeepSeek-R1-Distill-Qwen-1.5B-Q2_K.gguf

启动成功后,llama.cpp加载的deepseek大模型服务默认监听在8080端口,可以打开网页http://localhost:8080/进行聊天验证。
请添加图片描述

langchain编写LLM应用

在python里安装依赖包:

pip install langchain
pip install langchain-openai

因为llama.cpp大模型服务对外开放了OpenAI风格的api,此处可以使用OpenAI的接口连接本地大模型服务进行交互

代码

from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.output_parsers import StrOutputParser# connect remote llama.cpp model server to init model
model = ChatOpenAI(model="my_model", base_url="http://127.0.0.1:8080/v1", api_key="EMPTY")
model# create parser and make a chain
parser = StrOutputParser()
chain = model | parser
chain# input message
messages = [HumanMessage(content="北京的旅游景点有哪些")
]
messages# use chain to generate result
response = chain.invoke(messages)
print(response)

输出

<think>
嗯,用户问北京的旅游景点有哪些。首先,我得回想一下北京有哪些著名的旅游景点。我记得有大兴门、天安门、人民公园这些,不过可能还有其他景点,比如天安门、八达门、天山、四合院什么的。然后,我还需要考虑一些比较小的景点,比如小汤圆的地点,或者一些特色景点。接下来,我需要列出这些景点并给出一些推荐。比如大兴门适合喜欢自然风光和历史的游客,天安门适合喜欢历史和文化的人,人民公园适合喜欢休闲的游客。小汤圆、古街巷这些可能会吸引喜欢美食的游客,还有小山公园、和平公园这些适合喜欢自然和历史的游客。然后,我还需要考虑用户的需求,可能他们想去旅游,喜欢自然、历史、美食,或者喜欢休闲。因此,我需要针对不同的用户需求提供不同的建议。例如,喜欢自然的游客,可以选择大兴门和天山;喜欢历史的游客,可以选择八达门;喜欢美食的游客,推荐小汤圆;喜欢休闲的游客,可以选择人民公园。最后,我需要整理这些信息,确保涵盖各个方面,并给出详细的建议,让用户可以根据自己的需求选择合适的景点。
</think>北京的旅游景点众多,涵盖了自然、历史、美食、休闲等多种体验。以下是一些常见的旅游景点推荐:1. **大兴门**:位于北京市 central, 是北京市区的主要景点,适合喜欢自然风光、历史文化和环境的游客。2. **天安门**:位于北京市 capital, 是北京市的主要景点,适合喜欢历史、文化、自然和休闲的游客。3. **人民公园**:位于北京市 capital, 是北京市的主要景点,适合喜欢休闲、自然和历史的游客。4. **八达门**:位于北京市 capital, 是北京的标志性景点,适合喜欢历史、自然和休闲的游客。5. **小汤圆**:位于小汤圆的遗址遗址,适合喜欢美食的游客。6. **古街巷**:包括古街和古巷,是北京历史景点,适合喜欢历史、自然和休闲的游客。7. **小山公园**:位于小山,是北京市的著名景点,适合喜欢自然、历史和休闲的游客。8. **和平公园**:位于北京市 capital, 是北京市的著名景点,适合喜欢自然、历史和休闲的游客。9. **小山公园**:位于小山,是北京市的著名景点,适合喜欢自然、历史和休闲的游客。10. **四合院**:位于四合院,是北京的著名景点,适合喜欢历史和自然的游客。11. **天山**:位于天山,是北京的著名景点,适合喜欢自然和历史的游客。12. **小汤圆**:位于小汤圆的遗址遗址,适合喜欢美食的游客。13. **古街巷**:包括古街和古巷,是北京历史景点,适合喜欢历史、自然和休闲的游客。14. **小汤圆**:位于小汤圆的遗址遗址,适合喜欢美食的游客。15. **古街巷**:包括古街和古巷,是北京历史景点,适合喜欢历史、自然和休闲的游客。

可以看到结合langchain和llama.cpp构建出了一个链式LLM应用,根据指定的输入和流程,经过大模型的智能问答结果解析文本生成输出。(请忽略小尺寸智障AI的回答结果,只是为了演示)

http://www.lryc.cn/news/583768.html

相关文章:

  • 在mac m1基于llama.cpp运行deepseek
  • 毫米波雷达守护银发安全:七彩喜跌倒检测仪重构居家养老防线
  • Uni-app 生命周期与钩子:程序的“生命”旅程
  • 力扣 hot100 Day40
  • Datawhale AI 夏令营:基于带货视频评论的用户洞察挑战赛 Notebook(上篇)
  • 大模型 Agent(智能体)技术简介
  • 配置rsync定时同步
  • Spring AI 系列之七 - MCP Client
  • 广告匹配策略的智能化之路:人工智能大模型的方法和步骤
  • 【JMeter】跨线程组传递参数
  • mac m1芯片 安装pd及win10系统
  • 智能体的记忆系统:短期记忆、长期记忆与知识图谱
  • 水陆联防智能升级:AI入侵检测系统守护零死角安全
  • 使用Docker将Python项目部署到云端的完整指南
  • Qt cannot find C:\WINDOWS\TEMP\cctVBBgu: Invalid argument
  • ROS1学习第二弹
  • @Data是什么?
  • 打破技术债困境:从“保持现状”到成为变革的推动者
  • 【保姆级喂饭教程】GitLab创建用户规范,分支开发规范,提交日志规范
  • 【基于大模型 + FAISS 的本地知识库与智能 PPT 生成系统:从架构到实现】
  • 【TCP/IP】1. 概述
  • 静态路由实验(2)
  • Linux Vim 编辑器详解:从入门到进阶(含图示+插件推荐)
  • 【Pandas】pandas DataFrame from_dict
  • 「Java案例」输出最大的数及其出现的次数
  • 智能体决策机制深度剖析:ReAct、Plan-and-Execute与自适应策略
  • 灰度发布策略制定方案时可以参考的几个维度
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(四十二) -> 动态修改编译配置
  • C语言 | 函数核心机制深度解构:从底层架构到工程化实践
  • SQL的初步学习(一)(以MySQL为例)