MonPol / test_date.py
ruisp's picture
Redesigned the prompts and added tests for date extraction.
032e57d
raw
history blame
1.63 kB
import json
import pytest
from langchain import PromptTemplate, LLMChain
from langchain.chat_models import ChatOpenAI
from FOMCTexts.prompts import PROMPT_EXTRACT_DATE
PROMPT_DATE = PromptTemplate.from_template(PROMPT_EXTRACT_DATE)
date_extractor = LLMChain(prompt=PROMPT_DATE, llm=ChatOpenAI(temperature=0, model_name='gpt-3.5-turbo'))
@pytest.mark.parametrize(
"statement, expected_dict_date",
[
('Summarize in two paragraphs the monetary policy outlook discussed by the participants during the meeting of June 2023', {"year": "2023", "month": "06"}),
("What were the key takeaways from the conference in September 2022?", {"year": "2022", "month": "09"}),
("Provide an update on the project status in March 2023.", {"year": "2023", "month": "03"}),
("Who attended the meeting on May 2021?", {"year": "2021", "month": "05"}),
("Please summarize the findings of the study conducted in January 2022.", {"year": "2022", "month": "01"}),
("Who were the participants in the event on July 2020?", {"year": "2020", "month": "07"}),
("Provide an overview of the report in August 2019.", {"year": "2019", "month": "08"}),
("Who presented the findings of the research in November 2021?", {"year": "2021", "month": "11"}),
("What were the discussions during the meeting in December 2024?", {"year": "2024", "month": "12"})
]
)
def test_date_extraction(statement, expected_dict_date):
dict_date = json.loads(date_extractor.run(statement).replace('\n', '').replace(' ', ''))
for k in dict_date:
assert dict_date[k] == expected_dict_date[k]