Files
2026-02-03 01:20:00 +08:00

88 lines
2.6 KiB
Python

from src.modules.text_ai_module.text_ai_core.general_text_ai_req import UnifiedLLM, ModelConfig, ModelProvider, create_llm_client
from src.config.config import get_settings
from src.config.convert_env import EnvConverter
from src.config.file_config import DirectoryInitializer
EnvConverter().convert(backup_existing=True) # 若是首次启动则从env模板中生成env文件
DirectoryInitializer(get_settings()) # 初始化必要的目录(若不存在则创建)
def test1():
"""
测试常规调用
"""
# 配置模型
config = ModelConfig(
provider=ModelProvider.OPENAI,
model_name=get_settings().ai_model_name,
base_url=get_settings().ai_api_base_url,
api_key=get_settings().ai_api_key, # 从环境中取出相关的api_key
temperature=0.7,
max_tokens=2048
)
# 创建客户端
llm = UnifiedLLM(config)
# 发送消息
response = llm.chat([
{"role": "system", "content": "你是一个DeepSeek助手"},
{"role": "user", "content": "请介绍一下DeepSeek模型的特点"}
])
print(response.content)
def base_test2():
"""
测试流式响应
"""
# 使用快捷函数
deepseek_llm = create_llm_client(
provider="openai", # DeepSeek使用OpenAI兼容接口
model_name=get_settings().ai_model_name,
api_key=get_settings().ai_api_key,
base_url=get_settings().ai_api_base_url
)
# 流式聊天
messages = [
{"role": "user", "content": "用Python写一个快速排序算法"}
]
print("正在生成响应...")
for chunk in deepseek_llm.stream_chat(messages):
print(chunk.content, end="", flush=True)
def test_lm_studio():
"""测试本地 LM Studio 模型"""
print("=== 测试本地 LM Studio ===")
# 使用UnifiedLLM类
config = ModelConfig(
provider=ModelProvider.LM_STUDIO,
model_name="qwen/qwen3-4b-2507",
base_url="http://192.168.1.8:1234/v1",
api_key="", # LM Studio不需要API密钥,留空
temperature=0.7,
max_tokens=1024,
streaming=False # 启用流式响应
)
llm = UnifiedLLM(config)
# 发送消息
messages = [
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": "用中文介绍一下自己"}
]
print("非流式响应:")
response = llm.chat(messages, streaming=False)
print(response.content)
print("\n流式响应:")
for chunk in llm.stream_chat(messages):
print(chunk.content, end="", flush=True)
if __name__ == "__main__":
test_lm_studio()