Fix relative import issue in examples

This commit is contained in:
Nils Blach
2023-12-02 17:37:03 +01:00
committed by Nils Blach
parent a6aee6bb76
commit b5a8c960d6
9 changed files with 172 additions and 134 deletions
+17 -16
View File
@@ -656,9 +656,9 @@ def run(
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "documents.csv")
data_path = os.path.join(os.path.dirname(__file__), "documents.csv")
data = []
with open(path, "r", encoding="utf8") as f:
with open(data_path, "r", encoding="utf8") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
@@ -669,12 +669,15 @@ def run(
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
results_dir = os.path.join(os.path.dirname(__file__), "results")
if not os.path.exists(results_dir):
os.makedirs(results_dir)
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
folder_name = f"{extra_info}_{timestamp}"
results_folder = os.path.join(results_dir, folder_name)
os.makedirs(results_folder)
config = {
"data": selected_data,
@@ -682,22 +685,18 @@ def run(
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
with open(os.path.join(results_folder, "config.json"), "w") as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filename=os.path.join(results_folder, "log.log"),
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
)
for method in methods:
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
os.makedirs(os.path.join(results_folder, method.__name__))
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]}")
@@ -715,7 +714,10 @@ def run(
)
break
lm = language_models.ChatGPT(
"../../graph_of_thoughts/language_models/config.json",
os.path.join(
os.path.dirname(__file__),
"../../graph_of_thoughts/language_models/config.json",
),
model_name=lm_name,
cache=True,
)
@@ -737,8 +739,7 @@ def run(
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
results_folder,
method.__name__,
f"{data[0]}.json",
)
+17 -16
View File
@@ -1341,9 +1341,9 @@ def run(
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "countries.csv")
data_path = os.path.join(os.path.dirname(__file__), "countries.csv")
data = []
with open(path, "r") as f:
with open(data_path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
@@ -1357,12 +1357,15 @@ def run(
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
results_dir = os.path.join(os.path.dirname(__file__), "results")
if not os.path.exists(results_dir):
os.makedirs(results_dir)
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
folder_name = f"{extra_info}_{timestamp}"
results_folder = os.path.join(results_dir, folder_name)
os.makedirs(results_folder)
config = {
"data": selected_data,
@@ -1370,13 +1373,11 @@ def run(
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
with open(os.path.join(results_folder, "config.json"), "w") as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filename=os.path.join(results_folder, "log.log"),
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
@@ -1384,9 +1385,7 @@ def run(
for method in methods:
# create a results directory for the method
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
os.makedirs(os.path.join(results_folder, method.__name__))
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]}")
@@ -1404,7 +1403,10 @@ def run(
)
break
lm = language_models.ChatGPT(
"../../graph_of_thoughts/language_models/config.json",
os.path.join(
os.path.dirname(__file__),
"../../graph_of_thoughts/language_models/config.json",
),
model_name=lm_name,
cache=True,
)
@@ -1427,8 +1429,7 @@ def run(
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
results_folder,
method.__name__,
f"{data[0]}.json",
)
@@ -17,7 +17,11 @@ import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, language_models, operations, prompter, parser
from . import utils
# This is a hack to also allow execution of this file from the examples directory
try:
from . import utils
except ImportError:
import utils
class SetIntersectionPrompter(prompter.Prompter):
@@ -604,9 +608,9 @@ def run(
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "set_intersection_032.csv")
data_path = os.path.join(os.path.dirname(__file__), "set_intersection_032.csv")
data = []
with open(path, "r") as f:
with open(data_path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
@@ -616,12 +620,15 @@ def run(
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
results_dir = os.path.join(os.path.dirname(__file__), "results")
if not os.path.exists(results_dir):
os.makedirs(results_dir)
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
folder_name = f"{extra_info}_{timestamp}"
results_folder = os.path.join(results_dir, folder_name)
os.makedirs(results_folder)
config = {
"data": selected_data,
@@ -629,13 +636,11 @@ def run(
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
with open(os.path.join(results_folder, "config.json"), "w") as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filename=os.path.join(results_folder, "log.log"),
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
@@ -643,9 +648,7 @@ def run(
for method in methods:
# create a results directory for the method
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
os.makedirs(os.path.join(results_folder, method.__name__))
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]} {data[2]}")
@@ -663,7 +666,10 @@ def run(
)
break
lm = language_models.ChatGPT(
"../../graph_of_thoughts/language_models/config.json",
os.path.join(
os.path.dirname(__file__),
"../../graph_of_thoughts/language_models/config.json",
),
model_name=lm_name,
cache=True,
)
@@ -687,8 +693,7 @@ def run(
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
results_folder,
method.__name__,
f"{data[0]}.json",
)
@@ -17,7 +17,11 @@ import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, language_models, operations, prompter, parser
from . import utils
# This is a hack to also allow execution of this file from the examples directory
try:
from . import utils
except ImportError:
import utils
class SetIntersectionPrompter(prompter.Prompter):
@@ -634,9 +638,9 @@ def run(
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "set_intersection_064.csv")
data_path = os.path.join(os.path.dirname(__file__), "set_intersection_064.csv")
data = []
with open(path, "r") as f:
with open(data_path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
@@ -646,12 +650,15 @@ def run(
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
results_dir = os.path.join(os.path.dirname(__file__), "results")
if not os.path.exists(results_dir):
os.makedirs(results_dir)
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
folder_name = f"{extra_info}_{timestamp}"
results_folder = os.path.join(results_dir, folder_name)
os.makedirs(results_folder)
config = {
"data": selected_data,
@@ -659,13 +666,11 @@ def run(
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
with open(os.path.join(results_folder, "config.json"), "w") as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filename=os.path.join(results_folder, "log.log"),
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
@@ -673,9 +678,7 @@ def run(
for method in methods:
# create a results directory for the method
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
os.makedirs(os.path.join(results_folder, method.__name__))
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]} {data[2]}")
@@ -693,7 +696,10 @@ def run(
)
break
lm = language_models.ChatGPT(
"../../graph_of_thoughts/language_models/config.json",
os.path.join(
os.path.dirname(__file__),
"../../graph_of_thoughts/language_models/config.json",
),
model_name=lm_name,
cache=True,
)
@@ -717,8 +723,7 @@ def run(
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
results_folder,
method.__name__,
f"{data[0]}.json",
)
@@ -17,7 +17,11 @@ import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, language_models, operations, prompter, parser
from . import utils
# This is a hack to also allow execution of this file from the examples directory
try:
from . import utils
except ImportError:
import utils
class SetIntersectionPrompter(prompter.Prompter):
@@ -684,9 +688,9 @@ def run(
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "set_intersection_128.csv")
data_path = os.path.join(os.path.dirname(__file__), "set_intersection_128.csv")
data = []
with open(path, "r") as f:
with open(data_path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
@@ -696,12 +700,15 @@ def run(
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
results_dir = os.path.join(os.path.dirname(__file__), "results")
if not os.path.exists(results_dir):
os.makedirs(results_dir)
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
folder_name = f"{extra_info}_{timestamp}"
results_folder = os.path.join(results_dir, folder_name)
os.makedirs(results_folder)
config = {
"data": selected_data,
@@ -709,13 +716,11 @@ def run(
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
with open(os.path.join(results_folder, "config.json"), "w") as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filename=os.path.join(results_folder, "log.log"),
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
@@ -723,9 +728,7 @@ def run(
for method in methods:
# create a results directory for the method
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
os.makedirs(os.path.join(results_folder, method.__name__))
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]} {data[2]}")
@@ -743,7 +746,10 @@ def run(
)
break
lm = language_models.ChatGPT(
"../../graph_of_thoughts/language_models/config.json",
os.path.join(
os.path.dirname(__file__),
"../../graph_of_thoughts/language_models/config.json",
),
model_name=lm_name,
cache=True,
)
@@ -767,8 +773,7 @@ def run(
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
results_folder,
method.__name__,
f"{data[0]}.json",
)
+22 -17
View File
@@ -14,7 +14,11 @@ import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, language_models, operations, prompter, parser
from . import utils
# This is a hack to also allow execution of this file from the examples directory
try:
from . import utils
except ImportError:
import utils
class SortingPrompter(prompter.Prompter):
@@ -617,9 +621,9 @@ def run(
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "sorting_032.csv")
data_path = os.path.join(os.path.dirname(__file__), "sorting_032.csv")
data = []
with open(path, "r") as f:
with open(data_path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
@@ -629,12 +633,15 @@ def run(
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
results_dir = os.path.join(os.path.dirname(__file__), "results")
if not os.path.exists(results_dir):
os.makedirs(results_dir)
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
folder_name = f"{extra_info}_{timestamp}"
results_folder = os.path.join(results_dir, folder_name)
os.makedirs(results_folder)
config = {
"data": selected_data,
@@ -642,22 +649,18 @@ def run(
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
with open(os.path.join(results_folder, "config.json"), "w") as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filename=os.path.join(results_folder, "log.log"),
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
)
for method in methods:
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
os.makedirs(os.path.join(results_folder, method.__name__))
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]}")
@@ -675,7 +678,10 @@ def run(
)
break
lm = language_models.ChatGPT(
"../../graph_of_thoughts/language_models/config.json",
os.path.join(
os.path.dirname(__file__),
"../../graph_of_thoughts/language_models/config.json",
),
model_name=lm_name,
cache=True,
)
@@ -697,8 +703,7 @@ def run(
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
results_folder,
method.__name__,
f"{data[0]}.json",
)
+22 -17
View File
@@ -14,7 +14,11 @@ import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, language_models, operations, prompter, parser
from . import utils
# This is a hack to also allow execution of this file from the examples directory
try:
from . import utils
except ImportError:
import utils
class SortingPrompter(prompter.Prompter):
@@ -674,9 +678,9 @@ def run(
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "sorting_064.csv")
data_path = os.path.join(os.path.dirname(__file__), "sorting_064.csv")
data = []
with open(path, "r") as f:
with open(data_path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
@@ -686,12 +690,15 @@ def run(
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
results_dir = os.path.join(os.path.dirname(__file__), "results")
if not os.path.exists(results_dir):
os.makedirs(results_dir)
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
folder_name = f"{extra_info}_{timestamp}"
results_folder = os.path.join(results_dir, folder_name)
os.makedirs(results_folder)
config = {
"data": selected_data,
@@ -699,13 +706,11 @@ def run(
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
with open(os.path.join(results_folder, "config.json"), "w") as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filename=os.path.join(results_folder, "log.log"),
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
@@ -713,9 +718,7 @@ def run(
for method in methods:
# create a results directory for the method
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
os.makedirs(os.path.join(results_folder, method.__name__))
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]}")
@@ -733,7 +736,10 @@ def run(
)
break
lm = language_models.ChatGPT(
"../../graph_of_thoughts/language_models/config.json",
os.path.join(
os.path.dirname(__file__),
"../../graph_of_thoughts/language_models/config.json",
),
model_name=lm_name,
cache=True,
)
@@ -755,8 +761,7 @@ def run(
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
results_folder,
method.__name__,
f"{data[0]}.json",
)
+22 -17
View File
@@ -14,7 +14,11 @@ import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, language_models, operations, prompter, parser
from . import utils
# This is a hack to also allow execution of this file from the examples directory
try:
from . import utils
except ImportError:
import utils
class SortingPrompter(prompter.Prompter):
@@ -773,9 +777,9 @@ def run(
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "sorting_128.csv")
data_path = os.path.join(os.path.dirname(__file__), "sorting_128.csv")
data = []
with open(path, "r") as f:
with open(data_path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
@@ -785,12 +789,15 @@ def run(
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
results_dir = os.path.join(os.path.dirname(__file__), "results")
if not os.path.exists(results_dir):
os.makedirs(results_dir)
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
folder_name = f"{extra_info}_{timestamp}"
results_folder = os.path.join(results_dir, folder_name)
os.makedirs(results_folder)
config = {
"data": selected_data,
@@ -798,22 +805,18 @@ def run(
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
with open(os.path.join(results_folder, "config.json"), "w") as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filename=os.path.join(results_folder, "log.log"),
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
)
for method in methods:
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
os.makedirs(os.path.join(results_folder, method.__name__))
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]}")
@@ -831,7 +834,10 @@ def run(
)
break
lm = language_models.ChatGPT(
"../../graph_of_thoughts/language_models/config.json",
os.path.join(
os.path.dirname(__file__),
"../../graph_of_thoughts/language_models/config.json",
),
model_name=lm_name,
cache=True,
)
@@ -853,8 +859,7 @@ def run(
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
results_folder,
method.__name__,
f"{data[0]}.json",
)