"""
第 4 步：先测试 Qwen 大模型能不能正常调用。

这一步还不接 MCP。
目标只有一个：确认你的 Qwen API Key、base_url、模型名都没问题。

运行前：
1. 复制 .env.example 为 .env
2. 在 .env 里填 DASHSCOPE_API_KEY
3. 运行：python step4_qwen_hello.py
"""

from __future__ import annotations

import os

from dotenv import load_dotenv
from langchain_openai import ChatOpenAI


def build_qwen_model() -> ChatOpenAI:
    load_dotenv()

    api_key = os.getenv("DASHSCOPE_API_KEY")
    if not api_key:
        raise RuntimeError("请先在 .env 里填写 DASHSCOPE_API_KEY。")

    return ChatOpenAI(
        api_key=api_key,
        base_url=os.getenv("QWEN_BASE_URL", "https://dashscope.aliyuncs.com/compatible-mode/v1"),
        model=os.getenv("QWEN_MODEL", "qwen-plus"),
        temperature=0.2,
    )


def main() -> None:
    model = build_qwen_model()
    response = model.invoke("用一句话介绍你自己。")
    print(response.content)


if __name__ == "__main__":
    main()
