LangChain实战课-22-部署一个鲜花网络电商的人脉工具(下) | 豆包MarsCode AI刷题

106 阅读1分钟

第三步 生成介绍文章

  1. 主程序中添加对应模块
  2. 实现个人介绍信的生成
def generate_letter(information):
    letter_prompt = """
        下面是这个人的微博信息:{information}
        请你帮我:
        1. 写一个总结
        2. 挑两件有趣的事情说一说
        3. 找一些他比较感兴趣的事
        4. 写一篇热情洋溢的介绍信
    """

    prompt_template = PromptTemplate(input_variables=["information"],template=letter_prompt)

    llm = chatOpenAI(model="gpt-3.5-turbo")

    chain = LLMChain(llm=llm, prompt=prompt_template)

    result = chain.run(information=person_info)
    return result

第四步 加入输出解析

下面调整介绍文章格式为json形式,以便放到html中展示

class TextParsing(BaseModel):
    summary: str = Field(description="大V个人简介")
    facts: List[str] = Field(description="大V特点")
    interest: List[str] = Field(description="大V感兴趣的事情")
    letter: List[str] = Field(description="联络大V的邮件内容")
    
    def to_dic(self):
        return {
            "summary": self.summary,             
            "facts": self.facts,             
            "interest": self.interest,               
            "letter": self.letter,
       }
       
letter_parser: PydanticOutputParser = PydanticOutputParser(pydantic_object=TextParsing)

上面是得到了一个具体的输出解析器,我们使用它的时候是将其直接放在prompt_template中的。

# 生成文案的函数
def generate_letter(information):

    # 设计提示模板
    letter_template = """
         下面是这个人的微博信息 {information}
         请你帮我:
         1. 写一个简单的总结
         2. 挑两件有趣的特点说一说
         3. 找一些他比较感兴趣的事情
         4. 写一篇热情洋溢的介绍信
         \n{format_instructions}"""
    
    prompt_template = PromptTemplate(
        input_variables=["information"],
        template=letter_template,
        partial_variables={
            "format_instructions": letter_parser.get_format_instructions()
        },         
    )

第五步 部署人脉工具

这块涉及的LangChain相关内容就不多了,更多是涉及flask的应用以及前端的涉及,这里就不展开了。