langchain官方链接:https://github.com/langchain-ai/langchain/tree/master/templates
其他相关链接:
https://python.langchain.com/docs/templates
https://templates.langchain.com/
Langchain模板,提供一系列的易于部署的参考架构,为开发者提供了轻松快速构建大模型应用的能力,任何人都可以使用,方便快速开发和投入生产。是一种创建、共享、维护、下载和自定义链和代理的方法。Langchain模板是一组端到端的模板,用于创建不同类型的应用程序,使用同一的格式,便于使用LangServe部署。也可以发布,其他项目或者开发者可以重用成果。
关键字:模板 脚手架 方便抄作业搬砖
LangChainTemplates的动机:这些模板可以是链式或者代理式,并代表全功能的上下文感知推理的应用程序。
使用:创建一个项目,其中包含一个链文件夹,然后将templates下载到该应用程序项目中。可以轻松检查和修改链,然后使用langserve部署整个项目。
接下来将介绍一个LangChainTemplates的简单应用,本文以pirate-speak 海盗口音为例子。
案例链接:https://github.com/langchain-ai/langchain/tree/master/templates/pirate-speak
这个案例的功能是:将输入文本转换为海盗口语输出。
以下为安装代码,在Anaconda中为安装环境:
(base) C:\Windows\System32>conda info --envs
(base) C:\Windows\System32>conda activate gpt-researcher
(gpt-researcher) C:\Windows\System32>E:
(gpt-researcher) E:\>cd \Text-to-sql\git\pergit_wangning\code\LLM
(gpt-researcher) E:\Text-to-sql\git\pergit_wangning\code\LLM>langchain app new app-sot --package skeleton-of-thought
(gpt-researcher) E:\Text-to-sql\git\pergit_wangning\code\LLM>cd app-sot
# 修改 app/server.py 文件
# from pirate_speak.chain import chain as pirate_speak_chain
# add_routes(app, pirate_speak_chain, path="/pirate-speak")
# 修改完成运行程序:
(gpt-researcher) E:\Text-to-sql\git\pergit_wangning\code\LLM\app-sot>langchain serve
运行成功,显示:
访问:http://127.0.0.1:8000/pirate-speak/playground/
如下显示:
这只是其中一个模板案例,其他的可自行测试
LangChainTemplates提供了一系列模板供我们使用,为了方便,开发时也可以直接引用,以刚刚的项目为案例。
代码结构如下所示:
packages中为pirate-speak代码,project为项目代码:
查看pirate-speak核心代码为:
# if you update this, you MUST also update ../pyproject.toml
# with the new `tool.langserve.export_attr`
chain = _prompt | _model
本质为一个成熟的chain,所以在自己代码中可以直接调用。
以下是代码调用案例:
# Auther : auserwn
# -*- codeing = utf-8 -*-
# @Time : 2024/1/5 18:01
# @Auther : auser
# @file : .py
# @software : PyCharm
from pirate_speak.chain import chain as pirate_speak_chain
question="你好"
output = pirate_speak_chain.invoke({"text": question})
print(output)
显示输出:
D:\Anaconda\envs\llm\python.exe E:/Text-to-sql/git/pergit_wangning/code/LLM2/my-app/project/apply_ps.py
content='嘿嘿,喂喂!'
进程已结束,退出代码0
其他案例慢慢探索。LangChainTemplates对环境要求太恶心了,建议使用conda新建一个环境研究成熟再使用。