当前位置: 首页 > article >正文

【数据分析】利用Python+AI+工作流实现自动化数据分析-全流程讲解

文章目录

    • 一、为什么要用AI进行自动化分析?
    • 二、AI自动化分析场景
    • 三、编写Python脚本
      • 示例1、用flask实现让AI分析数据内容
      • 使用说明:
      • 示例2、用定时任务的方式,定时处理AI数据
        • 📋 代码说明
    • 四、把AI分析的数据,放到AI工作流中做展示
    • 五、openAI的key
    • 结尾

在信息爆炸的时代,如何快速获取有价值的洞察力成为了各行各业的迫切需求。传统的内容分析方法往往又耗时又费力,并且难以满足快速变化的市场需求。尤其是当内容多变的情况下。难以总结或分析。但是我们可以借用 OpenAI 的强大之处,可以轻松实现自动化内容分析,这样不仅可以提高我们的工作效率,还能获得更深层次的见解。🤖✨

一、为什么要用AI进行自动化分析?

  1. 节省时间:自动化分析可以大幅减少人工处理数据的时间,让你将精力集中在更重要的决策上。
  2. 提高准确性:AI 模型经过大量数据训练,能够提供更为准确和一致的分析结果,减少人为错误。
  3. 获取深层洞察:AI 能够识别文本中的潜在模式和趋势,帮助你发现隐藏在数据背后的重要信息。
    在这里插入图片描述

二、AI自动化分析场景

AI 的自动化内容分析可以广泛应用于多个领域,包括但不限于:

  • 市场研究:快速分析消费者反馈和市场趋势,帮助企业做出更明智的决策。
  • 内容创作:为博客、社交媒体和营销材料生成创意内容,提高内容生产效率。
  • 学术研究:自动化文献综述和数据分析,帮助研究人员节省时间并提高研究质量。
  • 客户支持:分析客户反馈和支持请求,优化客户服务流程。

三、编写Python脚本

示例1、用flask实现让AI分析数据内容

from flask import Flask, request, jsonify
from openai import OpenAI

app = Flask(__name__)

# 初始化 OpenAI 客户端
client = OpenAI(
    api_key="YOUR_API_KEY",  # 替换为您的 API 密钥
    base_url="YOUR_BASE_URL"  # 替换为您的 API 基础 URL
)

@app.route('/chat', methods=['POST'])
def chat():
    # 获取请求中的 JSON 数据
    data = request.get_json()
    user_message = data.get('message')

    # 调用 OpenAI API
    response = client.chat.completions.create(
        messages=[
            {'role': 'user', 'content': user_message},  # 用户消息
        ],
        model='gpt-3.5-turbo',  # 使用的模型
        stream=True
    )

    # 收集响应内容
    response_content = ""
    for chunk in response:
        response_content += chunk.choices[0].delta.content

    # 返回响应内容
    return jsonify({'response': response_content})

if __name__ == '__main__':
    app.run(debug=True)

使用说明:

  1. 安装 Flask 和 OpenAI SDK
    确保您已经安装了 Flask 和 OpenAI SDK。可以通过以下命令安装:

    pip install Flask openai
    
  2. 替换 API 密钥和基础 URL
    在代码中,替换 YOUR_API_KEYYOUR_BASE_URL 为您自己的 OpenAI API 密钥和基础 URL。

  3. 运行 Flask 应用
    将上述代码保存为 app.py,然后在终端中运行:

    python app.py
    
  4. 发送请求
    您可以使用 Postman 或 curl 向 http://127.0.0.1:5000/chat 发送 POST 请求,JSON 格式的请求体如下:

    {
        "message": "鲁迅为什么打周树人?"
    }
    
  5. 查看响应
    接口会返回一个 JSON 格式的响应,其中包含 OpenAI 的回复。

示例2、用定时任务的方式,定时处理AI数据

下面是使用 Python 的 schedule 库来创建一个定时处理任务,自动请求 OpenAI 的内容分析。以下是完善后的脚本示例:

import time
import schedule
from openai import OpenAI

# 初始化 OpenAI 客户端
client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="YOUR_BASE_URL"
)

