LangChain LangGraph 教程:安装

安装

langgraph 依赖 langchain,调用大模型依赖 langchain-openai,所以通常安装这3个库

pip install -U langgraph langchain langchain-openai

参数解释:

  • -U:安装最新版,如果存在旧版就自动更新

测试是否安装成功

下面例子是对话循环

from typing import TypedDict, List, Dict, Any
from langgraph.graph import StateGraph, END
from langchain_openai import ChatOpenAI

# 1. 定义状态
class ChatState(TypedDict):
    messages: List[Dict[str, Any]]

# 2. 初始化 LLM
llm = ChatOpenAI(model="gpt-3.5-turbo")

# 3. 定义节点
def call_llm(state: ChatState) -> ChatState:
    messages = state["messages"]
    response = llm.invoke(messages)
    return {"messages": messages + [{"role": "assistant", "content": response.content}]}

# 4. 定义条件边:是否结束
def is_end(state: ChatState) -> str:
    if len(state["messages"]) > 3:  # 最多3轮对话
        return END
    return "continue"

# 5. 构建图
graph = StateGraph(ChatState)
graph.add_node("llm", call_llm)
graph.set_entry_point("llm")
graph.add_conditional_edges("llm", is_end, {"continue": "llm", END: END})

# 6. 编译并运行
app = graph.compile()
result = app.invoke({"messages": [{"role": "user", "content": "Hello!"}]})
print(result["messages"][-1]["content"])