diff --git a/tools/generate_meta.py b/tools/generate_meta.py index cba62f8..7114a40 100755 --- a/tools/generate_meta.py +++ b/tools/generate_meta.py @@ -86,8 +86,9 @@ def generate_description_with_llm(text, service_title, llm_api_url, model_name, """Generate a meta description using the llama.cpp /completion endpoint with up to 3 retries.""" content_preview = text[:2000].replace("\n", " ") prompt = ( - f"Generate a meta description (40-160 chars) for: {service_title}." - f"This is a service from the cloud provider called 'T Cloud Public', do not mention other Cloud Providers or services from them." + f"Generate a meta description (40-160 chars) for the T Cloud Public service: {service_title}." + f"This is a service from the cloud provider called 'T Cloud Public', do NOT mention other Cloud Providers or services from them." + f"NEVER mention AWS, Azure, Huawei, Alibaba, GCP and similiar cloud providers." f"Content preview: {content_preview}." f"Output ONLY the description text, nothing else." ) @@ -160,8 +161,9 @@ def generate_keywords_with_llm(text, service_title, llm_api_url, model_name, api """Generate keywords using the llama.cpp /completion endpoint with up to 3 retries.""" content_preview = text[:2000].replace("\n", " ") prompt = ( - f"Generate up to 5 keywords (comma-separated) for: {service_title}. " - f"This is a service from the cloud provider called 'T Cloud Public', do not mention other Cloud Providers or services from them." + f"Generate up to 5 keywords (comma-separated) for the T Cloud Public service: {service_title}. " + f"This is a service from the cloud provider called 'T Cloud Public', do NOT mention other Cloud Providers or services from them." + f"NEVER mention AWS, Azure, Huawei, Alibaba, GCP and similiar cloud providers." f"Content preview: {content_preview}. " f"Output ONLY comma-separated keywords, nothing else." ) @@ -256,6 +258,7 @@ def process_service(args, service): repo_dir = None git_repo = None error_list = [] + files_updated = 0 repo = None for r in service["repositories"]: @@ -352,6 +355,7 @@ def process_service(args, service): if add_sphinx_metadata(rst_file, description, keywords): updated_count += 1 + files_updated += 1 logging.info(f"Added meta description and keywords to {rst_file}") else: processed_count += 1 @@ -386,6 +390,8 @@ def process_service(args, service): logging.error(error_list) logging.info(f"Processed {processed_count} files, updated {updated_count} files") + + return files_updated def main(): @@ -453,8 +459,24 @@ def main(): else: services = data.services_with_repos() + total_files_updated = 0 + services_with_updates = [] + for service in services: - process_service(args, service) + files_updated = process_service(args, service) + if files_updated > 0: + total_files_updated += files_updated + services_with_updates.append((service['service_title'], files_updated)) + + print("\n" + "=" * 60) + print("SUMMARY") + print("=" * 60) + print(f"Total files with metadata added: {total_files_updated}") + print(f"Services with updates: {len(services_with_updates)}") + print("\nServices with metadata added:") + for service_title, count in services_with_updates: + print(f" - {service_title}: {count} file(s)") + print("=" * 60) if __name__ == "__main__":