File size: 1,830 Bytes
1d54e0d
 
 
 
 
f0e125c
1d54e0d
 
 
 
 
 
 
 
f7f63bf
 
 
1d54e0d
 
 
 
 
 
 
 
f7f63bf
 
 
 
 
 
 
 
1d54e0d
 
 
 
 
 
 
 
 
 
 
f7f63bf
1d54e0d
 
 
 
 
 
 
 
 
 
 
 
 
f7f63bf
1d54e0d
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import gradio as gr
import openai
from wandb.integration.openai import autolog

# start logging to W&B
# autolog({"project":"Joe1", "job_type": "introduction"})

import openai
import gradio as gr

# Initialize the conversation history
conversation_history = [
    {
        "role": "system",
        "content": "Your name is Joe Chip, a world-class poker player. Keep your answers succinct but cover important areas."
        "If you need more context, ask for it."
        " Make sure you know what the effective stack is and whether it's a cash game or mtt"
        "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 brief"
        "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):
    # 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
    })
    
    return model_message

iface = gr.Interface(fn=ask_joe, inputs=["password", "text"], outputs="text")

iface.launch()