ChatExcel?
大家好,我是章北海mlpy
最近在浅学LangChain,在大模型时代,感觉这玩意很有前途。
LangChain是一个开源的应用开发框架,目前支持Python和TypeScript两种编程语言。
它赋予LLM两大核心能力:数据感知,将语言模型与其他数据源相连接;代理能力,允许语言模型与其环境互动。
LangChain的主要应用场景包括个人助手、基于文档的问答、聊天机器人、查询表格数据、代码分析等。
之前大火的ChatPDF应该就是用LangChain实现的
昨晚又看到一个有趣的实例:Chat with CSV&Excel using LangChain and OpenAI,蛮粗糙的,感觉可以用Gradio加个前端,或许有点意思。
https://github.com/amrrs/csvchat-langchain
源代码有TypeError的bug,我改了一下,可以跑通了,有感兴趣的可以直接复制。
# -*- coding: utf-8 -*-
from langchain.document_loaders import CSVLoader
from langchain.indexes import VectorstoreIndexCreator
from langchain.chains import RetrievalQA
from langchain.llms import OpenAI
import os
os.environ["OPENAI_API_KEY"] = "sk-你的API"
!wget https://gist.githubusercontent.com/armgilles/194bcff35001e7eb53a2a8b441e8b2c6/raw/92200bc0a673d5ce2110aaad4544ed6c4010f687/pokemon.csv
# Load the documents
import csv
loader = CSVLoader(file_path='/Users/huhaiyang/projs/myrepo/pokemon.csv', csv_args={
'delimiter': ','})
# Create an index using the loaded documents
index_creator = VectorstoreIndexCreator()
docsearch = index_creator.from_loaders([loader])
# Create a question-answering chain using the index
chain = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=docsearch.vectorstore.as_retriever(), input_key="question")
# Pass a query to the chain
query = "Do you have a column called age?"
response = chain({"question": query})
print(response['result'])
我简单测试了,胡说八道含量很高。

后期再深入研究吧,看是否可以达到简单统计,甚至实现透视表的程度。
基于ChatGPT,论文写作工具
可能是全网最全的速查表:Python Numpy Pandas Matplotlib 机器学习 ChatGPT
ChatExcel?的更多相关文章
- 打工人都在用的AI工具(第二期)
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 上周更新的打工人都在用的AI工具(第一期)收到了小伙伴们的高度好评,于是很多小伙伴们急急忙忙的催更,技术 ...
随机推荐
- STM32F407 MCO输出的配置问题
当前使用IDE: RT-Thread Studio 版本: 2.1.0 构建ID: 202103221400 配置如下: int MCO1_GPIO_INIT(void) { GPIO_InitTyp ...
- 题解 CF1264D1
前言 数学符号约定: \(\dbinom{n}{m}\):表示 \(n\) 选 \(m\) . 如非特殊说明,将会按照上述约定书写符号. 题目分析: 考虑题目的问题弱一点的版本,假设此时我们的括号序列 ...
- 论文精读:用于少样本目标检测的元调整损失函数和数据增强(Meta-tuning Loss Functions and Data Augmentation for Few-shot Object Detection)
论文链接:Meta-Tuning Loss Functions and Data Augmentation for Few-Shot Object Detection Abstract 现阶段的少样本 ...
- 《流畅的Python》 读书笔记 第8章_对象引用、可变性和垃圾回收
第8章_对象引用.可变性和垃圾回收 本章的主题是对象与对象名称之间的区别.名称不是对象,而是单独的东西 name = 'wuxianfeng' # name是对象名称 'wuxianfeng'是个st ...
- MySQL安装、卸载与初始化
一.MySQL简介 1.MySQL是什么 MySQL 是一款安全.跨平台.高效的,并与 PHP.Java等主流编程语言紧密结合的关系型数据库管理系统.MySQL 的象征符号是一只名为 Sakila 的 ...
- Net 高级调试之十:轻量级代码生成的调试
一.简介 今天是<Net 高级调试>的第十篇文章.说起来,高级调试,调试的内容还是挺多的,技巧也不少,但是,要想做一个合格的高级调试人员,还需要掌握如何调试动态生成的IL代码.今天要探讨的 ...
- 使用OSS搭建私有云内网yum仓库的方法
版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin 使用OSS搭建私有云内网yum仓库的方法 文字&图片内容已脱敏 #.前几天接到一个搭建内网yum源的任务.刚接 ...
- C++20语言核心特性的变化
using for Enumeration Values 对比一下C++20前后的区别: enum class State { open, progress, done = 9 }; // Bef ...
- [USACO2022OPEN S] Subset Equality S
[USACO22OPEN] 题目描述 奶牛们正在尝试一种相互交换编码信息的新方法,她们在相关的字母中混入不相关的字母,使信息难以解码. 奶牛们传输两个字符串 \(s\) 和 \(t\),每个字符串的长 ...
- Android Studio 学习-第三章 Activity 第二组
事先申明:所有android 类型的学习记录全部基于<第一行代码 Android>第三版,在此感谢郭霖老师的书籍帮助. 1.注册activity 在第一组中,我创建了一个activity, ...