langchain agent简单使用;文档总结load_summarize_chain

news2024/12/23 20:30:14

1、langchain agent简单使用

参考:https://zhuanlan.zhihu.com/p/643868934?utm_id=0

from langchain.agents.agent_toolkits import create_python_agent
from langchain.agents import load_tools, initialize_agent
from langchain.agents import AgentType
from langchain.tools.python.tool import PythonREPLTool
from langchain.python import PythonREPL
from langchain.chat_models import ChatOpenAI
 

#创建llm;llm调用本地模型
api_base_url = "http://localhost:10860/v1" 
api_key= "EMPTY"
LLM_MODEL = "/mnt/data/loong/AquilaChat2-7B"
llm = ChatOpenAI(
    streaming=True,
    verbose=True,
    # callbacks=[callback],
    openai_api_key=api_key,
    openai_api_base=api_base_url,
    model_name=LLM_MODEL
)



#定义工具
tools = load_tools(["llm-math"], llm=llm)
 
#创建代理; ReAct框架默认
agent= initialize_agent(
    tools, 
    llm, 
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    handle_parsing_errors=True,
    verbose = True)
print(agent.agent.llm_chain.prompt.template)

在这里插入图片描述

##使用
agent("300的25%是多少?")

在这里插入图片描述
在这里插入图片描述

agent("2的10次方?")

在这里插入图片描述

2、文档总结load_summarize_chain

参考:https://zhuanlan.zhihu.com/p/641384348

测试下来总结效果一般,速度也比较慢


 
##加载数据
from langchain.document_loaders import UnstructuredFileLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter

loader = UnstructuredFileLoader(r"C:\Users\loo***资料.txt")
document = loader.load()

text_splitter = RecursiveCharacterTextSplitter(
    chunk_size = 500,
    chunk_overlap = 0
)

split_documents = text_splitter.split_documents(document)
print(f'documents:{len(split_documents)}')


#创建llm
from langchain.chains.summarize import load_summarize_chain
from langchain.chat_models import ChatOpenAI


api_base_url = "http://localhost:10860/v1" 
api_key= "EMPTY"
LLM_MODEL = "/mnt/data/loong/AquilaChat2-7B"
llm = ChatOpenAI(
    streaming=True,
    verbose=True,
    # callbacks=[callback],
    openai_api_key=api_key,
    openai_api_base=api_base_url,
    model_name=LLM_MODEL
)

chain = load_summarize_chain(llm, chain_type="refine", verbose=True)  
 ##运行
import textwrap


output_summary = chain.run(split_documents[:5])
wrapped_text = textwrap.fill(output_summary, width=100)
print(wrapped_text)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1121017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【讲座笔记】基于 Apache Calcite 的多引擎指标管理最佳实践|CommunityOverCode Asia 2023 | 字节开源

引言 三个问题 (问题解法) 1套SQL 2种语法 统一SQL的实践案例 虚拟列的实践案例 SQL Define Function 指标管理的实现 在这里插入图片描述

交换机/防火墙-基础配置-23.10.11

1.MAC地址 交换机在给主机之间传递信息包时,通过MAC地址来标识每台主机 主机间发生信息包交换时,交换机就会将通信过的主机的mac地址存下 dis mac-address 交换机转发的数据包中,会包含一个目标MAC,交换机识别数据包中的目标MA…

nrf52832 低功耗蓝牙 广播

nrf52832 低功耗蓝牙5.x 文章目录 nrf52832 低功耗蓝牙5.x广播广播的特点: 一、修改代码演示广播初始化修改 广播名称修改广播时间修改广播内容和参数 总结 广播 广播是低功耗蓝牙通信的基础,向外广播信息,等待被连接; 广播包含了…

浅谈 docker run 命令中的 -i -t 和 -d 选项

以 docker Ubuntu 镜像为例,ubuntu镜像启动时默认执行的命令是"/bin/bash"。 文章目录 不带任何选项带 -i 选项带 -i 和 -t 选项-d 选项 不带任何选项 rootubuntu20:~# docker run ubuntu:20.04 rootubuntu20:~# docker ps CONTAINER ID IMAGE …

