使用LangChain调用智谱AI的glm-4对话

慈云数据 6个月前 (05-14) 技术支持 45 0

使用LangChain调用智谱AI的glm-4对话:

环境:JupyterLab

使用LangChain调用智谱AI的glm-4对话
(图片来源网络,侵删)

Python:3.12.2


下载包:

!pip install langchain -i https://mirrors.aliyun.com/pypi/simple/
!pip install zhipuai -i HTTPS://mirrors.aliyun.com/pypi/simple/
!pip install langchain_openai -i https://mirrors.ustc.edu.cn/pypi/web/simple

检查版本:

import sys
print("Python version:", sys.version_info.major, ".", sys.version_info.minor, ".", sys.version_info.micro)

导入包和调用:

from langchain.chains import LLMChain
from langchain_core.prompts import ChatPromptTemplate
from langchain_community.chat_models import ChatZhipuAI
# from langchain_community.chat_models import ChatOpenAI
from langchain_openai import ChatOpenAI
import jwt
import time
from langchain_core.messages import AIMessage, HumanMessage, SystemMessage
zhipuai_api_key="33b1667298dfc3e27b5487a4f2428c8c.WaSYvdnaLdE1e92a"
def generate_token(apikey: str, exp_seconds: int):
        id, secret = apikey.split(".")
        payload = {
            "api_key": id,
            "exp": int(round(time.time() * 1000)) + exp_seconds * 1000,
            "timestamp": int(round(time.time() * 1000)),
        }
        return jwt.encode(
            payload,
            secret,
            algorithm="HS256",
            headers={"alg": "HS256", "sign_type": "SIGN"},
        )
    
chat40 = ChatOpenAI(
        model_name="glm-4",
        openai_api_base="https://open.bigmodel.cn/api/PaaS/v4",
        openai_api_key=generate_token(zhipuai_api_key,10),
        streaming=False,
        verbose=True
    )
messages = [
    HumanMessage(content="写一篇现代7言诗"),
]
response = chat40.invoke(messages)
print(response)

返回例子:

content='都市繁华皆入眼,\n钢铁森林披新衣。\n车水马龙如流彩,\n霓虹闪烁夜未央。\n\n信息时代传万里,\n智能助手解千愁。\n心中仍有山水意,\n何处不是桃花源?' response_metadata={'token_usage': {'completion_tokens': 50, 'prompt_tokens': 11, 'total_tokens': 61}, 'model_name': 'glm-4', 'system_fingerprint': None, 'finish_reason': 'stop', 'logprobs': None}
使用LangChain调用智谱AI的glm-4对话
(图片来源网络,侵删)
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon