当前位置: 首页 > news >正文

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

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

http://www.mrgr.cn/news/39782.html

相关文章:

  • Linux内核 -- 读写文件系统文件之kernel_read与kernel_write
  • SpringBoot整合weixin-java-pay实现微信小程序支付
  • 高效开发:SpringBoot网上租赁系统实现细节
  • Leetcode 981. 基于时间的键值存储
  • 随手记:ul-table表格合并方法
  • 工业交换机的RMON
  • java中有两个list列表,尽量少的去循环
  • 2024 年 25 款最佳入侵检测软件推荐 - 网络安全必备,零基础入门到精通,收藏这一篇就够了
  • 谷歌浏览器完美清除缓存
  • 一图看懂好利来老鼠接奶酪SVG交互|伸长+滑动叠加排版|E2.COOL黑科技SVG编辑器
  • 匿名管道 Linux
  • 前端css样式设置元素的绝对定位和相对定位,要注意宽度和高度的设置
  • 一条命令Docker安装常用桌面linux系统含一些系统和应用
  • 数据结构(链表的操作算法)
  • 不带头结点单链表逆置递归实现---未验证
  • 如何选择合适的量化交易策略,回测与模拟交易的实战演练
  • java-netty客户端断线重启0.9.0
  • Vim常见模式介绍,你知道哪些?
  • find()和findIndex()方法
  • Navicat 工具 下载安装