基于LangChain的RAG开发-01-简单的LLM应用样例
简单LLM应用概述
简单的LLM应用,是以大语言模型为基础,通过添加提示词、输出、知识库等工具或组件,构成完成一系列任务的应用。
模型
通过api_key、base_url等参数,配置并初始化模型参数
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
load_dotenv()
api_key = os.getenv("api_key")
api_url = os.getenv("base_url")
# 加载模型
model = ChatOpenAI(model='deepseek-chat', base_url=api_url, api_key=api_key)
如果是本地模型或其他模型,可根据模型对应的操作手册进行配置
提示词模板
提示词是由用户输入和应用逻辑的组合构建而成的。这个应用逻辑通常会将原始用户输入转换为准备传递给语言模型的消息列表。常见的转换包括添加系统消息或使用用户输入格式化模板。
from langchain_core.prompts import ChatPromptTemplate
# 设置提示词模板
systemTemplate = '你是一位翻译专家,请将以下文本翻译为{language}'
promptTemplate = ChatPromptTemplate.from_messages([
('system', systemTemplate),
('user', '{text}')
])
输出解析器
模型的响应是一个AIMessage。这包含一个字符串响应以及关于响应的其他元数据。我们通常可能只想处理字符串响应。我们可以通过使用简单的输出解析器来解析出这个响应。
from langchain_core.output_parsers import StrOutputParser
# 设置输出格式
outputParser = StrOutputParser()
使用LangChain表达式(LCEL)
可以使用管道|操作符将其与上面的提示词模板、模型和输出解析器结合起来
# 设置链
chain = promptTemplate | model | outputParser
chain.invoke({"language": "中文","text":"你好,我是杰克"})

浙公网安备 33010602011771号