mirror of
https://github.com/langchain-ai/langchain.git
synced 2026-10-05 17:35:28 +03:00
4.8 KiB
4.8 KiB
In [1]:
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.embeddings.cohere import CohereEmbeddings
from langchain.text_splitter import CharacterTextSplitter
from langchain.vectorstores.elastic_vector_search import ElasticVectorSearch
from langchain.vectorstores.faiss import FAISSIn [2]:
with open('../state_of_the_union.txt') as f:
state_of_the_union = f.read()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
texts = text_splitter.split_text(state_of_the_union)
embeddings = OpenAIEmbeddings()In [3]:
docsearch = FAISS.from_texts(texts, embeddings)In [4]:
# Add in a fake source information
for i, d in enumerate(docsearch.docstore._dict.values()):
d.metadata = {'source': f"{i}-pl"}In [5]:
query = "What did the president say about Justice Breyer"
docs = docsearch.similarity_search(query)In [6]:
from langchain.chains import QAWithSourcesChain
from langchain.llms import OpenAI, Cohere
from langchain.docstore.document import DocumentIn [7]:
chain = QAWithSourcesChain.from_llm(OpenAI(temperature=0))In [8]:
chain({"docs": docs, "question": query}, return_only_outputs=True)Out [8]:
{'answer': ' The president thanked Justice Breyer for his service.',
'sources': '27-pl'}In [9]:
from langchain.chains import VectorDBQAWithSourcesChainIn [10]:
chain = VectorDBQAWithSourcesChain.from_llm(OpenAI(temperature=0), vectorstore=docsearch)In [ ]:
chain({"question": "What did the president say about Justice Breyer"}, return_only_outputs=True)In [ ]: