Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
import gradio as gr | |
from gradio_client import Client | |
def retrieve_paragraphs(query:str, country:dict): | |
"""Connect to retriever and retrieve paragraphs, the collection param is fixed in qdrant-client call within code. | |
Params | |
---------- | |
query: the query input by user | |
country: collection 'EUDR' can filter the results based on country field. Past the values of country as str (single) or list | |
Returns | |
----------- | |
Returns the top 10 retrieved>reranked results list of dict [{'answer':.....,'answer_metadata': {.....}}] | |
""" | |
try: | |
# Metadata selection | |
# Call the API with the uploaded file | |
client = Client("https://giz-chatfed-retriever0-3.hf.space/") | |
# Only create filter_metadata if country has a value | |
filter_metadata = {'country': country} if country is not None else None | |
result = client.predict( | |
query=query, | |
collection_name= "EUDR", | |
filter_metadata = filter_metadata, | |
api_name="/retrieve" | |
) | |
return result | |
except Exception as e: | |
error_msg = f"Error retrieving paragraphs: {str(e)}" | |
return ( | |
error_msg, | |
gr.update(visible=True), # upload_status | |
gr.update(visible=False) # results_table | |
) |