agent.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import autogen, json
  2. from config import llm_config, llm_config_ds
  3. from prompt import get_summary_system
  4. search_answer = autogen.AssistantAgent(
  5. name="summary_content",
  6. llm_config=llm_config_ds,
  7. system_message=get_summary_system,
  8. code_execution_config=False,
  9. human_input_mode="NEVER",
  10. )
  11. async def get_content_summary(question, res_info, final_data):
  12. try:
  13. data = list(final_data.items())
  14. final_chunks = {}
  15. prompt = "问题:\n" + question + '\n资料信息:\n' + res_info
  16. answer = await search_answer.a_generate_reply(messages=[{'role':'user', 'content': prompt}])
  17. print(answer)
  18. print(type(answer))
  19. if '```json' in answer:
  20. answer = answer.split('```json')[1].split('```')[0]
  21. answer = json.loads(answer)
  22. elif '{' in answer:
  23. answer = answer.split('{')[1].split('}')[0]
  24. answer = json.loads("{" + answer + "}")
  25. print(answer)
  26. for k,v in answer.items():
  27. final_chunks[data[int(k)-1][0]] = v
  28. search_str = "\n".join([f"[{i+1}]: \n {k}: \n{s} \n" for i, (k,s) in enumerate(final_chunks.items())])
  29. return final_chunks, search_str
  30. except Exception as e:
  31. print(f'重写报错: {str(e)}')
  32. return {}, res_info
  33. if __name__ == '__main__':
  34. import asyncio
  35. answer = asyncio.run(search_answer.a_generate_reply(messages=[{'role':'user', 'content': '英国的首都在哪里'}]))
  36. print(answer)
  37. pass