shethjenil commited on
Commit
14ba3aa
·
verified ·
1 Parent(s): c842a0f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -42
app.py CHANGED
@@ -10,6 +10,7 @@ from nest_asyncio import apply
10
  from os import environ
11
  from pickle import load as pickle_load
12
  from bs4 import BeautifulSoup
 
13
  import flask
14
  class AIBook:
15
  embed_model:HuggingFaceInferenceAPIEmbedding
@@ -26,20 +27,10 @@ class AIBook:
26
  self.retriever = self.index.as_retriever(similarity_top_k=srcnum,vector_store_query_mode="default")
27
  def retrieve(self,query:str):
28
  return self.retriever.retrieve(query)
29
-
30
- @classmethod
31
- def nodes_to_guj(cls,nodes:list[TextNode])->list[str]:
32
- return [node.node.relationships[NodeRelationship("1")].metadata["maintext"] for node in nodes]
33
- @classmethod
34
- def nodes_to_eng(cls,nodes:list[TextNode])->list[str]:
35
- return [node.node.text for node in nodes]
36
- @classmethod
37
- def nodes_to_page_with_bookname(cls,nodes:list[TextNode])->list[Dict]:
38
- return [{"page":int(node.node.relationships[NodeRelationship("1")].metadata["page"]),"bookname":node.node.relationships[NodeRelationship("1")].metadata["book"]} for node in nodes]
39
  @classmethod
40
  def translate_to_eng(cls,text:str)->str:
41
  return "".join([i[0] for i in reqget(f"https://translate.googleapis.com/translate_a/single?client=gtx&sl=gu&tl=en&dt=t&q={text}").json()[0]])
42
-
43
  apply()
44
  app = flask.Flask(__name__)
45
  book = AIBook()
@@ -47,10 +38,10 @@ book = AIBook()
47
  def function():
48
  question = flask.request.args.get("question")
49
  if question is None:
50
- return """Please provide a question as 'https://shethjenil-apiofbookai.hf.space?question=પ્રભુ છે કે નહિ'<br>for getting image of question https://shethjenil-apiofbookai.hf.space/question_to_img?question=પ્રભુ છે કે નહિ<br>for get image by book and page https://shethjenil-apiofbookai.hf.space/getbookimage/023657/99<br>for knowing full data with page etc https://shethjenil-apiofbookai.hf.space/fulldetails?question=પ્રભુ છે કે નહિ<br>Change Token as https://shethjenil-apiofbookai.hf.space/changeToken?token=hf_<b>rgPNhjnXpLSodIphwjmRvPbvrovNYnQavj</b><br>Change srcnum as https://shethjenil-apiofbookai.hf.space/changesrcnum?srcnum=2<br><br><form action="/insert_node" method="post" enctype="multipart/form-data"><input type="file" name="file" accept=".book"><input type="submit" value="Upload Book File"></form>"""
51
  if question == "":
52
  return ""
53
- return "\n\n".join(AIBook.nodes_to_guj(book.retrieve(AIBook.translate_to_eng(question))))
54
 
55
  @app.route("/changeToken")
56
  def function2():
@@ -60,34 +51,9 @@ def function2():
60
  def function3():
61
  book.changesrcnum(int(flask.request.args.get("srcnum")))
62
  return "srcnum changed"
63
- @app.route("/insert_nodes",methods=["POST"])
64
- def function4():
65
- if 'file' not in flask.request.files:
66
- return "Error"
67
- file = flask.request.files['file']
68
- if file.filename.endswith(".book"):
69
- book.index.insert(pickle_load(file))
70
- return "inserted" + file.filename
71
- else:
72
- return "not inserted because file is not a book"
73
- @app.route("/fulldetails")
74
- def function5():
75
- question = flask.request.args.get("question")
76
- if question:
77
- return flask.jsonify([{"text":i.get_text(),"score":i.get_score(),"metadata":i.node.relationships[NodeRelationship("1")].metadata} for i in book.retrieve(AIBook.translate_to_eng(question))])
78
- else:
79
- return "please provide a question parameter https://shethjenil-apiofbookai.hf.space/fulldetails?question=પ્રભુ છે કે નહિ"
80
- @app.route("/getbookimage/<bookid>/<page>")
81
- def function6(bookid,page):
82
- # response = reqget(BeautifulSoup(reqget(f"https://jainqq.org/explore/{bookid}/{page}").content, "html.parser").find("img",class_="img-fluid").get("src"))
83
- # return flask.send_file(BytesIO(response.content), mimetype=response.headers['Content-Type'])
84
- return flask.redirect(BeautifulSoup(reqget(f"https://jainqq.org/explore/{bookid}/{page}").content, "html.parser").find("img",class_="img-fluid").get("src"))
85
- @app.route("/question_to_img")
86
- def function7():
87
- question = flask.request.args.get("question")
88
- if question:
89
- meta = book.retrieve(AIBook.translate_to_eng(question))[0].node.relationships[NodeRelationship("1")].metadata
90
- return flask.redirect(BeautifulSoup(reqget(f"https://jainqq.org/explore/{meta['bookid']}/{meta['page']}").content, "html.parser").find("img",class_="img-fluid").get("src"))
91
 
92
  if __name__ == '__main__':
93
- app.run("0.0.0.0",7860)
 
10
  from os import environ
11
  from pickle import load as pickle_load
12
  from bs4 import BeautifulSoup
13
+ import json
14
  import flask
15
  class AIBook:
16
  embed_model:HuggingFaceInferenceAPIEmbedding
 
27
  self.retriever = self.index.as_retriever(similarity_top_k=srcnum,vector_store_query_mode="default")
28
  def retrieve(self,query:str):
29
  return self.retriever.retrieve(query)
 
 
 
 
 
 
 
 
 
 
30
  @classmethod
31
  def translate_to_eng(cls,text:str)->str:
32
  return "".join([i[0] for i in reqget(f"https://translate.googleapis.com/translate_a/single?client=gtx&sl=gu&tl=en&dt=t&q={text}").json()[0]])
33
+
34
  apply()
35
  app = flask.Flask(__name__)
36
  book = AIBook()
 
38
  def function():
39
  question = flask.request.args.get("question")
40
  if question is None:
41
+ return """?question=hi"""
42
  if question == "":
43
  return ""
44
+ return flask.redirect(f"/file/images/page-{str(book.retrieve(AIBook.translate_to_eng(question))[0].node.metadata['page']).zfill(3)}.png")
45
 
46
  @app.route("/changeToken")
47
  def function2():
 
51
  def function3():
52
  book.changesrcnum(int(flask.request.args.get("srcnum")))
53
  return "srcnum changed"
54
+ @app.route('/file/<path:filename>')
55
+ def serve_image(filename):
56
+ return flask.send_from_directory(filename)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
  if __name__ == '__main__':
59
+ app.run("0.0.0.0",7860)