2024创新项目实训_09

与glm4模型接口的链接

1. 导入必要的模块和类

from typing import Any, List, Mapping, Optional, Dict from langchain_core.callbacks.manager import CallbackManagerForLLMRun from langchain_core.language_models.llms import LLM from zhipuai import ZhipuAI

  • LLM 类和 CallbackManagerForLLMRun 是从 langchain_core 模块中导入的,用于语言模型处理和回调管理。
  • ZhipuAI 是一个用于访问 ZhipuAI 服务的自定义类或模块。

2. 定义 ZhipuAILLM

  • ZhipuAILLM 类继承自 LLM 类,定义了几个属性用于配置 ZhipuAI 模型的行为:
    • model:默认模型为 "glm-4",可以在实例化时指定。
    • temperature:生成文本时的温度参数,默认为 0.1
    • api_key:ZhipuAI 的 API 密钥,需要在实例化时提供。
    • max_tokens:生成的文本的最大长度限制,默认为 2048

3. 实现 _call 方法

 
  • _call 方法是 LLM 类的抽象方法,必须在子类中实现。它接收 prompt(用户输入的提示信息)、stoprun_managerkwargs 等参数。
  • gen_glm_params(prompt) 函数生成与 ZhipuAI 模型交互所需的消息格式。
  • 创建 ZhipuAI 客户端实例,并使用 client.chat.completions.create 方法调用 ZhipuAI 模型进行生成文本。
  • 如果成功生成了文本,则返回生成的文本内容;否则返回错误提示信息。

4. 实现属性 @property

 
  • _default_params 属性返回包含默认参数的字典,目前只包含 temperature 参数。
  • _llm_type 属性返回表示语言模型类型的字符串 "Zhipu"
  • _identifying_params 属性返回一个字典,包含用于识别该语言模型的参数信息,包括模型名称和默认参数。

总结

这段代码实现了一个集成了 ZhipuAI 服务的自定义语言模型 ZhipuAILLM 类。它通过 _call 方法实现了与 ZhipuAI 模型的交互,并通过 _default_params_identifying_params 属性提供了一些默认参数和识别信息。这种结构使得可以通过统一的接口调用 ZhipuAI 的功能,并且可以方便地进行扩展和定制化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值