from knowledge_graph_builder import extract_and_store_graph from query_graph import query_knowledge_graph from langchain_community.document_loaders import WikipediaLoader from langchain.text_splitter import TokenTextSplitter from tqdm import tqdm def main(): print("Starting the script...") # Take Wikipedia article name as input article_name = input("Enter the Wikipedia article name: ") print(f"Loading documents for: {article_name}") # Load and process the Wikipedia article raw_documents = WikipediaLoader(query=article_name).load() text_splitter = TokenTextSplitter(chunk_size=4096, chunk_overlap=96) documents = text_splitter.split_documents(raw_documents[:5]) # Only process the first 5 documents print("Building the knowledge graph...") # Build the knowledge graph from the documents for i, d in tqdm(enumerate(documents), total=len(documents)): extract_and_store_graph(d) print("Graph construction complete. Please enter your query.") # Take a query related to the graph user_query = input("Enter your query related to the graph: ") print(f"Querying the graph with: {user_query}") # Query the graph and print the answer answer = query_knowledge_graph(user_query) print("Answer to your query:", answer) if __name__ == "__main__": main()