This commit is contained in:
38
task/summary/ai_summary.py
Normal file
38
task/summary/ai_summary.py
Normal file
@ -0,0 +1,38 @@
|
||||
from database.database import get_session
|
||||
from database.tmaterial.crud import get_material_need_summary, update_material
|
||||
from llm.kimi import Kimi
|
||||
from log.log_manager import log
|
||||
from task.manager_task import execute_task
|
||||
|
||||
|
||||
def ai_summary(input_message: str, instance) -> str:
|
||||
response = instance.generate(input_message)
|
||||
log(response)
|
||||
return response
|
||||
|
||||
def ai_summary_task():
|
||||
with get_session() as db:
|
||||
news_list = get_material_need_summary(db)
|
||||
if len(news_list) == 0:
|
||||
log("ai_summary_task finish, task size 0")
|
||||
return
|
||||
kimi = Kimi()
|
||||
for news in news_list:
|
||||
# input_message = news.url + "\n阅读并生成百字以内的摘要"
|
||||
# input_message = "请将以下文章内容用一句话进行概括,提炼出最核心的观点或主题,简洁明了,不超过 100 字:\n" + news.url
|
||||
log(news.url)
|
||||
input_message = (
|
||||
"请将以下新闻内容提炼成一句话,简洁明了地传达事件的核心信息,包括谁、什么、何时、何地和为何,字数不超过 100 字:"
|
||||
+ news.url
|
||||
)
|
||||
summary = ai_summary(input_message, kimi)
|
||||
updates = {"ai_summary": summary}
|
||||
update_material(db, news.id, updates)
|
||||
kimi.quit()
|
||||
log(f"ai_summary_task finish, task size {len(news_list)}")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# input_message_ = "https://www.ofweek.com/ai/2024-12/ART-201700-8500-30653318.html\n阅读并生成200字以内的摘要"
|
||||
# logger.info(ai_summary(input_message_))
|
||||
execute_task(ai_summary_task)
|
||||
Reference in New Issue
Block a user