| import openai |
| from typing import List |
|
|
|
|
| def get_llm_response( |
| client: openai.OpenAI, |
| prompt: str, |
| system_prompt: str = "You are a helpful assistant.", |
| model: str = "gpt-4o-mini", |
| temperature: float = 0.7, |
| top_p: float = 0.95, |
| max_tokens: int = 500, |
| ) -> str: |
| """ |
| Get response from OpenAI language model. |
| |
| Args: |
| client (openai.OpenAI): OpenAI client |
| prompt (str): The user prompt/question to send to the model |
| system_prompt (str, optional): System prompt to set model behavior. |
| model (str, optional): OpenAI model to use. Defaults to "gpt-4o-mini". |
| temperature (float, optional): Controls randomness in responses. Defaults to 0.7. |
| top_p (float, optional): Controls diversity via nucleus sampling. Defaults to 0.95. |
| max_tokens (int, optional): Max tokens in model response. Defaults to 200. |
| |
| Returns: |
| str: The model's response text |
| """ |
| messages = [ |
| {"role": "system", "content": system_prompt}, |
| {"role": "user", "content": prompt}, |
| ] |
|
|
| response = client.chat.completions.create( |
| model=model, |
| messages=messages, |
| temperature=temperature, |
| top_p=top_p, |
| max_tokens=max_tokens, |
| ) |
|
|
| return response.choices[0].message.content |
|
|