import gradio as gr import openai # Initialize the conversation history conversation_history = [ { "role": "system", "content": "Your name is Joe Chip, a world-class poker player..." "If you need more context ask for it." "Make sure you know the effective stack and whether its a cash game or mtt. Ask for clarification if not sure" "Concentrate more on GTO play rather than exploiting other players." "Consider blockers when applicable" "Always discuss how to play your range, not just the hand in question" "Remember to keep your answers short and succinct" "Only answer questions on poker topics" } ] def setup_openai(api_key): openai.api_key = api_key return "API Key Set Successfully!" def ask_joe(api_key, text, clear): global conversation_history if clear: # Reset the conversation history conversation_history = [ { "role": "system", "content": "Your name is Joe Chip, a world-class poker player..." "If you need more context ask for it." "Make sure you know the effective stack and whether its a cash game or mtt. Ask for clarification if not sure" "Concentrate more on GTO play rather than exploiting other players." "Consider blockers when applicable" "Always discuss how to play your range, not just the hand in question" "Remember to keep your answers short and succinct" "Only answer questions on poker topics" } ] return "Conversation cleared." # set up the api_key setup_openai(api_key) # Add the user's message to the conversation history conversation_history.append({ "role": "user", "content": text }) # Use the conversation history as the input to the model response = openai.ChatCompletion.create( model="gpt-4", messages=conversation_history, max_tokens=500, temperature=0.3 ) # Extract the model's message from the response model_message = response.choices[0].message['content'].strip() # Add the model's message to the conversation history conversation_history.append({ "role": "assistant", "content": model_message }) # Write the conversation history to a file with open('conversation_history.txt', 'a') as f: f.write(f'User: {text}\n') f.write(f'AI: {model_message}\n') return model_message iface = gr.Interface( fn=ask_joe, inputs=[ gr.inputs.Textbox(label="OpenAI API Key"), gr.inputs.Textbox(label="Enter your question here. More detail = Better results"), gr.inputs.Checkbox(label="Clear Conversation") ], outputs=gr.outputs.Textbox(label="Joe's Response") ) iface.launch()