| 61 | |
| 62 | |
| 63 | def chat(system_prompt: str | None, model_name: str, client: OpenAI) -> None: |
| 64 | conversation: list[ChatCompletionMessageParam] = [] |
| 65 | if system_prompt is not None: |
| 66 | conversation.append({"role": "system", "content": system_prompt}) |
| 67 | |
| 68 | print("Please enter a message for the chat model:") |
| 69 | while True: |
| 70 | try: |
| 71 | input_message = input("> ") |
| 72 | except EOFError: |
| 73 | break |
| 74 | conversation.append({"role": "user", "content": input_message}) |
| 75 | |
| 76 | chat_completion = client.chat.completions.create(model=model_name, messages=conversation) |
| 77 | |
| 78 | response_message = chat_completion.choices[0].message |
| 79 | output = response_message.content |
| 80 | |
| 81 | conversation.append(response_message) # type: ignore |
| 82 | print(output) |
| 83 | |
| 84 | |
| 85 | def _add_query_options(parser: FlexibleArgumentParser) -> FlexibleArgumentParser: |