def fetch_openai_response():
    print("开始请求 OpenAI 的内容分析...")
    response = client.chat.completions.create(
        messages=[
            {'role': 'user', 'content': "鲁迅为什么打周树人?"}, # 把要分析的接口数据传到这里面'content': "鲁迅为什么打周树人?"
        ],
        model='gpt-3.5-turbo',
        stream=True
    )

    # 处理响应
    for chunk in response:
        print(chunk.choices[0].delta.content, end="", flush=True)
    print("\n内容分析完成.")

# 定义定时任务,每隔10分钟执行一次
schedule.every(10).minutes.do(fetch_openai_response)

# 主循环,保持脚本运行并执行调度的任务
if __name__ == "__main__":
    print("定时任务已启动. 每10分钟执行一次内容分析.")
    while True:
        schedule.run_pending()
        time.sleep(1)  # 睡眠1秒,避免占用过多CPU资源
📋 代码说明
  1. 依赖库:确保你已经安装了 schedule 库。可以通过以下命令安装:

    pip install schedule
    
  2. API Key 和 Base URL:请填写你的 OpenAI API 密钥和基础 URL。

  3. 定时任务:脚本中使用 schedule.every(10).minutes.do(fetch_openai_response) 设置了一个定时任务,每10分钟调用 fetch_openai_response 函数。

  4. 主循环:使用 while True 循环来保持脚本运行,并调用 schedule.run_pending() 来执行所有到期的任务。

  5. 输出:每次请求 OpenAI 的内容分析时,都会在控制台输出结果,并在完成后打印一条消息。

四、把AI分析的数据,放到AI工作流中做展示

首先,我对前端不太熟悉,我虽然用Python实现了AI数据的分析。但是每次获取数据都要调用Python代码。所以我目前是用“一站式能用AI平台”的工作流。搭建了一套UI交互。然后利用工作流里面的AI组件调用自己的接口。这也暂时解决了我不会写前端代码,并且还想用UI页面展示的一大难题

(为什么不写前端页面。因为浪费时间)

一站式能用AI平台:https://www.nyai.chat/chat?invite=nyai_1141439&fromChannel=csdn

在这里插入图片描述

五、openAI的key

OpenAI 是一个先进的人工智能平台,能够处理复杂的自然语言任务。但是openAI平台的key虽然没有停发,但是需要梯子去拿。所以我用的是国内渠道,哈哈!

api调用文档:https://flowus.cn/codemoss/share/42cfc0d9-b571-465d-8fe2-18eb4b6bc852?time=1725866236422

结尾

如果你对 Python 编程、自动化任务或其他技术主题感兴趣,欢迎关注我的 CSDN 账号,获取更多精彩内容!同时,别忘了在评论区分享你的想法和问题,让我们一起交流学习!🌟


希望这篇文章能帮助你更好地理解定时任务的实现方式,期待你的反馈与分享!


http://www.kler.cn/a/310544.html

相关文章:

  • Cesium加载大量点数据卡顿处理办法
  • 本地编译ChatNio的问题解决
  • 【webrtc】 RTP 中的 MID(Media Stream Identifier)
  • void * 指针与整数进行加减运算
  • Python 小高考篇(2)字符串
  • WPF 应用程序中使用 Prism 框架时,有多种方式可以注册服务和依赖项
  • Vue3流程图插件-Vue Flow
  • supermap iclient3d for cesium中的平移,旋转
  • Linux嵌入式相机 — 项目总结
  • ArcGIS Pro SDK (十四)地图探索 4 书签
  • C语言--结构体(学习笔记)
  • 基于python+django+vue的图书管理系统
  • 光模块SFF-8472
  • 解决Ant Design Vue使用Modal对话框无法关闭的问题《操作Dom不需要降低版本》
  • PostgreSQL的流复制断点续传
  • 选址模型 | 基于混沌模拟退火粒子群优化算法的电动汽车充电站选址与定容(Matlab)
  • linux的redir命令实现端口转发
  • Java研发笔记2——C语言程序设计学习笔记1
  • 封装svg图片
  • fiddler抓包01:工具介绍
  • Oracle 数据库部署与实施
  • 三维天地创新方案助力实验室信息自动化技术深入发展
  • 【裸机装机系列】7.kali(ubuntu)-安装开发所需工具
  • Spring考点总结
  • 软件工程测试
  • 新提案:C++将变得内存安全