File size: 1,404 Bytes
e941d9b 1532c55 e941d9b 1532c55 5f9865d e941d9b 1532c55 e941d9b 1532c55 e941d9b 1532c55 e941d9b 1532c55 e941d9b 5f9865d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import easyocr
import gradio as gr
import openai
import requests
# Set OpenAI API key
openai.api_key = "your_api_key_here"
# Initialize OCR reader
reader = easyocr.Reader(['ch_sim', 'en'],gpu=False)
# Define the OCR function
# Update the ocr_gpt function to accept the API key as an input
def ocr_gpt(image, gpt_opinion_prompt, api_key):
openai.api_key = api_key
ocr_result = reader.readtext(image)
prompt = "Correct the following OCR result: " + ocr_result[0][1]
response = openai.Completion.create(engine="davinci-codex", prompt=prompt, max_tokens=50, n=1, stop=None, temperature=0.5)
corrected_text = response.choices[0].text.strip()
gpt_opinion_response = openai.Completion.create(engine="davinci-codex", prompt=gpt_opinion_prompt, max_tokens=50, n=1, stop=None, temperature=0.5)
gpt_opinion = gpt_opinion_response.choices[0].text.strip()
return corrected_text, gpt_opinion
# Define Gradio UI components
image_input = gr.inputs.Image()
gpt_input = gr.inputs.Textbox(lines=1, label="GPT Opinion Prompt")
api_key_input = gr.inputs.Textbox(lines=1, label="API Key")
ocr_output = gr.outputs.Textbox(label="OCR Result (GPT Corrected)")
gpt_opinion_output = gr.outputs.Textbox(label="GPT Opinion on Image Information")
# Create Gradio interface
iface = gr.Interface(fn=ocr_gpt, inputs=[image_input, gpt_input, api_key_input], outputs=[ocr_output, gpt_opinion_output]) |