from langchain.chat_models import init_chat_model from langchain_openai import ChatOpenAI def model_deepseek_chat(temperature: float = 1.3): """ 初始化并返回一个基于deepseek-chat模型的聊天模型实例。 DEEPSEEK_API_KEY: 从环境变量中获取的Deepseek API密钥。 DEEPSEEK_BASE_URL: 从环境变量中获取的Deepseek API基础URL。 定价: 输入token:$0.55/1M 输出token:$1.70/1M 返回: ChatDeepseek: 一个初始化的ChatDeepseek模型实例,用于与deepseek-chat模型进行交互。 """ llm = init_chat_model("deepseek-chat", temperature=temperature) return llm def model_deepseek_reasoner(temperature: float = 1.3): """ 初始化并返回一个基于deepseek-reasoner模型的聊天模型实例。 定价: 输入token:$0.55/1M 输出token:$1.70/1M 返回: ChatDeepseek: 一个初始化的ChatDeepseek模型实例,用于与deepseek-reasoner模型进行交互。 """ llm = init_chat_model("deepseek-reasoner", temperature=temperature) return llm def model_gpt_4o_mini(temperature: float = 0.7): """ 初始化并返回一个基于gpt-4o-mini模型的聊天模型实例。 定价: 输入token:$0.15/1M 输出token:$0.60/1M 返回: ChatOpenAI: 一个初始化的ChatOpenAI模型实例,用于与gpt-4o-mini模型进行交互。 """ # 初始化并返回gpt-4o-mini模型的聊天模型实例 llm = init_chat_model("gpt-4o-mini", temperature=temperature) return llm def model_local_deepseek_r1_1dot5b(temperature: float = 0.7, max_tokens: int = 2000): """ 初始化并返回一个基于deepseek-r1:1.5b模型的聊天模型实例。 定价:免费 返回: ChatOllama: 一个初始化的ChatOllama模型实例,用于与本地deepseek-r1:1.5b模型进行交互。 """ # 初始化并返回deepseek-r1:1.5b模型的聊天模型实例 llm = init_chat_model( "ollama:deepseek-r1:1.5b", base_url="http://localhost:11434", temperature=temperature, max_tokens=max_tokens, ) return llm def model_local_llama3_2dot3b(temperature: float = 0.7, max_tokens: int = 2000): """ 初始化并返回一个基于llama3.2:3b模型的聊天模型实例。 定价:免费 返回: ChatOllama: 一个初始化的ChatOllama模型实例,用于与本地llama3.2:3b模型进行交互。 """ # 初始化并返回llama3.2:3b模型的聊天模型实例 llm = init_chat_model( "ollama:llama3.2:3b", base_url="http://localhost:11434", temperature=temperature, max_tokens=max_tokens, ) return llm def model_local_nomic_embed_text_latest( temperature: float = 0.7, max_tokens: int = 2000 ): """ 初始化并返回一个基于nomic-embed-text:latest模型的聊天模型实例。 定价:免费 返回: ChatOllama: 一个初始化的ChatOllama模型实例,用于与本地nomic-embed-text:latest嵌入模型进行交互。 """ # 初始化并返回nomic-embed-text:latest模型的聊天模型实例 llm = init_chat_model( "ollama:nomic-embed-text:latest", base_url="http://localhost:11434", temperature=temperature, max_tokens=max_tokens, ) return llm def model_local_Qwen3_0dot6B_GGUF_latest( temperature: float = 0.7, max_tokens: int = 2000 ): """ 初始化并返回一个基于OxW/Qwen3-0.6B-GGUF:latest模型的聊天模型实例。 返回: ChatOllama: 一个初始化的ChatOllama模型实例,用于与本地OxW/Qwen3-0.6B-GGUF:latest模型进行交互。 """ # 初始化并返回OxW/Qwen3-0.6B-GGUF:latest模型的聊天模型实例 llm = init_chat_model( "ollama:OxW/Qwen3-0.6B-GGUF:latest", base_url="http://localhost:11434", temperature=temperature, max_tokens=max_tokens, ) return llm def model_lan_vllm_qwen2_7b_instruct( temperature: float = 0.7, max_tokens: int = 2000 ): llm = ChatOpenAI( openai_api_base="http://192.168.10.11:8000/v1", # vLLM 服务器地址 model_name="qwen2-7b-instruct", # 模型名称(与 --served-model-name 一致) openai_api_key="none", # vLLM 默认不需要 key max_tokens=512, temperature=temperature, streaming=False, # 是否流式输出 ) return llm