config.py 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. import os
  2. class BaseConfig(object):
  3. # 每日AI标签视频信息表
  4. DAILY_VIDEO = {
  5. 'project': 'loghubods',
  6. 'table': 'vid_daily_top_not_taged'
  7. }
  8. # ODPS服务配置
  9. ODPS_CONFIG = {
  10. 'ENDPOINT': 'http://service.cn.maxcompute.aliyun.com/api',
  11. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  12. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  13. }
  14. # OSS配置
  15. OSS_CONFIG = {
  16. 'endpoint': 'http://oss-cn-hangzhou-internal.aliyuncs.com',
  17. 'accessKeyId': 'LTAIP6x1l3DXfSxm',
  18. 'accessKeySecret': 'KbTaM9ars4OX3PMS6Xm7rtxGr1FLon',
  19. 'bucket_name': 'art-pubbucket'
  20. }
  21. # 讯飞asr配置
  22. XFASR_HOST = 'https://raasr.xfyun.cn/v2/api'
  23. XF_API = {
  24. 'upload': '/upload',
  25. 'get_result': '/getResult'
  26. }
  27. XFASR_CONFIG = {
  28. 'appid': 'b11df2ff',
  29. 'secret_key': '598f38c17bd361f1f473dcfc840d330a'
  30. }
  31. # gpt配置
  32. GPT_HOST = 'https://api.openai.com/v1/chat/completions'
  33. # GPT_OPENAI_API_KEY = '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'
  34. # GPT_OPENAI_API_KEY = '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'
  35. GPT_OPENAI_API_KEY = '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'
  36. GPT_URL = 'http://aigc.piaoquantv.com/aigc-server/aigc/content'
  37. RETRY_MAX_COUNT = 3
  38. # 代理地址
  39. PROXIES = {
  40. 'http': 'http://127.0.0.1:4780',
  41. 'https': 'http://127.0.0.1:4780'
  42. }
  43. # 飞书应用凭证
  44. FEISHU_TOKEN = {
  45. 'app_id': 'cli_a3667697a57b500e',
  46. 'app_secret': '5eMszgeNt21U56XnPjCykgmTfZUEEMnp'
  47. }
  48. # stop_words
  49. STOP_WORDS = ['啊', '嗯', '呗', '呢', '呐', '呀', '唉', '哎', '额', '呃', '哦', '呵']
  50. # video tags
  51. TAGS = ['舞蹈', '美食', '时尚', '旅行', '音乐', '运动', '影视', '搞笑', '科技', '综艺',
  52. '游戏', '情感', '健康', '人文', '社会', '热点', '财富', '生活']
  53. TAGS_NEW = ['资讯', '国际', '政治', '科技', '军事', '健康', '社会', '民生政策', '人文', '人物', '旅行', '生活',
  54. '美食', '综艺', '搞笑', '民俗文化', '安全', '休闲娱乐', '艺术', '情感']
  55. # GPT prompt
  56. format_json_array = '[{},{},{}]'
  57. json_format = """[{"category": "<类别1>", "confidence": "<confidence1>"}, {"category": "<类别2>", "confidence": "<confidence2>"}, {"category": "<类别3>", "confidence": "<confidence3>"}]"""
  58. GPT_PROMPT = {
  59. 'tags': {
  60. 'prompt1': f"""
  61. 请对如下文本进行分类。类别为其中的一个:【{' '.join(TAGS)}】。
  62. 以json格式返回,key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
  63. -----------------------------
  64. """,
  65. 'prompt2': f"""
  66. 请对如下文本进行:
  67. 1. 分类,类别为其中的一个:【{' '.join(TAGS)}】。如果无法有效分类,请返回“其他”。
  68. 2. 用20个字以内对文本内容进行概况。
  69. 3. 为文本取一个易于分享,吸引人要求的标题。
  70. 4. 列举三个关键词。
  71. 以json格式返回,key为category, confidence, summary, title, keywords。分别代表类别,分类置信度,概要,标题,关键词。
  72. -----------------------------
  73. """,
  74. 'prompt3': f"""
  75. 请对如下文本进行分类,不允许返回"其他"。
  76. 以json格式返回,key为categor与confidence, 分别代表类别与分类置信度。给出top 3的分类结果。
  77. -----------------------------
  78. """,
  79. 'prompt4': f"""请对如下文本进行分类。类别为其中的一个:【{' '.join(TAGS_NEW)}】。
  80. 以json array格式返回,key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
  81. -----------------------------
  82. """,
  83. 'prompt5': f"""请对如下文本进行分类。类别为其中的一个:【{' '.join(TAGS_NEW)}】。
  84. 以json array格式返回,{json_format},key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
  85. -----------------------------
  86. """,
  87. 'prompt6': f"""
  88. 请对如下文本进行:
  89. 1. 用20个字以内对文本内容进行概况。
  90. 2. 列举三个关键词。
  91. 仅以json格式返回,key为summary, keywords。分别代表概要,关键词。
  92. -----------------------------
  93. """,
  94. 'prompt7': f"""请根据视频的标题、概况和关键词对其进行分类。类别为其中的一个:【{' '.join(TAGS_NEW)}】。
  95. 仅以json array格式返回,{json_format},key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
  96. -----------------------------
  97. """,
  98. 'prompt8': """请根据视频的标题、概况和关键词总结下面几个信息。信息我都写到 json 里面了:
  99. ```
  100. {
  101. "key_words": [], # 返回关于这个视频的三个关键词
  102. "search_keys": [], # 内容可能的搜索关键词,返回 3 个
  103. "extra_keys": [], # 关心这个视频的用户还会关心哪些关键词, 返回 3 个
  104. }
  105. ```
  106. 只需要返回一个 json,key 和上面的一样,视频的信息如下:\n-------------------------------\n""",
  107. 'prompt9': """请根据视频的标题、概况和关键词总结下面几个信息。信息我都写到 json 里面了:
  108. ```
  109. {
  110. "tone": 标题的语气,用一个词概括,
  111. "target_audience": 标题的受众群体,用一个词描述;
  112. "target_age": 标题的受众年龄段,从 老年, 中年,青年,小孩, 不限, 这五个里面选择
  113. }
  114. ```
  115. 只需要返回一个 json,key 和上面的一样,视频的信息如下:\n-------------------------------\n""",
  116. 'prompt10': """请根据视频的标题、概况和关键词总结下面几个信息。信息我都写到 json 里面了:
  117. ```
  118. {
  119. "category": "视频的类别, 类别为其中的一个或多个:【'资讯', '国际', '政治', '科技', '军事', '健康', '社会', '民生政策', '人文', '人物', '旅行', '生活',
  120. '美食', '综艺', '搞笑', '民俗文化', '安全', '休闲娱乐', '艺术', '情感'】",
  121. "target_gender": 受众性别:男,女,不限,这三个里面选择一个,
  122. "address": 受众可能属于哪个城市, 用城市名描述
  123. "theme": 内容的主题, 用一个词概括
  124. }
  125. ```
  126. 只需要返回一个 json,key 和上面的一样,视频的信息如下:\n-------------------------------\n""",
  127. },
  128. 'title': {
  129. 'prompt1': f"""
  130. 请对如下文本进行: 为文本取一个易于分享,吸引人要求的标题。要求在30个字以内。
  131. -----------------------------
  132. """,
  133. 'prompt2': f"""
  134. 我想让你充当爆款标题生成器,我会给你提供一段视频的讲解文本,你生成一个更吸引眼球的标题。
  135. 标题不要超过35个字。
  136. 标题要突出惊奇感,让老年人看到就想转发,语义要保持中立,不要向负面倾斜,不要涉及政治敏感话题。
  137. 如果原讲解文本中有地名,不要改变讲解文本中的地名。
  138. 如果原讲解文本是关于唱歌但是没有说明是哪首歌,你起的标题也不要说歌名。
  139. 如果原讲解文本中没有明确指出男女性别,你起的标题也不要说具体的性别。
  140. 如果原讲解文本中没有明确指出是谁干了这件事,你起的标题也不要说是谁干的。
  141. 如果原讲解文本中没有提及老年人,你起的标题也不要说老年人。
  142. 我的原讲解文本是:
  143. """
  144. }
  145. }
  146. class TestConfig(BaseConfig):
  147. # 后端接口 - 视频添加AI相关标签
  148. ADD_VIDEO_AI_TAGS_URL = 'https://testadmin.piaoquantv.com/manager/video/tag/addVideoAiTags'
  149. # 日志服务配置
  150. ALIYUN_LOG = {
  151. 'ENDPOINT': 'cn-hangzhou.log.aliyuncs.com',
  152. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  153. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  154. 'PROJECT': 'aigc-server-test',
  155. }
  156. class PreConfig(BaseConfig):
  157. # 后端接口 - 视频添加AI相关标签
  158. ADD_VIDEO_AI_TAGS_URL = 'https://preadmin.piaoquantv.com/manager/video/tag/addVideoAiTags'
  159. # 日志服务配置
  160. ALIYUN_LOG = {
  161. 'ENDPOINT': 'cn-hangzhou.log.aliyuncs.com',
  162. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  163. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  164. 'PROJECT': 'aigc-server',
  165. }
  166. class ProConfig(BaseConfig):
  167. # 后端接口 - 视频添加AI相关标签
  168. ADD_VIDEO_AI_TAGS_URL = 'https://admin.piaoquantv.com/manager/video/tag/addVideoAiTags'
  169. # 日志服务配置
  170. ALIYUN_LOG = {
  171. 'ENDPOINT': 'cn-hangzhou.log.aliyuncs.com',
  172. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  173. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  174. 'PROJECT': 'aigc-server',
  175. }
  176. def set_config():
  177. # return TestConfig()
  178. # return PreConfig()
  179. return ProConfig()