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