Files
povtornyy-ekzamen-2-sravnit…/src/cli.py
T

46 lines
1.1 KiB
Python

import argparse
import os
from src.graph import build_graph
from src.state import CompareState
def parse_entities(arg: str) -> list[str]:
return [e.strip() for e in arg.split(",") if e.strip()]
def main():
parser = argparse.ArgumentParser(description="Research Brief Generator")
parser.add_argument(
"-e",
"--entities",
type=str,
help="Comma-separated list of 3 entities to compare",
)
args = parser.parse_args()
if args.entities:
entities = parse_entities(args.entities)
if len(entities) != 3:
print("Please provide exactly 3 entities.")
return
else:
# Default entities
entities = ["Chroma", "FAISS", "Qdrant"]
# Initial state
state: CompareState = {
"entities": entities,
"criteria": [],
"findings": {},
"final_brief": None,
"verdict": None,
}
graph = build_graph()
final_state = graph.invoke(state)
print("\n=== Research Brief ===\n")
print(final_state["final_brief"])
print("\n=== Verdict ===\n")
print(final_state["verdict"])
if __name__ == "__main__":
main()