LangChain 输出解析器

在LangChain 0.2中,输出解析器(Output Parsers)提供了一些预定义的类,帮助用户将生成模型的输出转换为结构化数据。这些类可以直接使用,也可以作为自定义解析器的基础。这些类包括但不限于以下几种:

1. BaseOutputParser

这是所有输出解析器的基类。所有具体的解析器类都应该继承自这个基类,并实现其接口。

from langchain.output_parsers import BaseOutputParser  
  
class CustomOutputParser(BaseOutputParser):  
    def parse(self, text):  
        # 自定义解析逻辑  
        pass  

2. RegexOutputParser

这个类使用正则表达式来解析生成的文本。用户可以定义正则表达式模式,将文本中的特定部分提取出来。

from langchain.output_parsers import RegexOutputParser  
  
# 定义正则表达式模式  
pattern = r"name: (\w+)\nversion: (\d+\.\d+)"  
  
# 创建解析器实例  
parser = RegexOutputParser(pattern=pattern)  
  
# 解析文本  
text = "name: ChatGPT\nversion: 4.0\n"  
parsed_output = parser.parse(text)  
  
print(parsed_output)  
# 输出: ('ChatGPT', '4.0')  

3. JSONOutputParser

这个类用于解析生成的JSON格式的文本。它可以将生成的JSON字符串转换为Python字典。

from langchain.output_parsers import JSONOutputParser  
  
# 创建解析器实例  
parser = JSONOutputParser()  
  
# 解析文本  
text = '{"name": "ChatGPT", "version": "4.0"}'  
parsed_output = parser.parse(text)  
  
print(parsed_output)  
# 输出: {'name': 'ChatGPT', 'version': '4.0'}  

4. DelimitedOutputParser

这个类用于解析特定分隔符分隔的文本。用户可以定义分隔符,将文本中的各部分提取出来。

from langchain.output_parsers import DelimitedOutputParser  
  
# 定义分隔符  
delimiter = "\n"  
  
# 创建解析器实例  
parser = DelimitedOutputParser(delimiter=delimiter)  
  
# 解析文本  
text = "name: ChatGPT\nversion: 4.0\n"  
parsed_output = parser.parse(text)  
  
print(parsed_output)  
# 输出: ['name: ChatGPT', 'version: 4.0']  

5. ListOutputParser

这个类用于解析生成的列表格式的文本。它可以将文本中的每一行作为列表的一项。

from langchain.output_parsers import ListOutputParser  
  
# 创建解析器实例  
parser = ListOutputParser()  
  
# 解析文本  
text = "name: ChatGPT\nversion: 4.0\n"  
parsed_output = parser.parse(text)  
  
print(parsed_output)  
# 输出: ['name: ChatGPT', 'version: 4.0']  

这些预定义的解析器类提供了常见的解析需求,用户可以根据具体情况选择合适的解析器。如果这些预定义的解析器不能满足需求,用户还可以继承BaseOutputParser类,定义自己的解析逻辑。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值