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

Những cái giảm (tiếp tục)

Tùy chọn khác là sử dụng phương thức add mặc định với Annotated type hint. Bằng cách sử dụng type hint
này, chúng ta thông báo cho trình dịch LangGraph rằng dạng biến của chúng ta trong trạng thái là một
list các strings, và nó nên sử dụng phương thức add để nối 2 lists (nếu giá trị đã tồn tại trong state
và một node sinh ra một cái mới):

from typing import Annotated, Optional
from operator import add
class JobApplicationState(TypedDict):


actions: Annotated[list[str], add]

Tùy chọn cuối cùng là viết cái giảm tùy chỉnh của bản thân bạn. Trong ví dụ này, chúng ta viết
một cái giảm tùy chỉnh cái chấp nhận không chỉ một list từ node (như một giá trị mới) mà còn là
một string đơn cái sẽ được chuyển đổi thành một list:

from typing import Annotated, Optional, Union
def my_reducer(left: list[str], right: Optional[Union[str, list[str]]]) ->
list[str]:

if right:

return left + [right] if isinstance(right, str) else left + right

return left

class JobApplicationState(TypedDict):


actions: Annotated[list[str], my_reducer]

Chia sẻ