Spaces:
Sleeping
Sleeping
"""Test in memory docstore.""" | |
from langchain.output_parsers.combining import CombiningOutputParser | |
from langchain.output_parsers.regex import RegexParser | |
from langchain.output_parsers.structured import ResponseSchema, StructuredOutputParser | |
DEF_EXPECTED_RESULT = { | |
"answer": "Paris", | |
"source": "https://en.wikipedia.org/wiki/France", | |
"confidence": "A", | |
"explanation": "Paris is the capital of France according to Wikipedia.", | |
} | |
DEF_README = """```json | |
{ | |
"answer": "Paris", | |
"source": "https://en.wikipedia.org/wiki/France" | |
} | |
``` | |
//Confidence: A, Explanation: Paris is the capital of France according to Wikipedia.""" | |
def test_combining_dict_result() -> None: | |
"""Test combining result.""" | |
parsers = [ | |
StructuredOutputParser( | |
response_schemas=[ | |
ResponseSchema( | |
name="answer", description="answer to the user's question" | |
), | |
ResponseSchema( | |
name="source", | |
description="source used to answer the user's question", | |
), | |
] | |
), | |
RegexParser( | |
regex=r"Confidence: (A|B|C), Explanation: (.*)", | |
output_keys=["confidence", "explanation"], | |
default_output_key="noConfidence", | |
), | |
] | |
combining_parser = CombiningOutputParser(parsers=parsers) | |
result_dict = combining_parser.parse(DEF_README) | |
assert DEF_EXPECTED_RESULT == result_dict | |