当前位置: 首页 > news >正文

时时彩网站建设公司百度认证服务平台

时时彩网站建设公司,百度认证服务平台,沈阳高端网站建设公司,上海加盟网网站建设分类目录:《自然语言处理从入门到应用》总目录 本文介绍了如何将链保存(序列化)到磁盘和从磁盘加载(反序列化)。我们使用的序列化格式是json或yaml。目前,只有一些链支持这种类型的序列化。随着时间的推移&…

分类目录:《自然语言处理从入门到应用》总目录


本文介绍了如何将链保存(序列化)到磁盘和从磁盘加载(反序列化)。我们使用的序列化格式是jsonyaml。目前,只有一些链支持这种类型的序列化。随着时间的推移,我们将增加支持的链条数量。

将链保存(序列化)到磁盘

首先,让我们可以使用.save方法将链保存到磁盘,并指定一个带有jsonyaml扩展名的文件路径。

from langchain import PromptTemplate, OpenAI, LLMChain
template = """Question: {question}Answer: Let's think step by step."""
prompt = PromptTemplate(template=template, input_variables=["question"])
llm_chain = LLMChain(prompt=prompt, llm=OpenAI(temperature=0), verbose=True)llm_chain.save("llm_chain.json")

现在让我们来看看保存的文件中的内容:

!cat llm_chain.json

输出:

{"memory": null,"verbose": true,"prompt": {"input_variables": ["question"],"output_parser": null,"template": "Question: {question}\n\nAnswer: Let's think step by step.","template_format": "f-string"},"llm": {"model_name": "text-davinci-003","temperature": 0.0,"max_tokens": 256,"top_p": 1,"frequency_penalty": 0,"presence_penalty": 0,"n": 1,"best_of": 1,"request_timeout": null,"logit_bias": {},"_type": "openai"},"output_key": "text","_type": "llm_chain"
}

从磁盘加载(反序列化)链

我们可以使用load_chain方法从磁盘加载链:

from langchain.chains import load_chain
chain = load_chain("llm_chain.json")
chain.run("whats 2 + 2")

日志输出:

> Entering new LLMChain chain...
Prompt after formatting:
Question: whats 2 + 2Answer: Let's think step by step.> Finished chain.

输出:

' 2 + 2 = 4'

分别保存组件

在上面的例子中我们可以看到提示和LLM配置信息与整个链条保存在同一个json中,但我们也可以将它们分开保存。这通常有助于使保存的组件更加模块化。为了做到这一点,我们只需要指定llm_path而不是llm组件,并且指定prompt_path而不是prompt组件。

llm_chain.prompt.save("prompt.json")

输入:

!cat prompt.json

输出:

{"input_variables": ["question"],"output_parser": null,"template": "Question: {question}\n\nAnswer: Let's think step by step.","template_format": "f-string"
}

输入:

llm_chain.llm.save("llm.json")

输入:

!cat llm.json

输出:

{"model_name": "text-davinci-003","temperature": 0.0,"max_tokens": 256,"top_p": 1,"frequency_penalty": 0,"presence_penalty": 0,"n": 1,"best_of": 1,"request_timeout": null,"logit_bias": {},"_type": "openai"
}

输入:

config = {"memory": None,"verbose": True,"prompt_path": "prompt.json","llm_path": "llm.json","output_key": "text","_type": "llm_chain"
}import jsonwith open("llm_chain_separate.json", "w") as f:json.dump(config, f, indent=2)

输入:

!cat llm_chain_separate.json

输出:

{"memory": null,"verbose": true,"prompt_path": "prompt.json","llm_path": "llm.json","output_key": "text","_type": "llm_chain"
}

我们可以以相同的方式加载它:

chain = load_chain("llm_chain_separate.json")
chain.run("whats 2 + 2")

日志输出:

> Entering new LLMChain chain...
Prompt after formatting:
Question: whats 2 + 2Answer: Let's think step by step.> Finished chain.

输出:

' 2 + 2 = 4'

从LangChainHub加载

本节介绍如何从LangChainHub加载链。

from langchain.chains import load_chainchain = load_chain("lc://chains/llm-math/chain.json")
chain.run("whats 2 raised to .12")

日志输出:

> Entering new LLMMathChain chain...
whats 2 raised to .12
Answer: 1.0791812460476249
> Finished chain.

输出:

'Answer: 1.0791812460476249'

有时候链会需要额外的参数,这些参数在链序列化时未包含在内。例如,一个用于对向量数据库进行问答的链条将需要一个向量数据库作为参数。

from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.text_splitter import CharacterTextSplitter
from langchain import OpenAI, VectorDBQA
from langchain.document_loaders import TextLoader
loader = TextLoader('../../state_of_the_union.txt')
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
texts = text_splitter.split_documents(documents)embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(texts, embeddings)
# Running Chroma using direct local API.
# Using DuckDB in-memory for database. Data will be transient.chain = load_chain("lc://chains/vector-db-qa/stuff/chain.json", vectorstore=vectorstore)
query = "What did the president say about Ketanji Brown Jackson"
chain.run(query)

输出:

" The president said that Ketanji Brown Jackson is a Circuit Court of Appeals Judge, one of the nation's top legal minds, a former top litigator in private practice, a former federal public defender, has received a broad range of support from the Fraternal Order of Police to former judges appointed by Democrats and Republicans, and will continue Justice Breyer's legacy of excellence."

参考文献:
[1] LangChain官方网站:https://www.langchain.com/
[2] LangChain 🦜️🔗 中文网,跟着LangChain一起学LLM/GPT开发:https://www.langchain.com.cn/
[3] LangChain中文网 - LangChain 是一个用于开发由语言模型驱动的应用程序的框架:http://www.cnlangchain.com/

http://www.tj-hxxt.cn/news/24043.html

相关文章:

  • 网站开发学多久网络营销前景和现状分析
  • 衡水企业网站制作站长工具果冻传媒
  • ajax网站模板长沙竞价优化
  • 毕业设计做 做交易网站球队排名世界
  • 学前端要逛那些网站海外营销推广
  • 模板网站对排名的影响免费刷网站百度关键词
  • 表格做的网站影响收录营销咨询服务
  • 宝鸡投中建设网站百度精准搜索
  • 有什么网站做统计图的个人博客登录首页
  • wordpress 商城 支付宝广州seo顾问服务
  • 模板网站如何做优化新品怎么刷关键词
  • 用什么程序做网站网站建设的意义和目的
  • wordpress建站网页无法运作网站seo外链平台
  • 电子商务中网站建设磁力链 ciliba
  • wordpress 拒绝连接搜索引擎优化排名
  • 网站被别人域名绑定购买一个网站域名需要多少钱
  • 做模具的网站企业网络推广方式
  • 北京外贸网站建设价格百度一下官网首页百度一下
  • 预付做网站定金如何下载安装百度
  • wap网站 教程广告联盟官网入口
  • wordpress数据库ip长沙seo优化哪家好
  • 中国领导班子级别顺序图天津搜狗seo推广
  • 西安最新数据消息抖音seo搜索优化
  • 网站 备案 名称360免费建站
  • 网站建设的费用计入seo工资待遇 seo工资多少
  • 黄页网站大全免费网站排名软件有哪些
  • 深圳网站制作hi0755广州疫情最新数据
  • 网站备案信息管理网络竞价
  • 静态网站可以做哪些青岛seo外包服务
  • 网站建设与管理综合实践国内最新新闻事件今天