Xây các dòng làm việc với LangGraph (phần 24)

Các thử lại (tiếp tục)

Chúng ta có thể đọc mã nguồn trên GitHub để hiểu tốt hơn cái gì đang diễn ra, nhưng về bản chất, đó
là một ví dụ về một pseudo-code mà không quá nhiều chi tiết. Chúng ta minh họa làm cách nào chúng ta
có thể truyền lỗi xử lí và đầu ra gốc cái đã dẫn lỗi này quay trở lại một LLM và yêu cầu sửa lỗi vấn
đề:

prompt = “””
Prompt: {prompt} Completion: {completion} Above, the Completion did not
satisfy the constraints given in the Prompt. Details: {error} Please try
again:
“””
retry_chain = prompt | llm | StrOutputParser()
# try to parse a completion with a provided parser
parser.parse(completion)
# if it fails, catch an error and try to recover max_retries attempts
completion = retry_chain.invoke(original_prompt, completion, error)

Chúng ta đã giới thiệu StrOutputParser trong các học phần trước để chuyển đổi đầu ra của ChatModel
từ một AIMessage thành một string để rằng chúng ta có thể dễ dàng truyền nó tới bước tiếp theo
trong xích.
Thứ khác để giữ trong đầu là rằng các khối xây dựng LangChain cho phép bạn định nghĩa lại các tham
số, bao gồm các prompts mặc định. Bạn luôn có thể check chúng trên GitHub; đôi khi nó là ý tưởng
tốt để tùy chỉnh các prompts mặc định cho các dòng làm việc của bạn.
Bạn có thể đọc về các cái xử lí sửa đầu ra có sẵn khác ở đây:
https://python.l.angchain.com/docs/how_to/output_parser_retry/

Chia sẻ