Duyệt đầu ra (tiếp tục)
Như một bước cuối cùng, hãy kết hợp mọi thứ vào một xích:
chain = llm | parser
result = chain.invoke(prompt_template_enum.format(job_description=job_
description))
print(result)
>> NO
Bây giờ hãy làm xích này phần của dòng làm việc LangGraph của chúng ta:
class JobApplicationState(TypedDict):
job_description: str
is_suitable: IsSuitableJobEnum
application: stranalyze_chain = llm | parser
def analyze_job_description(state):prompt = prompt_template_enum.format(job_description=state[“job_
description”])
result = analyze_chain.invoke(prompt)
return {“is_suitable”: result}def is_suitable_condition(state: StateGraph):
return state[“is_suitable”] == IsSuitableJobEnum.YES
builder = StateGraph(JobApplicationState)
builder.add_node(“analyze_job_description”, analyze_job_description)
builder.add_node(“generate_application”, generate_application)
builder.add_edge(START, “analyze_job_description”)
builder.add_conditional_edges(“analyze_job_description”, is_suitable_condition,
{True: “generate_application”, False: END})builder.add_edge(“generate_application”, END)
Chúng ta tạo 2 thay đổi quan trọng. Trước tiên, xích mới xây của chúng ta bây giờ là phần của một hàm
Python cái trình bày node analyze_job_description, và đó là làm cách nào chúng ta thực thi logic bên
trong node. Thứ hai, hàm edge điều kiện của chúng ta không trả về một string tí nào nữa, nhưng chúng
ta đã thêm một chập của các giá trị trả về tới các edges đích tới hàm add_conditional_edges, và đó
là một ví dụ về làm cách nào bạn có thể thực thi một rẽ nhánh của dòng làm việc của bạn.
Hãy giành một vài thời gian để thảo luận làm cách nào xử lí các lỗi tiềm tàng nếu duyệt của chúng ta
thất bại!
