ChatModel是以对话为场景,提供高阶能力。
工具调用:常用的聊天模型提供工具调用API接口。这些API接口可以使LLMs能与第三方服务、API和数据进行交互。
结构化输出:聊天模型输出结构化输出,例如JSON格式。
多模态:可以处理图像、音频和视频数据。
以ChatOllama作为ChatModel,代码示例:
from langchain_ollama import ChatOllama
model = ChatOllama(model="qwen2.5")
response = model.invoke("请为智能手表产品写一个简短的广告语,突出它的智能特点,适用于上班族")
print(response)
ChatModel响应,结构化输出(已手动调整,方便查看):
content='"掌控时间,智领未来。一抬腕间,尽知天下事——让智能引领你的每一步!" \n\n此广
告语旨在突显智能手表的便捷性和智能化特性,特别针对上班族的需求,强调它可以轻松融入日
常生活和工作之中,提高效率的同时也为忙碌的生活带来便利。'
additional_kwargs={}
response_metadata={'model': 'qwen2.5', 'created_at': '2025-03-20T01:43:13.0878561Z', 'done': True, 'done_reason': 'stop', 'total_duration': 25222223200, 'load_duration': 38321100, 'prompt_eval_count': 49, 'prompt_eval_duration': 4214641100, 'eval_count': 65, 'eval_duration': 20964133200, 'message': Message(role='assistant', content='', images=None, tool_calls=None)}
id='run-49c2a8f2-5874-4770-9d0b-30f6e2c3c91c-0'
usage_metadata={'input_tokens': 49, 'output_tokens': 65, 'total_tokens': 114}
LLM
旧版本的语言模型,输入输出是字符串。这些模型是典型的名称为非聊天模型。
以Ollama作为LLM,代码示例:
from langchain_community.llms import Ollama
llm = Ollama(model="qwen2.5")
response = llm.invoke("请为智能手表产品写一个简短的广告语,突出它的智能特点,适用于上班族")
print(response)
LLM响应,输出字符串:
"一键掌控,智领未来。您的智能手表,开启高效办公新纪元!"