llm.py 1002 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # LLM 大模型对话模块
  2. from openai import OpenAI
  3. from config import Config
  4. def chat(user_text: str, history: list = None) -> str:
  5. """
  6. 调用 LLM 生成回复
  7. 输入:用户文字 + 历史对话
  8. 输出:LLM 回复文字
  9. """
  10. client = OpenAI(
  11. api_key=Config.LLM_API_KEY,
  12. base_url=Config.LLM_BASE_URL,
  13. )
  14. messages = [{'role': 'system', 'content': Config.SYSTEM_PROMPT}]
  15. if history:
  16. for msg in history:
  17. messages.append(msg)
  18. messages.append({'role': 'user', 'content': user_text})
  19. print('LLM 思考中...')
  20. response = client.chat.completions.create(
  21. model=Config.LLM_MODEL,
  22. messages=messages,
  23. max_tokens=200,
  24. temperature=0.7,
  25. )
  26. reply = response.choices[0].message.content.strip()
  27. print(f'LLM 回复: {reply}')
  28. return reply
  29. if __name__ == '__main__':
  30. test_text = '你好,请介绍一下自己'
  31. reply = chat(test_text)
  32. print(f'\n回复: {reply}')