继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【AI应用开发手记2】智普GLM如何接入langchain

2024-08-19 15:18:363361浏览

tomiezhang

1实战 · 3手记 · 1推荐
TA的实战

本文引用自个人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

https://img1.sycdn.imooc.com/66c2eff50001bd8417501920.jpg



网站引导还是比较清晰的,好评。现在注册送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://img1.sycdn.imooc.com/66c2f3240001949510560426.jpg

在线代码:
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

https://img1.sycdn.imooc.com/66c2f17c0001348d20000643.jpg

整体而言GLM4的能力还是比较强的,尤其在中文领域,更多的信息可以参考:

https://open.bigmodel.cn/dev/howuse/introduction

从上面的示例可以看到,将GLM接入到langchain使用,还是非常简单的,而且整个速度也比较快,如果是生产环境也完全不是问题。如果希望学习更多langchain和Agent开发的知识,可以参考《AI Agent智能应用从0到1定制开发》这门在线课程。




打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP