Self-correcting code assistants with Codestral에서는 LangGraph를 이용해 code 생성하는것을 보여줍니다.
langgraph_code_assistant_mistral.ipynb에서는 상세한 코드를 보여줍니다.
class GraphState(TypedDict):
error: str
messages: Annotated[list[AnyMessage], add_messages]
generation: str
iterations: int
Graph는 아래와 같이 정의합니다.
builder = StateGraph(GraphState)
# Define the nodes
builder.add_node("generate", generate) # generation solution
builder.add_node("check_code", code_check) # check code
# Build graph
builder.set_entry_point("generate")
builder.add_edge("generate", "check_code")
builder.add_conditional_edges(
"check_code",
decide_to_finish,
{
"end": END,
"generate": "generate",
},
)
memory = SqliteSaver.from_conn_string(":memory:")
graph = builder.compile(checkpointer=memory)
이때의 결과는 아래와 같습니다.