from openai import OpenAI


class MoonShotHandle():
    def __init__(self, api_key=None, api_base=None):
        self.OPENAI_API_KEY = 'sk-tz1VaKqksTzk0F8HxlU4YVGwj7oa1g0c0puGNUZrdn9MDtzm'
        self.model = "moonshot-v1-8k"

    def chat(self, question):
        return self.chat_with_chatgpt(question)

    def chat_with_chatgpt(self, prompt):
        client = OpenAI(
            api_key=self.OPENAI_API_KEY,
            base_url="https://api.moonshot.cn/v1",
        )
        chat_completion = client.chat.completions.create(
            messages=[
                {
                    "role": "user",
                    "content": prompt,
                }
            ],
            model=self.model,
        )
        response = chat_completion.choices[0].message.content
        return response


# single_title_prompt = """
#         我会给你一个视频标题,需要你帮我用你所学的知识来帮我分析出以下信息,信息我都写到 json 里面了
#         {
#             "key_words": [],  # 返回三个关键词
#             "search_keys": [], # 标题可能的搜索关键词,返回 3 个
#             "extra_keys": [], # 关心这个视频的用户还会关心哪些关键词, 返回 3 个
#             "tone": 标题的语气,用一个词概括,
#             "target_audience": 标题的受众群体,用一个词概括,
#             "target_age": 标题的受众年龄段,从 老年, 中年,青年,小孩, 不限, 这五个里面选择,
#             "target_gender": 受众性别,
#             "address": 受众可能属于哪个城市,
#             "theme": 标题的主题, 用一个词概括
#         }
#         只需要返回一个 json,key 和上面的一样,
#         我给你的标题是:
#         """
# single_title_prompt = single_title_prompt + "家里的盐该怎么选"
# for i in range(30):
#     res = MoonShotHandle().chat(single_title_prompt)
#     print(res)