DatetimeOutputParser dapat digunakan untuk mem-parsing output LLM ke dalam format datetime.
from dotenv import load_dotenvload_dotenv()
from langchain_altero import logging# Masukkan nama proyek.logging.langsmith("CH03-OutputParser")
from langchain.output_parsers import DatetimeOutputParserfrom langchain.prompts import PromptTemplatefrom langchain_openai import ChatOpenAI# Parser output untuk tanggal dan waktuoutput_parser =DatetimeOutputParser()output_parser.format ="%Y-%m-%d"# Template jawaban untuk pertanyaan penggunatemplate = """Jawab pertanyaan pengguna:\n\n#Instruksi Format: \n{format_instructions}\n\n#Pertanyaan: \n{question}\n\n#Jawaban:"""
prompt = PromptTemplate.from_template( template, partial_variables={"format_instructions": output_parser.get_format_instructions() }, # Terapkan instruksi ke template)# Output template promptprompt
input_variables=['question'] partial_variables={'format_instructions': "Write a datetime string that matches the following pattern: '%Y-%m-%d'.\n\nExamples: 0166-07-25, 0266-02-03, 1440-02-16\n\nReturn ONLY this string, no other words!"} template='Jawab pertanyaan pengguna:\n\n#Instruksi Format: \n{format_instructions}\n\n#Pertanyaan: \n{question}\n\n#Jawaban:'
# Membuat sebuah rantai.chain = prompt |ChatOpenAI(temperature=0, model_name="gpt-4o-mini", api_key=api_key)| output_parser# Panggil rantai untuk mendapatkan jawaban dari pertanyaan.output = chain.invoke({"question": "Tahun berapa Google didirikan?"})