| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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()
|