LangChain应运而生,为开发者们提供了一种高效、便捷的工具,助力他们构建出功能强大的大型语言模型应用。本文将带您走进LangChain的世界,揭秘其背后的技术原理,探讨如何利用这一利器来拓展语言模型的无限可能。通过丰富的实例分析和实战教程,让您从入门到精通,轻松掌握LangChain的核心技能,为您的AI项目插上翅膀,迈向成功的彼岸。
安装智谱清言和langchain_community:
pip install langchain langchain_community
pip install --upgrade httpx httpx-sse PyJWT
提示用户输入智谱请言的KEY(去官网申请):
import os
import getpass
if "ZHIPUAI_API_KEY" not in os.environ or not os.environ["ZHIPUAI_API_KEY"]:
# 使用getpass安全地提示用户输入
api_key = getpass.getpass(prompt='Enter your API key: ')
os.environ["ZHIPUAI_API_KEY"] = api_key
调用智谱清言的模型ChatZhipuAI
from langchain_community.chat_models import ChatZhipuAI
from langchain_openai import ChatOpenAI
model = ChatZhipuAI(
model="glm-4",
temperature=0.5,
)
from langchain_core.messages import HumanMessage
respon = model.invoke([HumanMessage(content="Hi! 我是Bob")])
print(respon)
输出AIMessage对象:
AIMessage(content=‘你好,Bob!有什么我可以帮助你的吗?’, additional_kwargs={}, response_metadata={‘token_usage’: {‘completion_tokens’: 12, ‘prompt_tokens’: 9, ‘total_tokens’: 21}, ‘model_name’: ‘glm-4’, ‘finish_reason’: ‘stop’}, id=‘run-7867a109-53f4-4129-931e-e3d85b77a486-0’)
“model.invoke”的作用
“model.invoke”是一个函数调用,它通常用于触发模型的特定功能。在人工智能对话系统中,这个调用可以是向模型发送一个请求,然后模型会根据请求的内容返回相应的回答。这个过程就像是用户与智能助手之间的对话,用户提出问题,智能助手给出回答。
根据提供的AIMessage
对象信息,下面是对各字段的解析说明:
content
: 这是消息的主要内容,即AI模型生成的文本回复。在这个例子中,AI模型回复了一条问候消息:“你好,Bob!有什么我可以帮助你的吗?”additional_kwargs
: 这是一个字典,用于存储额外的参数,这些参数可能会在生成消息时被使用。在这个例子中,additional_kwargs
是空的,这意味着没有额外的参数被传递或使用。response_metadata
: 这个字段包含了关于消息生成的元数据,它是一个字典,包含了以下几个键:token_usage
: 描述了生成消息时使用的令牌数量。它包含以下子键:completion_tokens
: 完成令牌的数量,即用于生成最终回复的令牌数量。在这个例子中,使用了12个完成令牌。prompt_tokens
: 提示令牌的数量,即输入到模型中的令牌数量。在这个例子中,使用了9个提示令牌。total_tokens
: 总令牌数量,即完成令牌和提示令牌的总和。在这个例子中,总共使用了21个令牌。
model_name
: 表示生成消息所使用的AI模型的名称。在这个例子中,模型名称是"glm-4"。finish_reason
: 描述了生成过程结束的原因。在这个例子中,finish_reason
是"stop",这意味着生成过程是因为达到了某种停止条件(例如生成了足够数量的令牌或遇到了特定的结束标记)而停止的。
id
: 这是一个唯一的消息标识符,用于区分不同的消息实例。在这个例子中,消息的ID是"run-7867a109-53f4-4129-931e-e3d85b77a486-0"。
综上所述,这个AIMessage
对象代表了一条由"glm-4"模型生成的问候消息,该消息使用了21个令牌,其中包括12个完成令牌和9个提示令牌,并且生成过程是因为达到了停止条件而结束的。