【python】调用openAI api接口批量处理excel中的文本

调用openAI api接口批量处理文本

主页:github;

BLOG:BLOG;

教程:视频

1. project简介

(1)概况

用于在python中调用open AI的API,处理xlsx表格中的自然语言文本。一个专门做dirty work的好帮手

(2)主要功能

我们把自然语言放到excel的某一列,比如是一段文本

我们可以在promot中说'请帮我提炼关键词','请帮我总结','请帮我翻译','请判断是积极还是消极','请帮我做相应的处理'

AI会根据我们输入的文本,给出相应的处理结果,并输出到excel的某一列

(为了提高运行速度,我将每个xlsx拆成了10个,同时运行。)

(3)应用场景

  1. 文本分析:对文本进行分析,提取关键词,判断情感倾向等
  2. 文本处理:对文本进行清洗,去除无用信息,提取关键信息等
  3. 文本翻译:将文本翻译成另一种语言
  4. 文本分类:对文本进行分类,比如新闻、评论、微博等
  5. 文本生成:根据输入文本,生成相应的文本
  6. 文本推荐:根据用户的兴趣,推荐相关的文本
  7. 文本摘要:对文本进行摘要,生成简短的文本
  8. 文本风格迁移:将文本风格迁移到另一种风格
  9. 文献综述撰写:根据文献,生成综述

2.本地部署教程

(1)将项目下载到本地

或者在cmd中可直接clone

python 复制代码
d:
git clone https://github.com/mengke25/proj_textOpenAI.git

比如在这里,我直接将项目整体放在了D盘中

(2)安装依赖

在cmd中安装需用到的packages

python 复制代码
# 首先,将路径切换到根目录下
d: 
cd d:\proj_textOpenAI-main


# 选择1:使用python安装,requirements.txt中的包
python -m pip install -r requirements.txt


# 选择2:如果是conda用户,安装requirements.txt中的包方式如下(附虚拟环境)
conda create -n env2 python=3.11    # 创建anaconda环境
conda activate env2                 # 激活anaconda环境
python -m pip install -r requirements.txt

下面我们就要进入正题了!

但在运行之前,还需要找到两个核心文件:

用编译器打开该项目的文件夹,此处我用vscode来演示

打开文件夹后,请找到config路径下的json文件,以及script路径下的main.py

这两个文件是本项目的核心文件

其中config.json中定义了宏变量,main.py则是主脚本

至此,本地部署已完成。下面我来介绍该如何使用。

3. 使用方法

使用方法非常简单,分两步------修改宏变量+运行主脚本

(1)step1:改宏变量

第一步,修改config路径下的json配置文件,prompt改成自己的需求,其中:

  • root_path: 项目路径,即本地路径,例如打包下载到D盘,那项目路径就应该是D:\\proj_textOpenAI-main,注意这里是双斜杠
  • chatfile:待处理文件,也即要读取的文件
  • apikey:是openai的api key,需要自己申请,也可以第三方(如柏拉图),或者直接某宝去购买
  • apiurl:是openai的api url,若使用openai个人申请的API,空着即可
  • model_name:是AI模型的名称,支持 "gpt-3.5-turbo"等
  • input_col:是输入文本所在的列,也即想输入给AI的列
  • output_col:是输出结果所在的列,也即想让AI输出在excel的哪一列
  • python_env:所使用的python环境,一般情况下应该是"base"
  • script_parallelism:是脚本并行度,即运行几个脚本,一般设置为10,最多不超过30
  • prompt_template:是AI的提示模板,可以自己修改
  • system_message:是系统提示语,可以自己修改

一个示例:

json 复制代码
{
    "global": {
        "root_path": "D:\\proj_textOpenAI-main",
        "chatfile": "D:\\proj_textOpenAI-main\\orig_file\\targetfile.xlsx", 
        "apikey": "sk-aUF5e29*****************8f6SeLz",
        "apiurl": "https://api.gptsapi.net/v1",
        "model_name": "gpt-3.5-turbo",
        "input_col": 4,
        "output_col": 10,
        "python_env": "env2", 
        "script_parallelism": 20, 
        "prompt_template": "请根据我输入给你的文本,帮我判断一下这段文本是否属于abc。",
        "system_message": "你是一个帮助判断是否未规制的助手"
    }
}

(2)step2:运行

第二步,修改好配置文件后,运行main.py

等运行完,去output文件夹将'****_AIextract.xlsx'找出来,即可。再生成最终文件的同时,还会生成若干个子文件,用于备份。如果不需要的话,可以直接删掉。

(3)补充

对于pycharm用户,可能会遇到找不到相对路径的问题,

此时需要您去配置run config

具体步骤如下



至此,整个项目就已经部署好且已经完成运行。


欢迎star,打赏渠道

相关推荐
名字还没想好☜7 分钟前
Python asyncio.Queue 实战:用生产者-消费者给爬虫/任务流限速又解耦
开发语言·爬虫·python·并发·asyncio
我命由我1234527 分钟前
人脸识别 - 判断人脸是否在画面中央
java·人工智能·python·java-ee·人脸识别·android jetpack·android runtime
Black_Rock_br29 分钟前
本地AI工具更新,#DSH Desktop桌面端# 正式发布迭代
人工智能·python·开源·运维开发·开源软件
gfdr530 分钟前
把吃灰的电视盒子,改成一台不花月租的监控
python·嵌入式硬件·电视盒子
OPEN-F41 分钟前
Python进阶教程:Git版本控制与团队协作
git·python·elasticsearch
ellenwan20261 小时前
2026年量化入门:先连起概念、规则和简单实现
人工智能·python
问君能有几多愁~1 小时前
Qt Json 序列化操作
开发语言·qt·json
xieliyu.1 小时前
MySQL 进阶笔记:用户 / 会话 / 全局 / 局部变量 + CASE 分支语法
开发语言·数据库·笔记·mysql
格林威1 小时前
C#高位深相机图像保存:12位16位图像保存方案,OpenCvSharp和Halcon实现
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
小小龙学IT1 小时前
Qt Graphics View Framework(图形视图框架)深度解析:从 Scene/View/Item 到工业级 2D 场景
开发语言·数据库·qt