import os import requests import gradio as gr api_key = os.environ.get('MY_API_KEY') def encrypt_decrypt(input_text, key, operation, method): # Define the API endpoint api_url = "https://api.nvcf.nvidia.com/v2/nvcf/pexec/functions/347fa3f3-d675-432c-b844-669ef8ee53df" headers = { 'Authorization': f'Bearer {api_key}', 'Content-Type': 'application/json' } # Construct the message for the AI message = f"{operation.lower()} this message: '{input_text}' with key {key} using {method} method" data = { "messages": [ {"content": message, "role": "user"} ], "stream": False } # Make the API request response = requests.post(api_url, headers=headers, json=data) # Check the response status if response.status_code == 200: response_data = response.json() if 'choices' in response_data and len(response_data['choices']) > 0: content = response_data['choices'][0].get('message', {}).get('content', '') return content else: return "No content found in response" else: return f"Error: {response.text}" # Create the Gradio interface interface = gr.Interface( fn=encrypt_decrypt, inputs=[ gr.Textbox(label="Message", placeholder="Enter your message here..."), gr.Textbox(label="Key", placeholder="Enter your key here..."), gr.Radio(choices=["Encrypt", "Decrypt"], label="Operation"), gr.Dropdown(choices=["AES", "Vigenere Cipher", "Caesar Cipher"], label="Encryption Method") ], outputs=gr.Textbox(label="Result") ) # Launch the app if __name__ == "__main__": interface.launch()