为了方便在 langchain 中使用,在官方SDK基础上做了如下额外工作:
- 问题1: 智谱AI的官方SDK使用了 pydantic v2,这与 langchain(尤其是langserve)不兼容
- 问题2: langchain.community 的国内包更新不及时,无法在 langchain 的 LCEL 语法中使用
- invoke
- ainvoke
- batch
- abatch
- stream
- astream
- astream_events
- asteram_log
- 已支持生成模型:"glm-3-turbo", "glm-4", "glm-4v"
- 已支持向量模型:"embedding-2"
- 逻辑推理和对话生成
- 支持工具回调
from langchain_zhipu import ChatZhipuAI
llm = ChatZhipuAI()
# invoke
llm.invoke("hi")
# stream
for s in llm.stream("hi"):
print(s)
# astream
async for s in llm.astream("hi"):
print(s)
from langchain_zhipu import ChatZhipuAI
from langchain_core.prompts import ChatPromptTemplate
llm4v = ChatZhipuAI(model="glm-4v")
prompt = ChatPromptTemplate.from_messages([
("human", [
{
"type": "text",
"text": "图里有什么"
},
{
"type": "image_url",
"image_url": {
"url" : "https://img1.baidu.com/it/u=1369931113,3388870256&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1703696400&t=f3028c7a1dca43a080aeb8239f09cc2f"
}
}
]),
])
(prompt|llm4v).invoke({})
请查看 agent.ipynb
官方接口指南 智谱开放平台大模型接口 Python SDK(Big Model API SDK in Python),让开发者更便捷的调用智谱开放API