大家好,我是章北海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,论文写作工具

围绕 ChatGPT,赚了点小钱

国内可用 ChatGPT 客户端下载

数据分析入门:统计学基础知识总结

可能是全网最全的速查表:Python Numpy Pandas Matplotlib 机器学习 ChatGPT

ChatExcel?的更多相关文章

  1. 打工人都在用的AI工具(第二期)

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 上周更新的打工人都在用的AI工具(第一期)收到了小伙伴们的高度好评,于是很多小伙伴们急急忙忙的催更,技术 ...

随机推荐

  1. React同构与极致的性能优化

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  2. 【免费】小傅哥 DDD 开发小册

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 大家好,我是技术UP主小傅哥. 如果在面试的时候,面试官问你DDD是什么,你怎么解释?是不是感 ...

  3. 如何使用JavaScript 将数据网格绑定到 GraphQL 服务

    前言 作为一名前端开发人员,GraphQL对于我们来说是令人难以置信的好用.它可以用来简化数据访问,这让我们的工作变得更加容易. 什么是 GraphQL?它是一个抽象层,位于任意数量的数据源之上,并为 ...

  4. Access denied for user ‘root‘@‘localhost‘ (using password:YES)解决方法

    修改jdbc.properties文件的密码

  5. Go:条件控制语句

    在 Go 语言中,主要的条件控制语句有 if-else.switch 和 select.以下是对它们的简单介绍: 1. if 语句: if 语句用于根据条件执行不同的代码块.它的基本形式如下: if ...

  6. 5分钟搞懂Kubernetes:轻松理解所有组件

    之前我曾经提到了一系列关于服务网格的内容.然而,我意识到有些同学可能对Kubernetes的了解相对较少,更不用说应用服务网格这个概念了.因此,今天我决定带着大家快速理解Kubernetes中的一些专 ...

  7. 【scikit-learn基础】--『预处理』之 离散化

    数据的预处理是数据分析,或者机器学习训练前的重要步骤.通过数据预处理,可以 提高数据质量,处理数据的缺失值.异常值和重复值等问题,增加数据的准确性和可靠性 整合不同数据,数据的来源和结构可能多种多样, ...

  8. Javascript Ajax总结——其他跨域技术之Comet

    Comet指一种更高级的Ajax技术( 也称 "服务器推送" ),一种服务器向页面推送数据的技术.Comet能够让信息近乎实时地被推送到页面上,非常适合体育比赛的分数和股票报价.有 ...

  9. 在 IIS 上生成经典 ASP 网站

    场景:在 IIS 上生成经典 ASP 网站 本文档将指导你完成安装 IIS 和配置经典 ASP 网站的过程. 经典 ASP 是服务器端脚本环境,可用于创建和运行动态 Web 应用程序. 借助 ASP, ...

  10. .NET 8上进行PDF合并

    前言:在.NET 8中使用itext7需安装 itext7 和 itext7.bouncy-castle-fips-adapter 两个Nuget包,或者使用Aspose.PDF.PdfSharpCo ...