Spaces:
Runtime error
Runtime error
| import os | |
| import gradio as gr | |
| import pandas as pd | |
| import pymarc | |
| from marcai.predict import predict | |
| from marcai.process import process | |
| from marcai.utils.parsing import record_dict | |
| from marcai.pl import SimilarityVectorModel | |
| root = os.path.dirname(os.path.abspath(__file__)) | |
| def compare(file1, file2): | |
| # Load records | |
| record1 = pymarc.parse_xml_to_array(file1)[0] | |
| record2 = pymarc.parse_xml_to_array(file2)[0] | |
| # Turn into dataframes | |
| df1 = pd.DataFrame.from_dict([record_dict(record1)]) | |
| df2 = pd.DataFrame.from_dict([record_dict(record2)]) | |
| df = process(df1, df2) | |
| model = SimilarityVectorModel.from_pretrained("cdlib/marc-match-ai") | |
| input_df = df[model.features] | |
| # Run model | |
| prediction = predict(model, input_df).item() | |
| return {"match": prediction, "not match": 1 - prediction} | |
| interface = gr.Interface( | |
| fn=compare, | |
| inputs=[gr.File(label="MARC XML File 1"), gr.File(label="MARC XML File 2")], | |
| outputs=gr.Label(label="Classification"), | |
| title="MARC Record Matcher", | |
| description="Upload two MARC XML files with one record each.", | |
| allow_flagging="never", | |
| ) | |
| interface.launch() | |