12_output_parser_str.py 972 B

12345678910111213141516171819202122232425262728293031323334353637
  1. from pathlib import Path
  2. import sys
  3. sys.path.append(str(Path(__file__).resolve().parents[1]))
  4. from _chapter2_config import as_text, get_chat_model, print_dependency_hint
  5. try:
  6. from langchain_core.output_parsers import StrOutputParser
  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. prompt = ChatPromptTemplate.from_template("解释{topic}是什么?回答控制20字以内")
  18. chain1 = prompt | model
  19. result1 = chain1.invoke({"topic": "ai"})
  20. print(f"result1-->{as_text(result1)}")
  21. parser = StrOutputParser()
  22. chain2 = prompt | model | parser
  23. result2 = chain2.invoke({"topic": "ai"})
  24. print(f"result2-->{result2}")
  25. if __name__ == "__main__":
  26. main()