from pathlib import Path import sys sys.path.append(str(Path(__file__).resolve().parents[1])) from _chapter2_config import get_chat_model, print_dependency_hint try: from langchain_core.output_parsers import JsonOutputParser from langchain_core.prompts import ChatPromptTemplate except ModuleNotFoundError as exc: print_dependency_hint(exc) raise SystemExit(1) def main() -> None: try: model = get_chat_model(temperature=0) except ModuleNotFoundError as exc: print_dependency_hint(exc) raise SystemExit(1) json_parser = JsonOutputParser() json_format_instructions = json_parser.get_format_instructions() json_prompt = ChatPromptTemplate.from_template( "生成一个包含{person}基本信息的JSON。应包括姓名、职业、年龄和技能列表,不要包含任何注释或额外说明。\n{format_instructions}" ) json_chain = json_prompt | model | json_parser result = json_chain.invoke( { "person": "雷军", "format_instructions": json_format_instructions, } ) print(result) if __name__ == "__main__": main()