Spaces:
Runtime error
Runtime error
# %% imports | |
from openai import OpenAI | |
import os | |
from dotenv import load_dotenv | |
from IPython.display import Image, display, Audio, Markdown | |
import base64 | |
import os | |
os.chdir('/Users/gabriel/PythonProjects/researchProjects/middle_earth_adventure') | |
from middle_earth_adventure.prompts import SYSTEM_PROMPT, START_PROMPT, CONTINUE_PROMPT | |
# %% Use .env in ipython | |
%load_ext dotenv | |
%dotenv | |
load_dotenv() | |
#%% Set character features | |
NAME = "GEARL" | |
SEX = "Male" | |
TYPE = "Warrior" | |
SKILL1 = "Speed" | |
SKILL2 = "Carisma" | |
SKILL3 = "Intelligence" | |
SKILL4 = "Force" | |
# %% | |
## Set the API key and model name | |
MODEL="gpt-3.5-turbo" | |
client = OpenAI(api_key=os.environ.get("OPENAI_PERSONAL_KEY")) | |
# %% Start Adventure | |
message_history = [] | |
messages=[ | |
{"role": "system", "content": SYSTEM_PROMPT}, # <-- This is the system message that provides context to the model | |
{"role": "user", "content": START_PROMPT.format(name=NAME)} # <-- This is the user message for which the model will generate a response | |
] | |
ai_response = client.chat.completions.create(messages=messages, model=MODEL, n=1) | |
ai_response = ai_response.choices[0].to_dict()["message"] | |
message_history += messages | |
message_history.append(ai_response) | |
print(ai_response['content']) | |
# %% Continue Adventure | |
SELECTION = 'A' | |
message= {"role": "user", "content": CONTINUE_PROMPT.format(name=NAME, sex=SEX, type=TYPE, selection=SELECTION, | |
skill1=SKILL1, skill2=SKILL2, skill3=SKILL3, skill4=SKILL4)} | |
ai_response = client.chat.completions.create(messages=[*message_history, message], model=MODEL, n=1) | |
ai_response = ai_response.choices[0].to_dict()["message"] | |
message_history.append(message) | |
message_history.append(ai_response) | |
print(ai_response['content']) | |
# %% TTS | |
mp3_narration = client.audio.speech.create(model='tts-1', voice='nova', input="My name is Gabriel") | |
# %% | |
dir(mp3_narration) | |
# %% | |
image = client.images.generate(model="dall-e-2", prompt="a young dutch woman", response_format='url', | |
size="512x512", quality="hd", n=1) | |
# %% | |