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

Langchain从零开始到应用落地案例[AI智能助手]【1】---调用ollama模型实现简单循环会话

目录

前言

官网链接

安装

调用ollama模型实现普通会话

实现多轮会话

运行演示

完整的实例代码

结束语


前言

本系列将会记录我学习Langchain入门到实际应用落地实现。借助本地的ollama部署的模型结合Langchain的框架直至实现企业级应用的初版实现。

本系列将会借助ollama,如果没有的话可以移步到该链接文章进行学习:

AI智能体(Agent)大模型入门【4】--下载训练好的大模型部署到本地上_ollama本地部署大模型下载到本地-CSDN博客

官网链接

ollama官网:https://ollama.com/,部署本地模型,不花钱调用大模型

Langchain官方参考示例文档:https://docs.langchain.com/

安装

环境需求:python3.9+

注:一下环境最好开启网络代理来访问外网,防止出现无法下载和使用的情况

这里由于从零开始,将会教学如何输入控制台命令进行环境下载

关于指令都是在这个地方输入

安装langchain软件包

pip install langchain

安装支持langchian的环境包

pip install langchain-core

安装langchian支持ollama模型加载环境

pip install -U langchain-ollama

到这里基本的环境就安装完成了。

调用ollama模型实现普通会话

官方模型设置

from langchain_ollama import ChatOllamallm = ChatOllama(model="gpt-oss:20b", #这里填写你本地拥有的模型名称validate_model_on_init=True,temperature=0.8,num_predict=256,# other params ...
)

但是这里优化掉,优化为以下编写

llm = ChatOllama(model="gpt-oss:20b", #填写为本地模型的名称url="http://localhost:11434", #地址写这个validate_model_on_init=True,options={"thinking":False}, #关闭思考模式temperature=0.8,
)

那么接下来就可以会话了

messages = [("system","你是一个问答助手,用户和你进行对话,你需要根据用户的问题给出一个回答。",),("human", "你好,请问你能帮助我嘛"),
]
ai_msg = llm.invoke(messages)print(ai_msg.content)

system设定模型角色,而human就是用户输入的问题

实现多轮会话

需要将message删除掉

重新编写promt编写,改成用户输入问题

prompt = ChatPromptTemplate.from_messages([("system", "你是一个问答助手,用户和你进行对话,你需要根据用户问题给出一个回答。"),("human", "{question}"),]
)

然后再构建聊天模型

# 构建聊天模型
chat_model = prompt | llm

最后创建循环体,实现多轮会话操作

while True:question = input("请输入问题:")response = chat_model.invoke(question)print(response.content)if question == "exit":break

到这里基本上也就构建完成了。

那么来看运行演示吧

运行演示

完整的实例代码

llm = ChatOllama(model="gpt-oss:20b",url="http://localhost:11434",validate_model_on_init=True,options={"thinking":False},temperature=0.8,
)prompt = ChatPromptTemplate.from_messages([("system", "你是一个问答助手,用户和你进行对话,你需要根据用户问题给出一个回答。"),("human", "{question}"),]
)# 构建聊天模型
chat_model = prompt | llmwhile True:question = input("请输入问题:")response = chat_model.invoke(question)print(response.content)if question == "exit":break

结束语

到这里相信应该了解langchain的基本构建了,接下来就需要在这些方面去扩建构建,同时我也在学习,如果有错可以指出,或者有疑问我们一起探讨和查询相关问题

http://www.dtcms.com/a/517572.html

相关文章:

  • 【架构】MVP 对比 MVVM
  • 建立网站的基本流程有哪些步骤给wordpress添加小图标
  • Springboot——整合Aspose实现table的字段填充与表格复制
  • 产品展示型网站赏析河南网站建设电话
  • 国外免费搭建网站源码企业网站建设策划书 前言
  • 【网络代理相关知识】
  • 美股及墨西哥股票数据接口文档
  • 做电销哪些网站可以找到客户做网站的北京
  • 网站描述修改做h5那个网站好
  • 什么公司时候做网站厦门编程培训机构
  • 建设网站 买了域名还要什么网站权重分为几个等级
  • 操作系统 进程(3)进程调度算法
  • 建筑设计自学网站做一个平台网站要多少钱
  • 专门做单页的网站把网站制作成app
  • 电子商务网站建设实践报告摘要如何做查询网站
  • HX711电子秤模块详解(STM32)
  • 成都高速公路网站建设招标消防工程师证怎么考
  • 白山北京网站建设大连甘井子区教育公共服务平台
  • SpringBoot考勤管理系统
  • 公司网站站群是什么为什么要建设就业指导网站
  • 用cosyvoice批量把生成有声书
  • 三门峡企业网站建设公司全球最大的c2c平台
  • AAAI 2025 | 即插即用,川大Mesorch刷新SOTA,用「介观」Transformer架构终结图像造假
  • 【2025最新】ArcGIS for JS 实现随着时间变化而变化的热力图
  • 滨州市建设局网站手机网站全屏代码
  • 创业先做网站德清淘宝网站建设
  • 数据结构10:树和二叉树
  • 手机网站进不去怎么办自己建网站有什么好处
  • 高端建站什么意思wordpress 识别pc手机版
  • 从零开始:设计你第一款游戏的“法则”