Spaces:
Sleeping
Sleeping
| def apply_classification(client, model_params, ClassificationOutput, system_prompt, user_prompt, verbose=False, st=None): | |
| response = client.chat.completions.create( | |
| model=model_params["model"], | |
| messages=[ | |
| {"role": "system", "content": system_prompt}, | |
| {"role": "user", "content": user_prompt}, | |
| ], | |
| max_tokens=model_params["max_tokens"], | |
| temperature=model_params["temperature"], | |
| ) | |
| raw_prediction = response.choices[0].message.content.strip() | |
| # Log raw prediction for debugging | |
| if verbose and st: | |
| st.info(f"Raw Prediction: {raw_prediction}") | |
| # Validate and process the prediction | |
| try: | |
| validated_prediction = ClassificationOutput.parse_obj({"label": raw_prediction}).label | |
| except Exception as e: | |
| if verbose and st: | |
| st.error(f"Invalid prediction: {raw_prediction}. Error: {e}") | |
| return "INVALID" | |
| return validated_prediction | |