1997-2017年各省能源投入数据(万吨标准煤)

1997-2017年各省能源投入数据(万吨标准煤) 1、时间:1997-2017年 2、来源:中国统计年鉴 3、范围:30个省 4、指标:能源投入(各省8种能源消费总量计算得出)(万吨标准煤&…

Day 08 python学习笔记

函数 作用域 作用域:变量的访问权限 全局变量与局部变量 声明在函数外边的变量----全局变量 ----》全局作用域 函数内部的变量------局部变量 ----》局部作用域顶格创建的函数也是全局的 例: a 100def test_01():a 0b 110print…

解决因d3dx9_30.dll丢失程序无法运行,电脑缺失d3dx9_30.dll报错解决方案

我们的生活和工作都离不开电脑。然而,电脑作为一种复杂的工具,也会出现各种各样的问题。其中,丢失d3dx9_30.dll文件是一个常见的问题。d3dx9_30.dll是DirectX的动态链接库文件,如果丢失或损坏,可能会导致许多软件和游戏…

Kettle查询表数据循环到目标表

简介:Kettle工具有一种业务场景是动态查询数据库中某张表的某个字段,将该字段当做循环变量,循环整个作业。下面就是记录该步骤。 一、思路 首先生产环境中我们需要做的一个业务就是: 按品牌循环执行:step3step4&…

LeetCode 2316. 统计无向图中无法互相到达点对数【图,BFS,DFS,并查集】1604

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

raven2 靶机

一.信息收集 靶机的信息收集就是网段 2.使用nmap扫描端口和真实IP nmap 网段 扫描ip和端口 二.查找漏洞 可以查看版本 找到利用信息 cms 以及 apache 组件漏洞 组件的目录漏洞 找到了 一般爆破不出来 敏感目录爆破 wordpress的 dirb --url 网址 直接找…

[C++]类型转换

一、C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与 接收返回值类型不一致时,就需要发生类型转化。 C语言中总共有两种形式的类型转换:隐式类型转换和显式…

HBuilder插件推荐

整理一下我觉得好用的插件,后期可能会有更改 eslint-js eslint-plugin-vue Prettier scss/sass编译 右键复制vue页面路径,主要用于快速复制vue页面的路径到浏览器

HashMap的运用小练习

public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("jack",650);hashMap.put("tom",1200);hashMap.put("smith",2900);System.out.println(hashMap);//将jack的工资更改为2600hashMap.put("jack",…

分发糖果[困难]

优质博文:IT-BLOG-CN 一、题目 n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果: 【1】每个孩子至少分配到1个糖果。 【2】相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩…

ATPCS:ARM-Thumb程序调用的基本规则

为了使单独编译的c文件和汇编文件之间能够互相调用,需要制定一系列的规则,AAPCS就是ARM程序和Thumb程序中子程序调用的基本规则。 1、ATPCS概述 ATPCS规定了子程序调用过程中寄存器的使用规程、数据站的使用规则、参数的传递规则。为了适应一些特殊的需…

MIT 6.S081 FALL 2020环境搭建

大家好,我叫徐锦桐,个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家来访。 MIT6.S081 Operating System Engineering 是麻省理工学院计算机科学本科的中级课程&#xff0c…

openGauss学习笔记-106 openGauss 数据库管理-管理用户及权限-管理员

文章目录 openGauss学习笔记-106 openGauss 数据库管理-管理用户及权限-管理员106.1 初始用户106.2 系统管理员106.3 安全管理员106.4 审计管理员106.5 监控管理员106.6 运维管理员106.7 安全策略管理员 openGauss学习笔记-106 openGauss 数据库管理-管理用户及权限-管理员 10…

按键中断控制LED灯亮灭

EXTI—外部中断/事件控制器 EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 20 个中断/事 件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的 检测。EXTI可…