网站开发盈亏平衡分析表,如何从网站获取图片做全景图,石家庄百度快速排名优化,学做立体书的网站LangChain系列文章
LangChain 实现给动物取名字#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储#xff0c;读取YouTube的视频文本搜索I…LangChain系列文章
LangChain 实现给动物取名字LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储读取YouTube的视频文本搜索Indexes for information retrieveLangChain 5易速鲜花内部问答系统LangChain 6根据图片生成推广文案HuggingFace中的image-caption模型LangChain 7 文本模型TextLangChain和聊天模型ChatLangChainLangChain 8 模型Model I/O输入提示、调用模型、解析输出LangChain 9 模型Model I/O 聊天提示词ChatPromptTemplate, 少量样本提示词FewShotPromptLangChain 10思维链Chain of Thought一步一步的思考 think step by stepLangChain 11实现思维树Implementing the Tree of Thoughts in LangChain’s ChainLangChain 12调用模型HuggingFace中的Llama2和Google Flan t5LangChain 13输出解析Output Parsers 自动修复解析器LangChain 14 SequencialChain链接不同的组件LangChain 15根据问题自动路由Router Chain确定用户的意图LangChain 16 通过Memory记住历史对话的内容LangChain 17 LangSmith调试、测试、评估和监视基于任何LLM框架构建的链和智能代理LangChain 18 LangSmith监控评估Agent并创建对应的数据库LangChain 19 Agents ReasonAction自定义agent处理OpenAI的计算缺陷LangChain 20 Agents调用google搜索API搜索市场价格 Reason Action在语言模型中协同推理和行动LangChain 21 Agents自问自答与搜索 Self-ask with searchLangChain 22 LangServe用于一键部署LangChain应用程序LangChain 23 Agents中的Tools用于增强和扩展智能代理agent的功能LangChain 24 对本地文档的搜索RAG检索增强生成Retrieval-augmented generationLangChain 25: SQL Agent通过自然语言查询数据库sqliteLangChain 26: 回调函数callbacks打印prompt verbose调用LangChain 27 AI Agents角色扮演多轮对话解决问题CAMELLangChain 28 BabyAGI编写旧金山的天气预报LangChain 29 调试Debugging 详细信息verboseLangChain 30 ChatGPT LLM将字符串作为输入并返回字符串Chat Model将消息列表作为输入并返回消息 Prompt templates 提示词模板
大多数LLM应用程序不会直接将用户输入传递给LLM。通常它们会将用户输入添加到一个更大的文本片段中称为提示模板该模板提供有关特定任务的附加上下文。
在前面的示例中我们传递给模型的文本包含生成公司名称的说明。对于我们的应用程序如果用户只需提供公司/产品的描述而不必担心给模型提供说明那将是很好的。
PromptTemplates正是为此而设计的它们捆绑了从用户输入到完全格式化提示的所有逻辑。这可以非常简单地开始-例如用于生成上述字符串的提示只是
from langchain.prompts import PromptTemplateprompt PromptTemplate.from_template(制造{product}的公司取什么好名字)
prompt.format(product彩色袜子)制造彩色袜子的公司取什么好名字然而使用这些而不是原始字符串格式化的优势有几个。你可以“部分”地提取变量 - 例如你可以一次只格式化一些变量。你可以将它们组合在一起轻松地将不同的模板组合成单个提示。有关这些功能的详细说明请参阅有关提示的部分。
PromptTemplates 也可以用于生成消息列表。在这种情况下提示不仅包含有关内容的信息还包含每条消息其角色其在列表中的位置等的信息。在这里最常见的情况是 ChatPromptTemplate 是 ChatMessageTemplates 的列表。每个 ChatMessageTemplate 包含有关如何格式化该 ChatMessage 的说明 - 其角色以及其内容。让我们在下面看一下
# 导入Langchain库中的OpenAI模块该模块提供了与OpenAI语言模型交互的功能
from langchain.llms import OpenAI # 导入Langchain库中的PromptTemplate模块用于创建和管理提示模板
from langchain.prompts import PromptTemplate # 导入Langchain库中的LLMChain模块它允许构建基于大型语言模型的处理链
from langchain.chains import LLMChain # 导入dotenv库用于从.env文件加载环境变量这对于管理敏感数据如API密钥很有用
from dotenv import load_dotenv # 导入Langchain库中的ChatOpenAI类用于创建和管理OpenAI聊天模型的实例。
from langchain.chat_models import ChatOpenAI# 调用dotenv库的load_dotenv函数来加载.env文件中的环境变量。
# 这通常用于管理敏感数据如API密钥。
load_dotenv() # 创建一个ChatOpenAI实例配置它使用gpt-3.5-turbo模型
# 设定温度参数为0.7控制创造性的随机性和最大令牌数为60限制响应长度。
chat ChatOpenAI(modelgpt-3.5-turbo,temperature0.7,max_tokens120
)
# 导入Langchain库中的模板类用于创建聊天式的提示。
from langchain.prompts import (ChatPromptTemplate,SystemMessagePromptTemplate,HumanMessagePromptTemplate
)template 你是一个很有帮助的助手可以进行翻译语言从 {input_language} 到 {output_language}.
human_template {text}chat_prompt ChatPromptTemplate.from_messages([(system, template),(human, human_template),
])prompt chat_prompt.format_messages(input_languageEnglish, output_languageChinese, textI love programming.)
print(prompt , prompt)# 使用chat函数需要事先定义发送生成的提示获取结果。
result chat(prompt)# 打印聊天结果。
print(result , result)[zgpeacezgpeaces-MacBook-Pro langchain-llm-app (develop ✗)]$ python Basic/chat_llm_prompt_template.py ──(Sat,Dec23)─┘
prompt [SystemMessage(content你是一个很有帮助的助手可以进行翻译语言从 English 到 Chinese.), HumanMessage(contentI love programming.)]
result content我热爱编程。ChatPromptTemplates也可以用其他方式构建 - 详细信息请参阅提示部分。
代码
https://github.com/zgpeace/pets-name-langchain/tree/develop
参考
https://python.langchain.com/docs/get_started/quickstart