| | 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}) |
| |
|
| | |
| | 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() |
| |
|