123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- import os
- class BaseConfig(object):
- # 讯飞asr配置
- XFASR_HOST = 'https://raasr.xfyun.cn/v2/api'
- XF_API = {
- 'upload': '/upload',
- 'get_result': '/getResult'
- }
- XFASR_CONFIG = {
- 'appid': 'b11df2ff',
- 'secret_key': '598f38c17bd361f1f473dcfc840d330a'
- }
- # gpt配置
- GPT_HOST = 'https://api.openai.com/v1/chat/completions'
- # GPT_OPENAI_API_KEY = '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'
- GPT_OPENAI_API_KEY = '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'
- GPT_URL = 'http://aigc.piaoquantv.com/aigc-server/aigc/content'
- RETRY_MAX_COUNT = 3
- # 代理地址
- PROXIES = {
- 'http': 'http://127.0.0.1:4780',
- 'https': 'http://127.0.0.1:4780'
- }
- # MQ配置
- MQ_CONFIG = {
- 'ENDPOINT': 'http://1894469520484605.mqrest.cn-qingdao-public.aliyuncs.com',
- 'ACCESS_KEY': 'LTAI4G7puhXtLyHzHQpD6H7A',
- 'SECRET_KEY': 'nEbq3xWNQd1qLpdy2u71qFweHkZjSG',
- 'INSTANCE_ID': 'MQ_INST_1894469520484605_BXhXuzkZ'
- }
- # 飞书应用凭证
- FEISHU_TOKEN = {
- 'app_id': 'cli_a3667697a57b500e',
- 'app_secret': '5eMszgeNt21U56XnPjCykgmTfZUEEMnp'
- }
- # 记录生成标题重试次数
- TITLE_GENERATE_RETRY_KEY_NAME_PREFIX = 'title:generate:retry:count:'
- # stop_words
- STOP_WORDS = ['啊', '嗯', '呗', '呢', '呐', '呀', '唉', '哎', '额', '呃', '哦', '呵']
- # video tags
- TAGS = ['舞蹈', '美食', '时尚', '旅行', '音乐', '运动', '影视', '搞笑', '科技', '综艺',
- '游戏', '情感', '健康', '人文', '社会', '热点', '财富', '生活']
- # GPT prompt
- GPT_PROMPT = {
- 'tags': {
- 'prompt1': f"""
- 请对如下文本进行分类。类别为其中的一个:【{' '.join(TAGS)}】。
- 以json格式返回,key为category与confidence,分别代表类别与分类置信度。给出top 3的分类结果。
- -----------------------------
- """,
- 'prompt2': f"""
- 请对如下文本进行:
- 1. 分类,类别为其中的一个:【{' '.join(TAGS)}】。如果无法有效分类,请返回“其他”。
- 2. 用20个字以内对文本内容进行概况。
- 3. 为文本取一个易于分享,吸引人要求的标题。
- 4. 列举三个关键词。
- 以json格式返回,key为category, confidence, summery, title, keywords。分别代表类别,分类置信度,概要,标题,关键词。
- -----------------------------
- """
- },
- 'title': {
- 'prompt1': f"""
- 请对如下文本进行: 为文本取一个易于分享,吸引人要求的标题。要求在30个字以内。
- -----------------------------
- """,
- 'prompt2': f"""
- 我想让你充当爆款标题生成器,我会给你提供一段视频的讲解文本,你生成一个更吸引眼球的标题。
- 标题不要超过35个字。
- 标题要突出惊奇感,让老年人看到就想转发,语义要保持中立,不要向负面倾斜,不要涉及政治敏感话题。
- 如果原讲解文本中有地名,不要改变讲解文本中的地名。
- 如果原讲解文本是关于唱歌但是没有说明是哪首歌,你起的标题也不要说歌名。
- 如果原讲解文本中没有明确指出男女性别,你起的标题也不要说具体的性别。
- 如果原讲解文本中没有明确指出是谁干了这件事,你起的标题也不要说是谁干的。
- 如果原讲解文本中没有提及老年人,你起的标题也不要说老年人。
- 我的原讲解文本是:
- """
- }
- }
- class DevelopmentConfig(BaseConfig):
- """开发环境配置"""
- # 报警内容 环境区分
- ENV_TEXT = "开发环境"
- # 日志服务配置
- ALIYUN_LOG = {
- 'ENDPOINT': 'cn-hangzhou-intranet.log.aliyuncs.com',
- 'ACCESSID': 'LTAIWYUujJAm7CbH',
- 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
- 'PROJECT': 'aigc-server-test',
- }
- # redis地址
- REDIS_INFO = {
- 'host': 'r-bp1ps6my7lzg8rdhwx682.redis.rds.aliyuncs.com',
- 'port': 6379,
- 'password': 'Wqsd@2019',
- }
- # MQ TOPIC配置
- MQ_TOPIC_CONFIG = {
- 'asr_title_todo': {
- 'topic_name': 'topic_asr_title_todo_test',
- 'group_id': 'GID_ASR_TITLE_TODO_TEST'
- },
- 'asr_title_done': {
- 'topic_name': 'topic_asr_title_done_test',
- 'group_id': 'GID_ASR_TITLE_DONE_TEST'
- },
- }
- class TestConfig(BaseConfig):
- """测试环境配置"""
- # 报警内容 环境区分
- ENV_TEXT = "测试环境"
- # 日志服务配置
- ALIYUN_LOG = {
- 'ENDPOINT': 'cn-hangzhou-intranet.log.aliyuncs.com',
- 'ACCESSID': 'LTAIWYUujJAm7CbH',
- 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
- 'PROJECT': 'aigc-server-test',
- }
- # redis地址
- REDIS_INFO = {
- 'host': 'r-bp1ps6my7lzg8rdhwx682.redis.rds.aliyuncs.com',
- 'port': 6379,
- 'password': 'Wqsd@2019',
- }
- # MQ TOPIC配置
- MQ_TOPIC_CONFIG = {
- 'asr_title_todo': {
- 'topic_name': 'topic_asr_title_todo_test',
- 'group_id': 'GID_ASR_TITLE_TODO_TEST'
- },
- 'asr_title_done': {
- 'topic_name': 'topic_asr_title_done_test',
- 'group_id': 'GID_ASR_TITLE_DONE_TEST'
- },
- }
- class PreProductionConfig(BaseConfig):
- """预发布环境配置"""
- # 报警内容 环境区分
- ENV_TEXT = "预发布环境"
- # 日志服务配置
- ALIYUN_LOG = {
- 'ENDPOINT': 'cn-hangzhou-intranet.log.aliyuncs.com',
- 'ACCESSID': 'LTAIWYUujJAm7CbH',
- 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
- 'PROJECT': 'aigc-server',
- }
- # redis地址
- REDIS_INFO = {
- 'host': 'r-bp1fogs2mflr1ybfot.redis.rds.aliyuncs.com',
- 'port': 6379,
- 'password': 'Wqsd@2019',
- }
- # MQ TOPIC配置
- MQ_TOPIC_CONFIG = {
- 'asr_title_todo': {
- 'topic_name': 'topic_asr_title_todo',
- 'group_id': 'GID_ASR_TITLE_TODO'
- },
- 'asr_title_done': {
- 'topic_name': 'topic_asr_title_done',
- 'group_id': 'GID_ASR_TITLE_DONE'
- },
- }
- class ProductionConfig(BaseConfig):
- """生产环境配置"""
- # 报警内容 环境区分
- ENV_TEXT = "生产环境"
- # 日志服务配置
- ALIYUN_LOG = {
- 'ENDPOINT': 'cn-hangzhou-intranet.log.aliyuncs.com',
- 'ACCESSID': 'LTAIWYUujJAm7CbH',
- 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
- 'PROJECT': 'aigc-server',
- }
- # redis地址
- REDIS_INFO = {
- 'host': 'r-bp1fogs2mflr1ybfot.redis.rds.aliyuncs.com',
- 'port': 6379,
- 'password': 'Wqsd@2019',
- }
- # MQ TOPIC配置
- MQ_TOPIC_CONFIG = {
- 'asr_title_todo': {
- 'topic_name': 'topic_asr_title_todo',
- 'group_id': 'GID_ASR_TITLE_TODO'
- },
- 'asr_title_done': {
- 'topic_name': 'topic_asr_title_done',
- 'group_id': 'GID_ASR_TITLE_DONE'
- },
- }
- def set_config():
- # 获取环境变量 AIGC_SERVER_ENV
- env = os.environ.get('AIGC_SERVER_ENV')
- # env = 'dev'
- if env is None:
- # log_.error('ENV ERROR: is None!')
- return
- if env == 'dev':
- return DevelopmentConfig()
- elif env == 'test':
- return TestConfig()
- elif env == 'pre':
- return PreProductionConfig()
- elif env == 'pro':
- return ProductionConfig()
- else:
- # log_.error('ENV ERROR: is {}'.format(env))
- return
|