| | |
| | | import re |
| | | import time |
| | | from io import BytesIO |
| | | import google.generativeai as genai |
| | | from auto_media_publisher.config.conf_base import GOOGLE_API_KEY,GOOGLE_MODEL,GOOGLE_CHAT_MIN_INTERVAL,DEFAULT_PREFIX_MAP,DEFAULT_SURFIX_MAP |
| | | from auto_media_publisher.config.conf_base import GOOGLE_GEMINI_TEMPERATURE_MIN,GOOGLE_GEMINI_TEMPERATURE_MAX,GOOGLE_GEMINI_TOPN_MIN,GOOGLE_GEMINI_TOPN_MAX |
| | | from auto_media_publisher.config.conf_base import GOOGLE_GEMINI_PROXY |
| | | from auto_media_publisher.config.conf_base import GOOGLE_CHAT_MIN_INTERVAL,DEFAULT_PREFIX_MAP,DEFAULT_SURFIX_MAP |
| | | from auto_media_publisher.config.conf_base import GEMINI_PROMPT_TITLE,GEMINI_PROMPT_DESCRIPTION,GEMINI_PROMPT_TAG,GOOGLE_STORY_GENERATE_PROMPT,GOOGLE_STORY_GENERATE_PROMPT_COMPLEX |
| | | from auto_media_publisher.config.conf_docx_generate import STORY_PROMPT_PARAMETERS |
| | | from auto_media_publisher.config.conf_docx_generate_complex import STORY_PROMPT_PARAMETERS_COMPLEX |
| | | |
| | | from auto_media_publisher.utils.logger import get_logger |
| | | from auto_media_publisher.utils.utils_text2image_pollinations import Text2ImageGenerator |
| | | from auto_media_publisher.utils.utils_google import init_gemini_model |
| | | |
| | | |
| | | class DocxGeneratorGemini: |
| | | def __init__(self,docx_author="小白",complex=False): |
| | | genai.configure(api_key=GOOGLE_API_KEY) |
| | | self.temperature = round(random.uniform(GOOGLE_GEMINI_TEMPERATURE_MIN, GOOGLE_GEMINI_TEMPERATURE_MAX), 2) |
| | | self.top_n = round(random.uniform(GOOGLE_GEMINI_TOPN_MIN, GOOGLE_GEMINI_TOPN_MAX), 2) |
| | | self.model = genai.GenerativeModel(GOOGLE_MODEL, |
| | | generation_config=genai.types.GenerationConfig( |
| | | temperature=self.temperature, |
| | | top_p=self.top_n, |
| | | top_k=random.choice([40, 50, 80, 100]) |
| | | ) |
| | | ) |
| | | |
| | | self.model = init_gemini_model(GOOGLE_GEMINI_PROXY) |
| | | |
| | | self.prefix_text = f"我是{docx_author},{random.choice(DEFAULT_PREFIX_MAP)}" |
| | | self.surfix_text = random.choice(DEFAULT_SURFIX_MAP) |
| | | |