1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #通过分析文章,生成分析结果
- import asyncio
- import os
- import time
- from test.deepseek_chat import chat_with_deepseek
- def load_prompt(filename):
- with open(filename, "r", encoding="utf-8") as f:
- return "".join(f.readlines())
-
- async def chat(prompt: str) -> str:
- message = [{'role':'user', 'content': prompt}]
- call_deepseek = chat_with_deepseek(message)
- output = ""
- async for chunk in call_deepseek:
- output = output + chunk
- print(chunk, end="")
- print("\n")
- return output
-
- if __name__ == "__main__":
- #
- #
- prompt_template = load_prompt("kb/prompt_4_abstract.txt")
- path = "./docs"
- for root, dirs, files in os.walk(path):
- for file in files:
- file_path = os.path.join(root, file)
- print(">>> process", file_path)
- text = load_prompt(file_path)
- prompt = prompt_template.format(text=text)
- count = 0
- while count < 3:
- try:
- coro = chat(prompt)
- output = asyncio.run(coro)
- if os.path.exists(f"./doc_abstract/{file}"):
- print("abstract file already exists, skip")
- else:
- with open(f"./doc_abstract/{file}", "w", encoding="utf-8") as f:
- f.write(output)
- count = 3
- except Exception as e:
- print(e)
- print(">>> process", file_path, "failed, retry", count)
- count = count + 1
- time.sleep(3)
|