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

Xích các prompts cùng với nhau

Khi các prompts của bạn trở nên nâng cao hơn, chúng có xu hướng gia tăng trong kích cỡ và phức tạp. Một
kịch bản chung là để định dạng cụ thể các prompts của bạn, và bạn có thể làm cái này hoặc bằng string
hoặc bằng thay thế hàm. Cái sau là phù hợp nếu một vài phần của prompt của bạn phụ thuộc thay đổi động
các biến (ví dụ, date hiện tại, user name, etc.) Dưới đây, bạn có thể tìm thấy một vi dụ về một thay
thế từng phần trong một mẫu prompt:

system_template = PromptTemplate.from_template(“a: {a} b: {b}”)
system_template_part = system_template.partial(
a=”a” # you also can provide a function here
)
print(system_template_part.invoke({“b”: “b”}).text)
>> a: a b: b

Cách thức khác để làm các prompts của bạn quản li hơn là chia tách chúng thành các đoạn và xích chúng
cùng với nhau:

system_template_part1 = PromptTemplate.from_template(“a: {a}”)
system_template_part2 = PromptTemplate.from_template(“b: {b}”)
system_template = system_template_part1 + system_template_part2
print(system_template_part.invoke({“a”: “a”, “b”: “b”}).text)
>> a: a b: b

Bạn cũng có thể xây dựng các thay thế phức tạp hơn bằng cách sử dụng class langchain_core.prompts.
PipelinePromptTemplate. Ngoài ra, bạn có thể truyền các mẫu vào một ChatPromptTemplate và chúng
sẽ tự động được tạo cùng với nhau:

system_prompt_template = PromptTemplate.from_template(“a: {a} b: {b}”)
chat_prompt_template = ChatPromptTemplate.from_messages(

[(“system”, system_prompt_template.template),
(“human”, “hi”),
(“ai”, “{c}”)])

messages = chat_prompt_template.invoke({“a”: “a”, “b”: “b”, “c”: “c”}).
messages
print(len(messages))
print(messages[0].content)
>> 3
a: a b: b

Chia sẻ