def get_field_response()

in scripts/utils/get_responses.py [0:0]


def get_field_response(client: AzureOpenAI, workload: dict, field: str, deployment_model: str) -> str:
    ask_prompt = ""

    match field:
        case "sampleQueries":
            if workload[field]: return workload[field]
            ask_prompt = f"{SAMPLE_QUERIES_PROMPT}{WORKLOAD_TYPE_PROMPT}\nsourceType: {workload['sourceType']}\n"
        case "tech":
            ask_prompt = SAMPLE_TECH_PROMPT
        case "products":
            ask_prompt = SAMPLE_PRODUCTS_PROMPT
        case "negativeMatch":
            ask_prompt = SAMPLE_NEGATIVE_MATCH_PROMPT
        case "keyFeatures":
            ask_prompt = KEY_FEATURES_PROMPT

    prompt = f"""title: {workload["title"]}\ndescription: {workload["description"]}\ntags:{workload['tags']}\n\n{external_data}\n\n{DISCLAIMER_PROMPT}\n\nYour Response:\n"""

    try:
        response = client.chat.completions.create(
            model=deployment_model, 
            messages=[
                {
                    "role": "system",
                    "content": f"{DISCLAIMER_PROMPT}\n\n{ask_prompt}\n\n{prompt}"
                }
            ],
        )
        # print(f"{field}: {response.choices[0].message.content}")
        return json.loads(response.choices[0].message.content)
    except Exception as e:
        return str(response.choices[0].message.content)