Hello LangChain-init_chat_model.py

import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model


# 1. init_chat_model - 模型初始化
# init_chat_model 是 LangChain 1.0 中用于初始化聊天模型的统一接口。

# 基本语法
# 参数    类型    说明    默认值
# model    str    必需。格式为 "provider:model_name",如 "groq:llama-3.3-70b-versatile"    无
# api_key    str    API 密钥。如果不提供,会从环境变量中读取(如 GROQ_API_KEY)    None
# temperature    float    控制输出随机性。范围 0.0-2.0。
# - 0.0:最确定性
# - 1.0:默认,平衡
# - 2.0:最随机    1.0
# max_tokens    int    限制模型输出的最大 token 数量    模型默认值
# model_kwargs    dict    传递给底层模型的额外参数    {}


def get_chat_model():
    """获取聊天模型实例"""
    load_dotenv()

    # 获取密钥
    # 定义配置字典 (注意使用冒号 :)
    qwen_config = {
        "api_key": os.getenv("QWEN_API_KEY"),  # 获取QWEN_API_KEY
        "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",  # 请求地址
        "model_name": "qwen3.5-flash",
    }

    model_config = qwen_config

    # 2. 使用 init_chat_model 初始化模型
    # 对于 DashScope 的 OpenAI 兼容接口,我们通常指定 model_provider="openai"
    # 并通过 base_url 指向 DashScope,model 参数传入具体的模型名称
    return init_chat_model(
        model=f"{model_config['model_name']}",  # 或者直接写 "qwen3.5-flash"
        model_provider="openai",  # 使用 openai 提供者来兼容 DashScope 接口
        api_key=model_config["api_key"],
        base_url=model_config["base_url"],
        temperature=0.3,
    )
添加新评论