135 lines
4.5 KiB
Python
135 lines
4.5 KiB
Python
|
|
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
|