从LangChainHub加载
本笔记本介绍了如何从LangChainHub加载链。
from langchain.chains import load_chain
chain = load_chain("lc://chains/llm-math/chain.json")
API参考:
- load_chain 来自
langchain.chains
chain.run("whats 2 raised to .12")
> 进入新的LLMMathChain链...
whats 2 raised to .12
答案:1.0791812460476249
> 完成链。
'答案:1.0791812460476249'
有时链可能需要额外的参数,这些参数没有与链一起序列化。例如,一个在向量数据库上进行问题回答的链将需要一个向量数据库。
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.text_splitter import CharacterTextSplitter
from langchain import OpenAI, VectorDBQA
API参考:
- OpenAIEmbeddings 来自
langchain.embeddings.openai
- Chroma 来自
langchain.vectorstores
- CharacterTextSplitter 来自
langchain.text_splitter
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)
API参考:
- TextLoader 来自
langchain.document_loaders
使用直接本地API运行Chroma。
使用DuckDB内存数据库。数据将是临时的。
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)
"总统说Ketanji Brown Jackson是一位巡回上诉法院法官,是全国顶级法律专家之一,曾是私人执业的顶级诉讼律师,曾是联邦公共辩护人,得到了从警察协会到由民主党和共和党任命的前法官的广泛支持,并将继续Justice Breyer的卓越传统。"