LangChain开发极简大模型应用只需要30行代码

通义千问

先在阿里云百炼的模型广场开通通义千问

创建API key

LangChain调用通义千问

首先安装python包

pip install -qU langchain dashscope

通过langchain代码调用

import os

os.environ["DASHSCOPE_API_KEY"] = ""


from langchain_community.chat_models.tongyi import ChatTongyi

from langchain_core.messages import HumanMessage

chatLLM = ChatTongyi(streaming=True, )

from langchain_core.messages import HumanMessage, SystemMessage

messages = [

SystemMessage(

content=

"你是一个编程专家"),

HumanMessage(

content=

"给我一个学习langchain的建议"

),

]

res = chatLLM.invoke(messages)

print(res)

解析结果

模型返回的数据是结构化数据,通过StrOutputParser可以解析其中的文本

from langchain_core.output_parsers import StrOutputParser

parser = StrOutputParser()

parser.invoke(res)

提示词模版

使用提示词模版Prompt Templates可以避免每次调用都需要输入提示词

将上面的问题改成提示词模版

from langchain_core.prompts import ChatPromptTemplate

system_template = "你是一个{speciality}专家:"

prompt_template = ChatPromptTemplate.from_messages(

[("system", system_template), ("user", "{text}")]

)

通过管道将提示词,大模型,结果解析器联合起来调用

chain = prompt_template | chatLLM | parser

chain.invoke({"speciality": "编程", "text": "如何学习python"})

REST API

把开发的应用以rest api形式发布

先安装langServe

pip install langserve

使用FastAPI

from fastapi import FastAPI

from langserve import add_routes

app = FastAPI(

title="LangChain Server",

version="1.0",

description="A simple API server using LangChain's Runnable interfaces",

)


add_routes(

app,

chain,

path="/chain",

)


if __name__ == "__main__":

import uvicorn


uvicorn.run(app, host="localhost", port=8000)

将上述所有代码写入serve.py,执行python serve.py

Client

客户调用采用RemoteRunnable


 

from langserve import RemoteRunnable


remote_chain = RemoteRunnable("http://localhost:8000/chain/")

remote_chain.invoke({"speciality": "编程", "text": "C语言"})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值