LangChain进阶技巧:提高聊天机器人性能的策略[第三课]

3 篇文章 0 订阅
2 篇文章 0 订阅

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个提示令牌,并且生成过程是因为达到了停止条件而结束的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值