Source code for science_live.demo.cli

# =============================================================================
# science_live/demo/cli.py
# =============================================================================

"""
Demo CLI for Science Live.
"""

import asyncio
import sys

[docs] def main(): """Demo CLI""" print("🔬 Science Live Demo") print("=" * 20) try: from science_live.core.endpoints import EndpointManager, MockNanopubEndpoint from science_live.pipeline import ScienceLivePipeline async def demo(): endpoint_manager = EndpointManager() mock_endpoint = MockNanopubEndpoint() endpoint_manager.register_endpoint('demo', mock_endpoint, is_default=True) pipeline = ScienceLivePipeline(endpoint_manager) questions = [ "What papers cite AlexNet?", "Who authored the ImageNet paper?", "What is machine learning?" ] for question in questions: print(f"\n❓ Question: {question}") result = await pipeline.process(question) print(f"📄 Answer: {result.summary}") await endpoint_manager.close_all() asyncio.run(demo()) return True except Exception as e: print(f"❌ Demo failed: {e}") return False
if __name__ == "__main__": sys.exit(0 if main() else 1)