import openai import gradio as gr import json openai.api_key = "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" def save_conversation(): with open('conversation.json', 'w') as f: json.dump(messages, f) def load_conversation(): try: with open('conversation.json', 'r') as f: return json.load(f) except FileNotFoundError: return [] messages = load_conversation() if not messages: messages.append({"role": "system", "content": "You are a knowledgeable assistant specialized in recruiting and hiring, and familiar with ADP Workforce Now Recruitment and various hiring and CRM tools."}) def CustomChatGPT(user_input): messages.append({"role": "user", "content": user_input}) # Ensure the conversation fits within the model's maximum token limit conversation = messages[-4096:] try: response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=conversation, max_tokens=1000, temperature=0.7) except openai.api_resources.request_error.RequestError as e: print(f"Received error from OpenAI: {e}") return "I'm sorry, but I'm unable to generate a response at this time." ChatGPT_reply = response["choices"][0]["message"]["content"] messages.append({"role": "assistant", "content": ChatGPT_reply}) save_conversation() return ChatGPT_reply interface = gr.Interface(fn=CustomChatGPT, inputs="textbox", outputs="textbox", title="HR HELPER", description="Chat with a specialized assistant that can answer questions about recruiting, hiring, and various HR and CRM tools. Developed by A. Leschik.") interface.launch(share=True)