-
Notifications
You must be signed in to change notification settings - Fork 16
/
main.py
66 lines (52 loc) · 1.82 KB
/
main.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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# encoding:utf-8
import pprint
import time
from wp_post import wp_post
from wordpress_xmlrpc import Client
from wordpress_xmlrpc.methods import taxonomies
import openai
# 换成你的 key
openai.api_key = "sk-chat_wordpress"
domain_name = ""
user_name = ""
password = ""
client = Client(domain_name + "/xmlrpc.php", user_name, password)
categories = client.call(taxonomies.GetTerms('category', {"search": "Uncategorized"}))
pack = [categories[0], ]
def get_chatgpt(openai, task, content):
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": task + content}
]
)
time.sleep(10)
return completion.choices[0].message["content"]
def get_keywords(openai, content):
return get_chatgpt(openai, content," 的知识包括哪些方面,以逗号分隔")
def get_description(openai, content):
return get_chatgpt(openai, "写一篇文章详细介绍一下如何使用:", content)
def get_title(openai, content):
return get_chatgpt(openai, "一句话介绍一下如何使用:", content)
def content_fission(openai, post_seed):
title = get_title(openai, post_seed)
content = get_description(openai, post_seed)
result = wp_post(client, title, content, pack)
print(result)
keywords_str = get_keywords(openai, content)
print(keywords_str)
if "," in keywords_str:
keywords = keywords_str.split(",")
else:
keywords = keywords_str.split("、")
print(keywords)
for k in keywords[1:5]:
print(k)
content_fission(openai, k)
if __name__ == '__main__':
post_seed = "chat_wordpress"
#content_fission(openai, post_seed)
title = get_title(openai, post_seed)
content = get_description(openai, post_seed)
result = wp_post(client, title, content, pack)
print(result)