from pydantic import BaseModel from models.features import Feature as FeatureModel from typing import List from helpers.f5_model import f5_model class Feature(BaseModel): feature: str short_description: str class Features(BaseModel): features: List[Feature] async def generate_features(requirements: str): query = ( "See the user requirements and propose him the features (it should be 20 features). Feature names should be short. " "The user will then choose one or more needed features. \n" "User Requirements:\n" f"{requirements}" ) response = await f5_model.generate_response(query) # Parse the response into Features structure # You might need to add additional parsing logic here features_dict = parse_features_response(response) return Features(**features_dict) def parse_features_response(response: str) -> dict: # Add parsing logic here to convert F5 model output to Features format # This is a placeholder implementation features_list = [] # Parse the response and create Feature objects return {"features": features_list}