https://arweave.net/ICLE0GcO_GUkDoP-Km-gj_8gbh1rSvTK2XyA7Zmw0mY#minblockheight=1147262&minblockhash=18_uO0V3WVjSFo-U0Q_d9k7gy5AxXlgpPdm2svB4QoAyYO1qH9FeGGswhIOkUnYd {"time": "2023-03-28T14:32:33.156938", "lm": "openai", "model": "gpt-4", "chat": true, "kwparams": {"temperature": 0, "top_p": 0}, "input": "diff --git a/lm/__main__.py b/lm/__main__.py\n--- a/lm/__main__.py\n+++ b/lm/__main__.py\n@@ -1,4 +1,4 @@\n-from .lm.spellbook import spellbook\n+from .lm import spellbook, openai, gradio\n from .log.jsonfiles import jsonfiles\n from .log.arweaveditems import arweaveditems\n \n@@ -9,6 +9,12 @@ import sys\n async def amain():\n timestamp = datetime.datetime.now().isoformat()\n parser = argparse.ArgumentParser()\n+ parser.add_argument('--lm', choices=['spellbook', 'openai', 'gradio'], default='spellbook', help='Language model to use')\n+ parser.add_argument('--log', choices=['jsonfiles', 'arweaveditems'], default='jsonfiles', help='Logging method to use')\n parser.add_argument('-o', '--output', type=argparse.FileType('w'), default=sys.stdout, help='Output file')\n parser.add_argument('input_data', nargs='*', help='Input data or filename')\n args = parser.parse_args()\n@@ -36,8 +42,12 @@ async def amain():\n else:\n input_data = sys.stdin.read()\n \n- api = spellbook()\n- log = jsonfiles(prefix = 'gpt4-')\n+ api = {\n+ 'spellbook': spellbook,\n+ 'openai': openai,\n+ 'gradio': gradio,\n+ }[args.lm]()\n+ log = {'jsonfiles': jsonfiles, 'arweaveditems': arweaveditems}[args.log](prefix='gpt4-')\n log2 = arweaveditems()\n \n async with api, log, log2:", "output": "The changes made in the code are as follows:\n\n1. Imported the `openai` and `gradio` modules from the `lm` package.\n2. Added two new command-line arguments, `--lm` and `--log`, to allow the user to choose the language model and logging method, respectively. The default values for these arguments are 'spellbook' and 'jsonfiles'.\n3. Created a dictionary to map the user's choice of language model to the corresponding module, and instantiated the chosen module.\n4. Created a dictionary to map the user's choice of logging method to the corresponding module, and instantiated the chosen module.\n\nThese changes allow the user to choose between different language models and logging methods when running the script."}