-
Notifications
You must be signed in to change notification settings - Fork 0
/
genereateMetadata.py
42 lines (34 loc) · 1.54 KB
/
genereateMetadata.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import os
import openai
openai.api_key = os.environ["OPENAI_API_KEY"]
def generate_description_and_tags(text):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": f"Describe the following text: {text[:100]}..."},
]
)
description = response['choices'][0]['message']['content'].strip()
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": f"Give tags for the following text: {text[:100]}..."},
]
)
tags = response['choices'][0]['message']['content'].strip().split(',')
return description, tags
def process_directory(directory):
for filename in os.listdir(directory):
if filename.endswith('.html'):
with open(os.path.join(directory, filename), 'r') as f:
text = f.read()
description, tags = generate_description_and_tags(text)
with open(os.path.join(directory, f'{filename}-metadata.md'), 'w') as metadata_file:
metadata_file.write(f'## {filename}\n\n')
metadata_file.write(f'**Description:** {description}\n\n')
metadata_file.write('**Tags:**\n\n')
for tag in tags:
metadata_file.write(f'- {tag.strip()}\n')
process_directory('project/src/')