|
|
|
|
@ -86,9 +86,8 @@ 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 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"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"Content preview: {content_preview}."
|
|
|
|
|
f"Output ONLY the description text, nothing else."
|
|
|
|
|
)
|
|
|
|
|
@ -161,9 +160,8 @@ 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 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"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"Content preview: {content_preview}. "
|
|
|
|
|
f"Output ONLY comma-separated keywords, nothing else."
|
|
|
|
|
)
|
|
|
|
|
@ -258,7 +256,6 @@ def process_service(args, service):
|
|
|
|
|
repo_dir = None
|
|
|
|
|
git_repo = None
|
|
|
|
|
error_list = []
|
|
|
|
|
files_updated = 0
|
|
|
|
|
|
|
|
|
|
repo = None
|
|
|
|
|
for r in service["repositories"]:
|
|
|
|
|
@ -355,7 +352,6 @@ 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
|
|
|
|
|
@ -390,8 +386,6 @@ 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():
|
|
|
|
|
@ -459,24 +453,8 @@ def main():
|
|
|
|
|
else:
|
|
|
|
|
services = data.services_with_repos()
|
|
|
|
|
|
|
|
|
|
total_files_updated = 0
|
|
|
|
|
services_with_updates = []
|
|
|
|
|
|
|
|
|
|
for service in services:
|
|
|
|
|
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)
|
|
|
|
|
process_service(args, service)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|