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

目录

前言

官网链接

安装

调用ollama模型实现普通会话

实现多轮会话

运行演示

完整的实例代码

结束语


前言

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

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

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

官网链接

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 ChatOllama

llm = 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 | llm

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

结束语

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值