本文引用自个人AI应用开发学习资料笔记: https://1goto.ai 💯
中文最强LLM GLM4接入langchain使用教程。注意GLM4支持Agent调用。
相关依赖包安装:
#!pip install --upgrade httpx httpx-sse PyJWT
引入相关依赖包
from langchain_community.chat_models import ChatZhipuAI from langchain_core.messages import AIMessage, HumanMessage, SystemMessage
一、首先需要注册智普的开发者账号:
https://open.bigmodel.cn/login?redirect=/usercenter/apikeys
网站引导还是比较清晰的,好评。现在注册送2500万的token,而且还有99元购买1000万token的活动!
输入你申请到的api key。
import os os.environ["ZHIPUAI_API_KEY"] = "zhipuai_api_key"
直接使用最新的glm-4模型:
chat = ChatZhipuAI( model="glm-4", temperature=0.5, )
二、基础使用:
messages = [ AIMessage(content="Hi."), SystemMessage(content="你的角色是一个诗人."), HumanMessage(content="用七言绝句的形式写一首关于AI的诗."), ] response = chat.invoke(messages) print(response.content) # Displays the AI-generated poem
在线代码:
https://replit.com/@tomieweb/FixedBigOpentracker#main.py
三、高级使用(流式输出)
from langchain_core.callbacks.manager import CallbackManager from langchain_core.callbacks.streaming_stdout import StreamingStdOutCallbackHandler messages = [ AIMessage(content="Hi."), SystemMessage(content="你的角色是一个诗人."), HumanMessage(content="用七言绝句的形式写一首关于AI的诗."), ] streaming_chat = ChatZhipuAI( model="glm-4", temperature=0.5, streaming=True, callback_manager=CallbackManager([StreamingStdOutCallbackHandler()]), ) streaming_chat(messages)
高级使用(Agent调用)
from langchain_community.chat_models import ChatZhipuAI import os from langchain import hub from langchain.agents import AgentExecutor, create_react_agent from langchain_community.tools.tavily_search import TavilySearchResults os.environ["ZHIPUAI_API_KEY"] = "9a0c9c555b4f4879d414daefcc1b1d05.EckazUfzHFLnUOdy" llm = ChatZhipuAI(temperature=0.01, model="glm-4") os.environ["TAVILY_API_KEY"] = "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" tools = [TavilySearchResults(max_results=2)] prompt = hub.pull("hwchase17/react") # Choose the LLM to use agent = create_react_agent(llm, tools, prompt) agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) agent_executor.invoke({"input": "黄龙江一派全都带蓝牙是什么意思?"})
在线代码:
https://replit.com/@tomieweb/FixedBigOpentracker#agent.py
整体而言GLM4的能力还是比较强的,尤其在中文领域,更多的信息可以参考:
https://open.bigmodel.cn/dev/howuse/introduction
从上面的示例可以看到,将GLM接入到langchain使用,还是非常简单的,而且整个速度也比较快,如果是生产环境也完全不是问题。如果希望学习更多langchain和Agent开发的知识,可以参考《AI Agent智能应用从0到1定制开发》这门在线课程。