Spaces:
Running
Running
| import gradio as gr | |
| from investigators.src.investigators.crew import Investigators | |
| def investigate(target_name, affiliations, progress=gr.Progress()): | |
| inputs = { | |
| 'target': target_name, | |
| 'affiliations': affiliations, | |
| # 'current_year': str(datetime.now().year) | |
| } | |
| progress(0.1, desc=f"Created AI Crew and launched investigation of {target_name}..") | |
| try: | |
| investigators = Investigators(progress) | |
| crew_output = investigators.crew().kickoff(inputs=inputs) | |
| except Exception as e: | |
| raise Exception(f"An error occurred while running the crew: {e}") | |
| return crew_output.raw | |
| def clear_inputs(): | |
| return "", "", "" | |
| with gr.Blocks() as view: | |
| gr.Markdown("# OSINT Investigator") | |
| gr.Markdown("#### Enter the name of your target and their affiliations (to make search easier), and get a AML Risk assessment based on their public information.") | |
| with gr.Row(equal_height=True): | |
| with gr.Column(scale=3): | |
| name_input = gr.Textbox(label="Target name:") | |
| affiliation_input = gr.Textbox(label="Target Affiliations (comma separated):") | |
| with gr.Row(): | |
| clear_btn = gr.Button("Clear") | |
| submit_btn = gr.Button("Investigate") | |
| with gr.Column(scale=1): | |
| img1 = gr.Image("images/logo1.png", show_download_button=False, show_fullscreen_button=False, show_label=False, show_share_button=False) | |
| with gr.Row(): | |
| output = gr.Markdown(container=True, show_copy_button=False, min_height=100) | |
| submit_btn.click( | |
| fn=investigate, | |
| inputs=[name_input, affiliation_input], | |
| outputs=output | |
| ) | |
| clear_btn.click( | |
| fn=clear_inputs, | |
| inputs=[], | |
| outputs=[name_input, affiliation_input, output] | |
| ) | |
| gr.Examples( | |
| examples=[["Raz Nissim", "Ben Gurion University, General Motors"], | |
| ["Mohammed Mosharref Hossain", "Albany"], | |
| ["Giovanni Cazzetta", "Montreal"], | |
| ["Willy Bokonga", "Congo"], | |
| ["Avraham Hirshzon", "Israel, Politician"], | |
| ], | |
| inputs=[name_input, affiliation_input] | |
| ) | |
| view.launch(inbrowser=True) |