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

Các mẫu prompt

Cái chúng ta đã làm trong các học phần trước được gọi là zero-shot prompting. Chúng ta đã tạo một mẫu
prompt cái chứa một mô tả về mỗi nhiệm vụ. Khi chúng ta chạy dòng làm việc, chúng ta thay thế các giá
trị nhất định của mẫu prompt này với các đối số thời gian thực. LangChain có một vài trừu tượng rất
hữu dụng để giúp với cái đó.
Trong các học phần trước, chúng ta đã giới thiệu PromptTemplate, cái là một RunnableSerializable. Nhớ
rằng nó thay thế một mẫu string suốt khởi động – ví dụ, bạn có thể tạo một mẫu dựa trên f-string và
thêm xích của bạn, và LangChain sẽ truyền các tham số từ đầu vào, thay thế chúng trong mẫu, và truyền
string tới bước tiếp theo trong xích:

from langchain_core.output_parsers import StrOutputParser
lc_prompt_template = PromptTemplate.from_template(prompt_template)
chain = lc_prompt_template | llm | StrOutputParser()
chain.invoke({“job_description”: job_description})

Cho các chat models, một đầu vào có thể không chỉ là một string mà còn là một list các thông điệp – ví
dụ, một thông điệp hệ thống đi theo bởi một lịch sử của cuộc trao đổi trò chuyện. Vì vậy, chúng ta
cũng có thể tạo một mẫu cái chuẩn bị một list các thông điệp, và một mẫu bản thân nó có thể được tạo
dựa trên một list các thông điệp hay các mẫu thông điệp, như trong ví dụ này:

from langchain_core.prompts import ChatPromptTemplate,
HumanMessagePromptTemplate
from langchain_core.messages import SystemMessage, HumanMessage
msg_template = HumanMessagePromptTemplate.from_template(
prompt_template)
msg_example = msg_template.format(job_description=”fake_jd”)
chat_prompt_template = ChatPromptTemplate.from_messages([
SystemMessage(content=”You are a helpful assistant.”),
msg_template])
chain = chat_prompt_template | llm | StrOutputParser()
chain.invoke({“job_description”: job_description})

Chia sẻ