mimoha commited on
Commit
5bfb178
·
verified ·
1 Parent(s): bf81554

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -16
app.py CHANGED
@@ -1,25 +1,26 @@
1
-
2
  import gradio as gr
3
  import base64
4
- import mimetypes
5
  import json
6
- import mistralai
7
 
8
- print(mistralai)
9
- print(dir(mistralai))from PIL import Image
10
 
11
- import io
 
12
 
13
- client = Mistral(api_key="RJIqm5OvwoMvLeWrFdv5JBx26tLsSSK")
14
 
15
  def process_image(image):
16
  try:
17
- # نحول الصورة من PIL إلى base64
 
 
18
  buffered = io.BytesIO()
19
  image.save(buffered, format="JPEG")
 
20
  encoded = base64.b64encode(buffered.getvalue()).decode()
21
- mime_type = "image/jpeg"
22
- data_url = f"data:{mime_type};base64,{encoded}"
23
 
24
  response = client.ocr.process(
25
  document=ImageURLChunk(image_url=data_url),
@@ -27,14 +28,14 @@ def process_image(image):
27
  )
28
 
29
  response_dict = json.loads(response.model_dump_json())
30
- json_string = json.dumps(response_dict, indent=4, ensure_ascii=False)
31
- return json_string
32
 
33
  except Exception as e:
34
- return {"error": str(e)}
35
 
36
  gr.Interface(
37
  fn=process_image,
38
- inputs=gr.Image(type="pil"),
39
- outputs="text"
40
- ).launch(share=True, show_error=True)
 
 
1
  import gradio as gr
2
  import base64
 
3
  import json
4
+ import io
5
 
6
+ from PIL import Image
 
7
 
8
+ from mistralai import Mistral
9
+ from mistralai.models import ImageURLChunk
10
 
11
+ client = Mistral(api_key="YOUR_API_KEY")
12
 
13
  def process_image(image):
14
  try:
15
+ if image.mode == "RGBA":
16
+ image = image.convert("RGB")
17
+
18
  buffered = io.BytesIO()
19
  image.save(buffered, format="JPEG")
20
+
21
  encoded = base64.b64encode(buffered.getvalue()).decode()
22
+
23
+ data_url = f"data:image/jpeg;base64,{encoded}"
24
 
25
  response = client.ocr.process(
26
  document=ImageURLChunk(image_url=data_url),
 
28
  )
29
 
30
  response_dict = json.loads(response.model_dump_json())
31
+
32
+ return json.dumps(response_dict, indent=4, ensure_ascii=False)
33
 
34
  except Exception as e:
35
+ return str(e)
36
 
37
  gr.Interface(
38
  fn=process_image,
39
+ inputs=gr.Image(type="pil"),
40
+ outputs="text",
41
+ ).launch()