import gradio as gr import openai import os from dotenv import load_dotenv from collections import Counter import time # Load the API key from the .env file load_dotenv() openai.api_key = os.getenv("OPENAI_API_KEY") # List of keywords to track keywords = ["teacher", "educator", "childcare specialist", "afterschool specialist", "youth development", "babysitter", "daycare assistant", "daycare aide", "youth program"] def count_keywords(text): text = text.lower() keyword_counts = Counter() for keyword in keywords: keyword_counts[keyword] = text.count(keyword) return keyword_counts def complete_prompt(prompt): try: response = openai.Completion.create( model="text-davinci-003", prompt=prompt, temperature=0, max_tokens=824, top_p=1, frequency_penalty=0, presence_penalty=0 ) completion = response.choices[0].text.strip() keyword_counts = count_keywords(prompt + completion) return completion, keyword_counts except Exception as e: return str(e), {} # Define Gradio interface iface = gr.Interface( fn=complete_prompt, inputs=gr.inputs.Textbox(lines=20, placeholder="Enter the prompt here..."), outputs=["text", "json"], title="ResumePAL", description="Developed by Alex Leschik", ) # Launch the Gradio app iface.launch()