- from langchain.embeddings.openai import OpenAIEmbeddings
- from langchain.embeddings.cohere import CohereEmbeddings
- from langchain.text_splitter import CharacterTextSplitter
- from langchain.vectorstores import Milvus
- from langchain.document_loaders import PyPDFLoader, TextLoader
- from langchain.chains import RetrievalQAWithSourcesChain
- import os
- from langchain.llms import OpenAI
-
- OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
-
- chain = None
-
-
- def do_work():
- global chain
- loader = PyPDFLoader("./王天龙-算法工程师-研究生.pdf")
- docs = loader.load_and_split()
- embeddings = OpenAIEmbeddings()
-
- vector_db = Milvus.from_documents(
- docs,
- embeddings,
- connection_args={
- "host": "ljxwtl.cn", "port": "19530"
- }
- )
-
- chain = RetrievalQAWithSourcesChain.from_chain_type(
- OpenAI(temperature=0, openai_api_key=OPENAI_API_KEY),
- chain_type="map_reduce",
- retriever=vector_db.as_retriever()
- )
-
-
- def __test_do_work():
- do_work()
-
-
- def query(question):
- global chain
-
- response = chain(
- inputs={"question": question},
- return_only_outputs=True
- )
- print(response)
-
-
- def __test_query():
- query("王天龙的简介")
-
-
- if __name__ == '__main__':
- __test_do_work()
- __test_query()
- from langchain.embeddings.openai import OpenAIEmbeddings
- from langchain.embeddings.cohere import CohereEmbeddings
- from langchain.text_splitter import CharacterTextSplitter
- from langchain.vectorstores import Milvus
- from langchain.document_loaders import PyPDFLoader, TextLoader
- from langchain.chains import RetrievalQAWithSourcesChain
- import os
- from langchain.llms import OpenAI
-
- OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
-
- chain = None
-
-
- def do_work():
- global chain
- loader = PyPDFLoader("./王天龙-算法工程师-研究生.pdf")
- docs = loader.load_and_split()
- embeddings = OpenAIEmbeddings()
-
- vector_db = Milvus.from_documents(
- docs,
- embeddings,
- connection_args={
- "host": "ljxwtl.cn", "port": "19530"
- }
- )
-
- chain = RetrievalQAWithSourcesChain.from_chain_type(
- OpenAI(temperature=0, openai_api_key=OPENAI_API_KEY),
- chain_type="map_reduce",
- retriever=vector_db.as_retriever()
- )
-
-
- def __test_do_work():
- do_work()
-
-
- def query(question):
- global chain
-
- response = chain(
- inputs={"question": question},
- return_only_outputs=True
- )
- print(response)
-
-
- def __test_query():
- query("王天龙的工作经验")
-
-
- if __name__ == '__main__':
- __test_do_work()
- __test_query()