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

Khởi tạo đầu ra có kiểm soát (tiếp tục)

Duyệt đầu ra

Duyệt đầu ra là cơ bản khi tích hợp các LLMs vào các dòng làm việc lớn hơn, nơi các bước kế tiếp nhau
yêu cầu dữ liệu có cấu trúc hơn là các trả lời ngôn ngữ tự nhiên. Một cách thức để làm cái đó là thêm
các lệnh tương ứng vào prompt và duyệt đầu ra.
Hãy xem một nhiệm vụ đơn giản. Chúng ta thích phân loại liệu một mô tả công việc nhất định có phù hợp
cho một lập trình viên Java junior như một bước của dòng ống của chúng ta và, dựa trên quyết định của
LLM, chúng ta thích hoặc tiếp tục với một đơn xin hay bỏ qua mô tả công việc cụ thể này. Chúng ta có
thể bắt đầu với một prompt đơn giản:

from langchain_google_vertexai import ChatVertexAI
llm = ChatVertexAI(model=”gemini-1.5-flash-002″)
job_description: str = … # put your JD here
prompt_template = (
“Given a job description, decide whether it suits a junior Java
developer.”
“\nJOB DESCRIPTION:\n{job_description}\n”
)
result = llm.invoke(prompt_template.format(job_description=job_
description))
print(result.content)
>> No, this job description is not suitable for a junior Java
developer.\n\nThe key reasons are:\n\n* … (output reduced)

Như bạn có thể thấy, đầu ra của LLM là text tự do, cái có thể là khó để duyệt hay biên dịch trong các
bước dòng ống kế tiếp nhau. Cái gì xảy ra nếu chúng ta thêm một lệnh cụ thể vào một prompt?

prompt_template_enum = (
“Given a job description, decide whether it suits a junior Java
developer.”
“\nJOB DESCRIPTION:\n{job_description}\n\nAnswer only YES or NO.”
)
result = llm.invoke(prompt_template_enum.format(job_description=job_
description))
print(result.content)
>>NO

Chia sẻ