from fastapi import FastAPI from config import __CONFIG__ import mysql_connector from fastgpt_uploader import upload2fastgpt from semanticscholar import search_paper app = FastAPI() def query(query:str): res = [] list = search_paper(query) for i in list: res.append({ 'id':i['paperId'], 'datasetId':__CONFIG__['fastgpt_setId'], 'collectionId':__CONFIG__['fastgpt_colId'], 'sourceName':'Semantic Scholar', 'sourceId?':'', 'q':str(i['title']), 'a':str(i['abstract']), 'score':[ { 'type': 'rrf', 'value':0.8 } ] }) return res @app.get("/fastdoi") async def get_reference(questions): res = query(questions) new = [] print(res) for i in res: if not mysql_connector.is_loaded(i['id']): new.append(i) if(upload2fastgpt(new)): for i in new: mysql_connector.new_load(i['id']) print('new: '+i['q']) return new if __name__ == '__main__': import uvicorn uvicorn.run(app, host="127.0.0.1", port=8964) mysql_connector.end_mysql()