import openai

openai.api_key = '你的密匙'

def extract_keywords(lyrics):
    # 构建提示文本
    prompt = "提取台词中物体景象和感情色彩的词:" + str(lyrics)
    
    # 调用OpenAI API进行文本生成
    response = openai.Completion.create(
        engine="text-davinci-003",
        prompt=prompt,
        max_tokens=300,
        temperature=0,
        n=5,
        stop=None,
        logprobs=None,
    )
    
    # 提取生成的关键词
    keywords = response.choices[0].text.strip()
    
    return keywords

lyrics = '''
推开千只夜半的豺狼
拉开三尺藏玫瑰的睡床
翻开一切还是我很想叫你没有惊慌
抛开小红帽
望树林在变绿
再望远方 城市为你唱歌
来陪着你忘我忘我
再深的山都错荡
异路太弯危机极多
在你背后是我
如携着爱难过难过
太灰的天不要望
若没法给人间什么
给你快乐
星星闪过愿你可善忘
春风吹过围住你不彷徨
天真的过还是我很想叫你没有惊慌
抛开小红帽
望月圆做美梦
再望远方 是我为你唱歌
来陪着你忘我忘我
再深的山都错荡
异路太弯危机极多
在你背后是我
如携着爱难过难过
太灰的天不要望
若没法给人间什么
给你快乐
来陪着你忘我忘我
去找栖息的角落
异路太弯奇迹无多
愿你未来是我
如携着爱难过难过
带些哀伤的寄望
若没法给人间什么
给你快乐
'''

extract_keywords(lyrics)

运行结果:

物体景象:豺狼、睡床、树林、城市、山、异路、角落、奇迹
感情色彩:想叫、惊慌、爱、难过、哀伤、快乐

在这段代码中,我们调用了OpenAI的Completion API来生成文本。

  • openai.Completion.create()是用于创建文本生成请求的方法。
  • engine="text-davinci-003"指定了使用的文本生成模型,这里选择了"Davinci"模型,版本号为003。你也可以根据自己的需求选择其他模型。
  • prompt是生成文本的提示或前缀,我们将其设置为"提取台词中物体景象和感情色彩的词:"加上给定的歌词文本。
  • max_tokens=300指定了生成的最大令牌数,控制生成文本的长度。这里设置为300个令牌。
  • temperature=0是用于控制生成文本的多样性的参数。设置为0表示生成的文本更加确定性,更接近模型的预测结果。
  • n=5表示要生成的备选文本的数量,这里设置为5个备选。
  • stop=None表示生成文本时没有停止标记,会一直生成到达max_tokens的限制为止。
  • logprobs=None表示不返回生成文本的对数概率信息。

调用openai.Completion.create()方法后,返回的response对象包含了生成的文本结果。我们通过response.choices[0].text来获取第一个备选文本的内容。

你可以根据需要对这些参数进行调整,以适应不同的生成需求。