IntuitionX_agent/test/llm/test_llm.py

96 lines
2.4 KiB
Python
Raw Normal View History

2026-01-01 21:37:02 +08:00
"""
LLM 流式调用测试
"""
from src.Module.llm.llm import StreamingLLM, chat
def test_streaming_chat():
"""测试流式对话"""
print("=" * 60)
print(" LLM 流式对话测试")
print("=" * 60)
llm = StreamingLLM(
model='deepseek-v3.2',
enable_thinking=False, # 不开启思考模式
)
message = "用一句话介绍你自己"
print(f"\n用户: {message}\n")
print("助手: ", end="", flush=True)
full_response = ""
for chunk in llm.chat(message):
if chunk.error:
print(f"\n[错误] {chunk.error}")
return False
if chunk.content:
print(chunk.content, end="", flush=True)
full_response += chunk.content
print("\n")
print(f"完整响应长度: {len(full_response)} 字符")
return len(full_response) > 0
def test_thinking_mode():
"""测试思考模式"""
print("\n" + "=" * 60)
print("思考模式测试")
print("=" * 60)
llm = StreamingLLM(
model='deepseek-v3.2',
enable_thinking=True, # 开启思考模式
)
message = "1+1等于几简单回答"
print(f"\n用户: {message}\n")
reasoning = ""
content = ""
is_answering = False
for chunk in llm.chat(message):
if chunk.error:
print(f"\n[错误] {chunk.error}")
return False
if chunk.reasoning_content:
if not is_answering:
if not reasoning:
print("思考过程: ", end="", flush=True)
print(chunk.reasoning_content, end="", flush=True)
reasoning += chunk.reasoning_content
if chunk.content:
if not is_answering:
print(f"\n\n回复: ", end="", flush=True)
is_answering = True
print(chunk.content, end="", flush=True)
content += chunk.content
print("\n")
print(f"思考过程: {len(reasoning)} 字符")
print(f"回复内容: {len(content)} 字符")
return len(content) > 0
if __name__ == '__main__':
results = []
success1 = test_streaming_chat()
results.append(("流式对话", success1))
success2 = test_thinking_mode()
results.append(("思考模式", success2))
print("\n" + "=" * 60)
print("测试结果:")
for name, success in results:
status = "✓ 通过" if success else "✗ 失败"
print(f" {name}: {status}")