当前位置: 首页 > wzjs >正文

网站关键词 公司网页设计与网站开发

网站关键词 公司,网页设计与网站开发,流量网站制作,深圳专业网站建设公司好吗零基础langchain实战一:模型、提示词和解析器-CSDN博客 书接上文 大模型输出格式化 在下面例子中:我们需要将大模型的输出格式化成json。 import os from dotenv import load_dotenvload_dotenv() # 加载 .env 文件 api_key os.getenv("DEEPS…

零基础langchain实战一:模型、提示词和解析器-CSDN博客

书接上文

大模型输出格式化

在下面例子中:我们需要将大模型的输出格式化成json。

import os
from dotenv import load_dotenvload_dotenv()  # 加载 .env 文件
api_key = os.getenv("DEEPSEEK_API_KEY")from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="deepseek-chat",temperature=0.0,max_tokens=None,timeout=None,max_retries=2,base_url="https://api.deepseek.com",api_key=api_key,
)

 调用ResponseSchema定义输出格式json:

最后生成的json格式为:

from langchain.output_parsers import ResponseSchema
from langchain.output_parsers import StructuredOutputParseraffection_schema = ResponseSchema(name="affection", description="评价这段话总体的情感是积极的还是消极的,并为其打分,输出为-1.0 至 1.0 的一位小数")
positive_content_schema = ResponseSchema(name="positive", description="总结这段话评价了物品的哪些优点,列举出物品的优点。如果没有输出 None")
negative_content_schema = ResponseSchema(name="negative", description="总结这段话评价了物品的哪些缺点,列举出物品的缺点。如果没有输出 None")response_schema = [affection_schema, positive_content_schema, negative_content_schema]

因此实例化三个ResponseSchema,一个相当于json中的一个key。

并将三个实例添加到列表中。

output_parser = StructuredOutputParser.from_response_schemas(response_schema)
format_instructions = output_parser.get_format_instructions()

StructuredOutputParser:创建一个 结构化输出解析器,用于将 LLM 的文本输出解析为预定义的结构化格式。

format instructions:生成 格式化指令,这些指令会直接插入到提示模板中,指导 LLM 如何按结构化格式输出结果。

按照之前的方法定义system_prompt:

from langchain.prompts import ChatPromptTemplateprompt = """下面这段话是用户评价商品的一段话 \请你帮忙判断这段话总体来说为“好评”还是“差评” \告诉我用户为物品的哪些特征打“好评” \哪些特征打差评text:{comment}{format_instructions}
"""prompt_template = ChatPromptTemplate.from_template(prompt)prompt_template.messages[0].prompt
comment = """尺码正常买就行,不用买太大。 \鞋底非常高~鞋楦较宽,高脚背胖脚也能穿。 \鞋底非常软弹,很容易踩开,确实超出预期。 \鞋子非常轻,真的很轻哈哈哈~差不多和竞训碳板鞋一样轻了[爱心_blue][爱心_blue]。 \因为是防泼水鞋面嘛,所以鞋面有点不透气,室外温度30度穿这鞋会有点热,可以秋天再入手。 \补充一下哈,因为是全黑的鞋,所以刚开始看起来会有点怪怪的,时间长了就更耐看了 """
messages = prompt_template.format_messages(comment = comment,format_instructions = format_instructions)print(messages[0].content)

输出如下:

调用大模型:

response = llm.invoke(messages)
print(response.content)

输出如下:

最后调用先前的 结构化输出解析器 将大模型输出结果解析成json格式:

output_dict = output_parser.parse(response.content)

最后的结果为:

总结:

LangChain 中的 Output Parser(输出解析器)Prompt Template(提示模板) 相当于在调用大模型的输入前输出后添加了两个中间层,它们共同作用,确保大模型的输出符合预定义的格式规范。这种设计的核心目标是让大模型的输出更结构化、可解析、可验证,从而满足实际应用的需求。

Q&A:

  •         为什么需要这两个中间层?

1, 解决自由文本的不确定性

大模型默认输出是自由文本,但实际应用中需要结构化数据(如 JSON、表格)。例如,智能客服需要提取订单号、价格、物流信息等字段。

示例:如果用户问“我的订单什么时候到货?”,模型需要从回答中提取字段,而不是返回一段话。


 2,提高开发效率和可维护性
通过预定义格式,开发者无需手动处理自由文本的解析逻辑,框架自动完成字段提取和类型校验。
优势:
        减少代码量(如 50% 以上的开发效率提升)。
        错误隔离性强(格式校验失败时抛出明确异常,如 OutputParserException)。


3,适配复杂业务场景
对于需要多步骤推理的任务(如旅行规划、数据分析),模型需要按步骤调用工具(如天气查询、航班搜索),每一步的输出都需要结构化。

http://www.dtcms.com/wzjs/438768.html

相关文章:

  • html网站怎么做视频教程公司怎么做网络营销
  • 端州网站建设公司长沙做优化的公司
  • 建筑模板破碎机企业seo优化服务
  • 淘宝网站建设好评宁波seo托管公司
  • 新公司做网站怎么弄关键词免费
  • seo爱站网代运营电商公司
  • 中小企业erp系统哪个好电脑优化系统的软件哪个好
  • dw旅游网站模板seo的培训班
  • 吴中网站建设百度seo怎么优化
  • 那个视频网站最好最全网址室内设计培训班学费一般多少
  • 丹阳网站建设制作seo优化工具软件
  • 武汉公司网站制作免费大数据平台
  • wordpress 微信分享缩略图不显示外贸建站优化
  • 效果图网站推荐大全网站seo优化方案策划书
  • 做网站银川中国舆情观察网
  • wordpress会员可见seo全网营销
  • 公司网站空间域名建设外包公司有哪些
  • 外贸网站建设 广州营销型网站内容
  • 临沂做进销存网站英文网站seo发展前景
  • WordPress文章怎么折叠网站排名优化教程
  • 创建视频网站免费注册产品关键词大全
  • 网络游戏网站开发html简单网页成品
  • 网站设计免费字体网络推广是干嘛的
  • 东三省网站建设公司怎样制作网站
  • 网站建设哪个便宜软文范例大全800字
  • 内网网站建设qianhu微建站
  • 建设银行 网站114黄页
  • 化妆品网站设计毕业论文深圳最好seo
  • 在哪里自己建设网站免费的拓客平台有哪些
  • 顺德龙江网站建设可以访问违规网站的浏览器