0
0

14_output_parser_json.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from pathlib import Path
  2. import sys
  3. sys.path.append(str(Path(__file__).resolve().parents[1]))
  4. from _chapter2_config import get_chat_model, print_dependency_hint
  5. try:
  6. from langchain_core.output_parsers import JsonOutputParser
  7. from langchain_core.prompts import ChatPromptTemplate
  8. except ModuleNotFoundError as exc:
  9. print_dependency_hint(exc)
  10. raise SystemExit(1)
  11. def main() -> None:
  12. try:
  13. model = get_chat_model(temperature=0)
  14. except ModuleNotFoundError as exc:
  15. print_dependency_hint(exc)
  16. raise SystemExit(1)
  17. json_parser = JsonOutputParser()
  18. json_format_instructions = json_parser.get_format_instructions()
  19. json_prompt = ChatPromptTemplate.from_template(
  20. "生成一个包含{person}基本信息的JSON。应包括姓名、职业、年龄和技能列表,不要包含任何注释或额外说明。\n{format_instructions}"
  21. )
  22. json_chain = json_prompt | model | json_parser
  23. result = json_chain.invoke(
  24. {
  25. "person": "雷军",
  26. "format_instructions": json_format_instructions,
  27. }
  28. )
  29. print(result)
  30. if __name__ == "__main__":
  31. main()