41 lines
843 B
Python
41 lines
843 B
Python
from typing import Annotated, TypedDict
|
|
|
|
from langchain_openai import ChatOpenAI
|
|
from langgraph.graph import StateGraph, START, END
|
|
from langgraph.graph.message import add_messages
|
|
|
|
|
|
class State(TypedDict):
|
|
messages: Annotated[list, add_messages]
|
|
|
|
|
|
model = ChatOpenAI(
|
|
model="deepseek-v4-flash",
|
|
temperature=0,
|
|
base_url="https://api.deepseek.com/v1",
|
|
)
|
|
|
|
|
|
def chatbot(state: State):
|
|
response = model.invoke(state["messages"])
|
|
return {"messages": [response]}
|
|
|
|
|
|
builder = StateGraph(State)
|
|
|
|
builder.add_node("chatbot", chatbot)
|
|
builder.add_edge(START, "chatbot")
|
|
builder.add_edge("chatbot", END)
|
|
|
|
graph = builder.compile()
|
|
|
|
result = graph.invoke({
|
|
"messages": [
|
|
{
|
|
"role": "user",
|
|
"content": "请用一句话解释 LangGraph。",
|
|
}
|
|
]
|
|
})
|
|
|
|
print(result["messages"][-1].content) |