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

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 RecursiveCharacterTextSplitterloader = 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 ChatOpenAIapi_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 textwrapoutput_summary = chain.run(split_documents[:5])
wrapped_text = textwrap.fill(output_summary, width=100)
print(wrapped_text)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】TCP 协议的相关特性

TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的协议。以下是TCP协议的相关特性: 可靠性:TCP通过确认和重传机制保证数据的可靠传输。 面向连接:TCP在传输数据前需要先建立连接。连接的建立过程包括三次握手…

Whisper 整体架构图

Attention 注意力机制模块,兼容自注意力和交叉注意力。 AttentionBlock Transformer 模块,包含一个自注意力,一个交叉注意力(可选)和一个 MLP 模块。 AudioEncoderTextDecoder 音频编码器和文本解码器。编码器的 Tr…

前端工作方式要换了?HTMX简介:无需JavaScript的动态HTML

HTMX允许你使用扩展的HTML语法代替 JavaScript 来实现交互性。HTMX 在标记中直接为你提供HTTP 交互,并支持许多其他交互需求,无需求助于 JavaScript。这是一个有趣的想法,可能最终会影响到web前端的工作方式。让我们看看如何使用HTMX以及它的…

filebeat(8.9.0)采集日志到logstash,由logstash发送的es

filebeat采集日志到logstash,由logstash发送的es 下载并配置filebeat下载配置logback.xml logstash配置 下载并配置filebeat 下载 参考 配置 filebeat.inputs: - type: filestreamenabled: truepaths:# 日志文件目录- D:\modellog\elkdemo\*\*.logparsers:# 多…

swagger gin 文档接口排序,写了一个小工具,自定义接口排序

起因没找到swagger 自定义接口排序 代码原理就是替换 swag init 生成的docs.go paths 部分 ,取到swagger.json paths 部分排序,正则匹配docs.go paths 部分,然后通过自定义排序,替换paths部分,这个根据自定义的需求来…

USB学习(1):USB基础之接口类型、协议标准、引脚分布、架构、时序和数据格式

连接计算机外围设备最简单的方法是通过USB(通用串行总线)。USB是即插即用接口,可以将扫描仪、打印机、数码相机、闪存驱动器等计算机外围设备连接到计算机上。本篇文章就来介绍一下USB的一些基础知识,包括。 文章目录 1 接口类型和标准规范2 引脚分布3 …

Flutter的Don‘t use ‘BuildContext‘s across async gaps警告解决方法

文章目录 问题有问题的源码 问题原因问题分析Context的含义BuildContext的作用特殊情况 解决方法 问题 Flutter开发中遇到Don’t use BuildContext’s across async gaps警告 有问题的源码 if (await databaseHelper.isDataExist(task.title)) {showDialog(context: context,…

大语言模型(LLM)综述(二):开发大语言模型的公开可用资源

A Survey of Large Language Models 前言3. RESOURCES OF LLMS3.1 公开可用的模型CheckPoints或 API3.2 常用语料库3.3 库资源 前言 随着人工智能和机器学习领域的迅速发展,语言模型已经从简单的词袋模型(Bag-of-Words)和N-gram模型演变为更…

idea的debug调试

目录 断点条件设置(condition) 断点表达式(evaluate expression) 断点回退(reset frame) 断点条件设置(condition) 条件断点,一般是满足我们设置的某个条件时,debug断点才会生效。这种条件断点设置,我们一般用在多重循环中。 这儿我们以li…

【C语言小游戏--猜数字】

文章目录 前言1.游戏描述2.代码实现2.1打印菜单2.2构建基础框架2.3玩游戏2.3.1生成随机数2.3.1.1rand()2.3.1.2srand()2.3.1.3time() 2.3.2game() 2.4自己设定猜的次数 3.完整代码 前言 猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏,下…

如何处理前端文件上传?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

【网络编程】应用层——HTTP协议

文章目录 一、HTTP协议简介二、认识URL三、HTTP协议格式1. HTTP请求协议格式2. HTTP响应协议格式 三、构建HTTP请求和响应四、HTTP的方法五、HTTP的状态码六、HTTP常见的Header七、Cookie和Session 一、HTTP协议简介 HTTP 协议 是 Hyper Text Transfer Protocol(超文…