Spaces:
Sleeping
Sleeping
| import argparse | |
| import os | |
| from dotenv import load_dotenv | |
| from .config import TOP_K | |
| from .generator import generate_answer | |
| from .retriever import Retriever | |
| def main(): | |
| load_dotenv() | |
| parser = argparse.ArgumentParser(description="Ask questions about the indexed corpus") | |
| parser.add_argument("question", nargs="?", help="question to ask") | |
| parser.add_argument("--top-k", type=int, default=TOP_K) | |
| parser.add_argument("--show-context", action="store_true", help="print retrieved chunks") | |
| args = parser.parse_args() | |
| question = args.question or input("Question: ") | |
| contexts = Retriever().retrieve(question, args.top_k) | |
| if args.show_context or not os.getenv("ANTHROPIC_API_KEY"): | |
| print("\nRetrieved context:") | |
| for chunk, score in contexts: | |
| print(f" [{chunk['source']}] score={score:.3f}") | |
| if os.getenv("ANTHROPIC_API_KEY"): | |
| print("\nAnswer:") | |
| print(generate_answer(question, contexts)) | |
| else: | |
| print("\nSet ANTHROPIC_API_KEY (see .env.example) to generate a written answer.") | |
| if __name__ == "__main__": | |
| main() | |