richardkimsm89 commited on
Commit
7cabdf8
·
verified ·
1 Parent(s): e6477aa

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -7
app.py CHANGED
@@ -1,7 +1,43 @@
1
- # Inference
2
-
3
  import gradio as gr
4
  from huggingface_hub import InferenceClient
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
  model_text = "google/gemma-2-27b-it"
7
  model_vision = "google/paligemma2-3b-pt-224"
@@ -11,19 +47,21 @@ client = InferenceClient()
11
  def fn_text(
12
  prompt,
13
  history,
 
14
  #system_prompt,
15
  max_tokens,
16
  temperature,
17
  top_p,
18
  ):
 
19
  #messages = [{"role": "system", "content": system_prompt}]
20
- #history.append(messages[0])
21
 
22
- #messages.append({"role": "user", "content": prompt})
23
- #history.append(messages[1])
24
 
25
- messages = [{"role": "user", "content": prompt}]
26
- history.append(messages[0])
27
 
28
  stream = client.chat.completions.create(
29
  model = model_text,
@@ -43,6 +81,7 @@ app_text = gr.ChatInterface(
43
  fn = fn_text,
44
  type = "messages",
45
  additional_inputs = [
 
46
  #gr.Textbox(value="You are a helpful assistant.", label="System Prompt"),
47
  gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max Tokens"),
48
  gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
 
 
 
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
3
+ import pytesseract
4
+ from PIL import Image
5
+ from pypdf import PdfReader
6
+ import ocrmypdf
7
+ import os
8
+
9
+ # Image to Text
10
+
11
+ def fn_image_to_text(input_image):
12
+ return pytesseract.image_to_string(Image.open(input_image))
13
+
14
+ # PDF to Text
15
+
16
+ def fn_pdf_to_text(input_pdf):
17
+ reader = PdfReader(input_pdf)
18
+
19
+ output_pdf = ""
20
+ for page in reader.pages:
21
+ output_pdf+=page.extract_text()
22
+
23
+ image_count = 0
24
+ for page in reader.pages:
25
+ image_count += len(page.images)
26
+
27
+ if image_count > 0 and len(output_pdf) < 1000:
28
+ input_pdf_ocr = input_pdf.replace(".pdf", " - OCR.pdf")
29
+ ocrmypdf.ocr(input_pdf, input_pdf_ocr, force_ocr=True)
30
+
31
+ reader = PdfReader(input_pdf_ocr)
32
+ output_pdf = ""
33
+ for page in reader.pages:
34
+ output_pdf+=page.extract_text()
35
+
36
+ os.remove(input_pdf_ocr)
37
+
38
+ return output_pdf
39
+
40
+ # Inference
41
 
42
  model_text = "google/gemma-2-27b-it"
43
  model_vision = "google/paligemma2-3b-pt-224"
 
47
  def fn_text(
48
  prompt,
49
  history,
50
+ input,
51
  #system_prompt,
52
  max_tokens,
53
  temperature,
54
  top_p,
55
  ):
56
+ messages = [{"role": "user", "content": output}]
57
  #messages = [{"role": "system", "content": system_prompt}]
58
+ history.append(messages[0])
59
 
60
+ messages.append({"role": "user", "content": prompt})
61
+ history.append(messages[1])
62
 
63
+ #messages = [{"role": "user", "content": prompt}]
64
+ #history.append(messages[0])
65
 
66
  stream = client.chat.completions.create(
67
  model = model_text,
 
81
  fn = fn_text,
82
  type = "messages",
83
  additional_inputs = [
84
+ gr.File(type="filepath", label="Input"),
85
  #gr.Textbox(value="You are a helpful assistant.", label="System Prompt"),
86
  gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max Tokens"),
87
  gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),