Các bộ phận và tích hợp nâng cao LangChain (phần 8)

Tạo một cái duyệt đầu ra tùy chỉnh

Để tạo một cái duyệt đầu ra tùy chỉnh trong LangChain, thực thi BaseOutputParser class hay subclass một cái duyệt
hiện có, các phương thức ghi đè như parse và get_format_instructions.
Các phương thức then chốt trong một cái duyệt tùy chỉnh
+ parse: Định nghĩa đầu ra thô được xử lí như thế nào thành hình thức mong muốn.
+ get_format_instructions: Cung cấp các lệnh cái mô hình ngôn ngữ nên đi theo để sinh ra các đầu ra trong hình thức
mong đợi.
Ví dụ 1: Duyệt dữ liệu JSON

from langchain.schema import BaseOutputParser
import json
class JSONOutputParser(BaseOutputParser):

def parse(self, text: str):

try:

return json.loads(text)

except json.JSONDecodeError as e:

raise ValueError(f”Failed to parse JSON: {e}”)

def get_format_instructions(self) -> str:

return “Provide the output in a valid JSON format.”

# Usage
parser = JSONOutputParser()
# Example raw output
model_output = ‘{“name”: “Alice”, “age”: 30}’
parsed_data = parser.parse(model_output)
print(parsed_data)
output:
{‘name’: ‘Alice’, ‘age’: 30}

Code này định nghĩa một cái duyệt đầu ra tùy chỉnh JSONOutputParser cái mở rộng LangChain’s BaseOutputParser, cái
thử duyệt text thô thành định dạng JSON và dấy lên một lỗi nếu duyệt thất bại. Nó cũng bao gồm một phương thức cho
cung cấp các lệnh định dạng tới người dùng, đảm bảo đầu ra là trong hình thức JSON có hiệu lực.
Ví dụ 2: Xử lí các truy vấn SQL

class SQLParser(BaseOutputParser):

def parse(self, text: str):

if not text.lower().startswith(“select”):

raise ValueError(“Invalid SQL query. Expected a SELECT statement.”)

return text.strip()

def get_format_instructions(self) -> str:

return “Generate a valid SQL SELECT query.”

# Usage
parser = SQLParser()
model_output = “SELECT * FROM users WHERE age > 25;” # Example raw output
parsed_sql = parser.parse(model_output)
print(parsed_sql)

Code trên có SQLParser class cái mở rộng BaseOutputParser để hiệu lực hóa và duyệt các truy vấn SQL, đảm bảo chúng
bắt đầu với “SELECT”. Phương thức parse kiểm tra định dạng truy vấn, trong khi phương thức get_format_instructions
cung cấp các lệnh cho khởi tạo một truy vấn SQL SELECT có hiệu lực.

Chia sẻ