|
|
@@ -6,7 +6,7 @@ from dotenv import load_dotenv
|
|
|
import requests
|
|
|
from bs4 import BeautifulSoup
|
|
|
import json
|
|
|
-import argparse
|
|
|
+import inquirer
|
|
|
from rich.console import Console
|
|
|
from rich.markdown import Markdown
|
|
|
from multiprocessing import Pool
|
|
|
@@ -195,28 +195,20 @@ if __name__ == "__main__":
|
|
|
api_base = os.getenv("API_BASE")
|
|
|
summary_model = os.getenv("SUMMARY_MODEL")
|
|
|
|
|
|
- # Set up argument parser
|
|
|
- parser = argparse.ArgumentParser(
|
|
|
- description="Search DuckDuckGo, extract text from results, and summarize with LLM.")
|
|
|
- parser.add_argument("query", type=str,
|
|
|
- help="The search query to use on DuckDuckGo")
|
|
|
- parser.add_argument("--num_results", type=int, default=10,
|
|
|
- help="Number of search results to process (default: 10)")
|
|
|
- parser.add_argument("--explanation", type=str,
|
|
|
- help="Optional, additional context for the search result summarization.")
|
|
|
-
|
|
|
- # Parse arguments
|
|
|
- args = parser.parse_args()
|
|
|
-
|
|
|
-
|
|
|
- original_query = args.query
|
|
|
- explanation = args.explanation
|
|
|
+ questions = [
|
|
|
+ inquirer.Text('query', message="What's your query?"),
|
|
|
+ inquirer.Text('explanation', message="Additional context for the query?")
|
|
|
+ ]
|
|
|
+ answers = inquirer.prompt(questions)
|
|
|
+ query = answers["query"]
|
|
|
+ explanation = answers["explanation"]
|
|
|
|
|
|
- print(f"Query: {original_query}")
|
|
|
+ print(f"Query: {query}")
|
|
|
print(f"Explanation: {explanation}")
|
|
|
|
|
|
- n = args.num_results # Number of results to extract
|
|
|
- links = duckduckgo_search(original_query, n)
|
|
|
+ # n = args.num_results # Number of results to extract
|
|
|
+ n = 10
|
|
|
+ links = duckduckgo_search(query, num_results=n)
|
|
|
|
|
|
print(f"Top {n} search results:")
|
|
|
for i, link in enumerate(links, start=1):
|
|
|
@@ -227,7 +219,7 @@ if __name__ == "__main__":
|
|
|
print("Summarizing individual search results")
|
|
|
intermediate_summaries = summarize_individual_texts(
|
|
|
texts_and_urls,
|
|
|
- original_query,
|
|
|
+ query,
|
|
|
summary_model,
|
|
|
api_base,
|
|
|
token
|
|
|
@@ -235,7 +227,7 @@ if __name__ == "__main__":
|
|
|
|
|
|
final_summary = summarize(
|
|
|
intermediate_summaries,
|
|
|
- original_query,
|
|
|
+ query,
|
|
|
explanation,
|
|
|
summary_model,
|
|
|
api_base,
|