ChatGPT博客
分享ChatGPT中文教程和资讯
ChatGPT Plus代升级 OpenAI API代充值

OpenAI API如何分析处理文件(图片、PDF、Excel)?

OpenAI API key

OpenAI API可以处理文件吗?一些朋友在使用OpenAI API时,想借助GPT模型来分析文件,如图片、PDF、Excel等,本文ChatGPT中文网就分享下使用OpenAI API分析文件的教程,实现类似ChatGPT Plus的功能。

一、前言

OpenAI API目前不支持直接分析处理文件,多态的GPT模型(如gpt-4-vision-preview、gpt-4o等)可以通过API提供image_url来分析照片,但是还不可以直接处理PDF或者Excel表格。所以,如果你想通过API来实现类似于ChatGPT Plus的文件分析功能,只能使用官转API的逆向模型,如gpt-4-allgpt-4o-all,这些模型就相当于在使用ChatGPT Plus,自然是可以分析文件的。

什么是逆向模型?逆向模型其实就是官转API平台通过某些技术手段实现的模型,用户在调用这些模型时,就相当于在使用ChatGPT,如gpt-4-all就是ChatGPT Plus的GPT-4,gpt-4o-all就是ChatGPT Plus的GPT-4o。

本文以之前推荐过的官转API为例子介绍下如何通过API来分析处理文件:便携AI聚合API

关于OpenAI官转API的介绍,可以参考:

二、OpenAI API分析图片教程

OpenAI API分析图片的方式有两种,一种是通过多态模型的image_url参数,另一种就是直接通过URL来问逆向模型。

1、多态模型分析图片教程

通过多态模型特有的image_url参数来提供图片的url,之后模型就会给出对应的图片分析结果,如gpt-4-vision-preview:

import requests
api_key = 'sk-Xysdfasdfafsd3'
url = 'https://api.bianxie.ai/v1/chat/completions'

headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {api_key}'
}

data = {
    'model': 'gpt-4-vision-preview',
    'messages': [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "这张图片的图标是个什么动物?"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://github.com/dianping/cat/raw/master/cat-home/src/main/webapp/images/logo/cat_logo03.png"
                    }
                }
            ]
        }
    ],
}

response = requests.post(url, headers=headers, json=data)

print(response.json())

 2、逆向模型分析图片教程

你也可以直接通过逆向模型来问,如gpt-4o-all:

import requests
api_key = 'sk-Xy3WuCpTTvY19f'
url = 'https://api.bianxie.ai/v1/chat/completions'

headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {api_key}'
}

data = {
    'model': 'gpt-4o-all',
    'messages': [{'role': 'user', 'content': '这张图片的图标是个什么动物:https://github.com/dianping/cat/raw/master/cat-home/src/main/webapp/images/logo/cat_logo03.png'}],
}

response = requests.post(url, headers=headers, json=data)

print(response.json())

返回结果如下:

{
    'id': 'chatcmpl-89DdgyngTboLVagRjepDqY0rp7rfu',
    'object': 'chat.completion',
    'created': 1718113414,
    'model': 'gpt-4o-all',
    'choices': [{
        'index': 0,
        'message': {
            'role': 'assistant',
            'content': '这张图片的图标是一只猫。图标呈现了一只抽象化的猫的形象,整体采用了蓝色和紫色渐变的颜色设计。猫的尾巴和身体的轮廓都很清晰,简洁而富有现代感。图标旁边还有“CAT”这个单词,进一步表明这是一个猫的图标。'
        },
        'finish_reason': 'stop'
    }],
    'usage': {
        'prompt_tokens': 43,
        'completion_tokens': 122,
        'total_tokens': 165
    }
}

三、OpenAI API分析PDF教程

如果想通过OpenAI API处理分析PDF,那只能通过逆向模型来处理(能力与ChatGPT Plus一致),同样调用gpt-4o-all模型来处理PDF(提供PDF文件的链接):

import requests
api_key = 'sk-Xy3WuCpTTvY19gBy226f5999856c404aB44804A53e5eA46f'
url = 'https://api.bianxie.ai/v1/chat/completions'

headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {api_key}'
}

data = {
    'model': 'gpt-4o-all',
    'messages': [{'role': 'user', 'content': '分析下这个pdf:https://***.com/aSzUB4IxJDcEh.pdf'}],
}

response = requests.post(url, headers=headers, json=data)

print(response.json())

返回结果如下:

{
    'id': 'chatcmpl-89D7TMLihlDDL9Q70TFmoJLIt7G1W',
    'object': 'chat.completion',
    'created': 1718008779,
    'model': 'gpt-4-all',
    'choices': [{
        'index': 0,
        'message': {
            'role': 'assistant',
            'content': '> retrieving file (file-8fTnE) ok ✅\n\n这份PDF文档详细介绍了一个关于OpenAI API充值服务的说明。内容包括充值的注意事项、充值购买流程以及其他相关业务。\n\n### 主要内容分析\n\n#### 一、OpenAI API充值注意事项\n\n1. **充值服务**:该服务可以为OpenAI platform充值余额,充值后会自动开通GPT-4.0 API功能,并解除免费版API的调用限制(每分钟3次,每天200次)。\n2. **充值方法**:通过正规国外Visa/MasterCard信用卡进行充值。\n3. **充值后的权限**:充值账号后会自动开通GPT-4.0 API的权限,解除速率限制。\n4. **API余额有效期**:充值的API余额有效期为1年。\n\n#### 二、OpenAI API充值购买流程\n\n1. **充值下单地址**:提供了具体的充值下单网址。\n2. **所需信息**:\n   - 需要充值API的ChatGPT账号。\n   - 如果没有开通API功能的账号,也可以购买一个OpenAI API Key。\n   - 下单时需要指定充值金额(最低5美元)。\n3. **支付方式**:通过支付宝付款。\n4. **充值过程**:人工通过美国家庭宽带进行充值,充值完成后通过邮件通知。\n\n#### 三、其他OpenAI业务\n\n1. **ChatGPT账号**:提供美国本地手工注册的ChatGPT账号,一人一号不共享,永久免费使用。\n2. **ChatGPT Plus代升级**:提供代升级ChatGPT Plus服务,解锁GPT-4.0功能,使用正规Visa/MasterCard信用卡,可续费并永久质保。\n3. **相关教程**:推荐关注“ChatGPT 博客”获取更多ChatGPT相关教程。\n\n### 总结\n\n这份文档主要针对需要使用OpenAI API的用户,提供了详尽的充值服务说明。服务包括充值、开通高级功能和解除使用限制等,还附带了其他相关的OpenAI服务,例如账号注册和升级。提供的充值服务主要通过国际信用卡和支付宝付款,目标客户为需要频繁使用OpenAI API的用户,尤其是那些希望提升调用频率和使用高级功能的用户。\n\n如果你需要更多详细信息或具体操作步骤,可以访问文档中提供的链接查看。'
        },
        'finish_reason': 'stop'
    }],
    'usage': {
        'prompt_tokens': 57,
        'completion_tokens': 744,
        'total_tokens': 801
    }
}

 四、OpenAI API分析Excel教程

跟处理PDF一样,Excel同样只能通过逆向模型实现,如下(提供Excel文件的链接):

import requests
api_key = 'sk-Xy3WuCpTTvY19gBy226f5999856c'
url = 'https://api.bianxie.ai/v1/chat/completions'

headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {api_key}'
}

data = {
    'model': 'gpt-4o-all',
    'messages': [{'role': 'user', 'content': '分析下这个表格:https://***.com/ZlJeeIVvU.xlsx'}],
}

response = requests.post(url, headers=headers, json=data)

print(response.json())

返回结果如下:

{
    'id': 'chatcmpl-89DUT06P2esaDsTqNBrsvs4ODOkFc',
    'object': 'chat.completion',
    'created': 1718112826,
    'model': 'gpt-4o-all',
    'choices': [{
        'index': 0,
        'message': {
            'role': 'assistant',
            'content': "\n```python\n import pandas as pd\n\n# Load the Excel file\nfile_path = '/mnt/data/2024-06-11-21-zE2k3rhRSKPGEKKz37hX.xlsx'\ndf = pd.read_excel(file_path)\n\n# Display the dataframe\ndf\n```\nResult: run success✅\n```shell\n        持有人姓氏    持有人名字  手机号区号         手机号                   Address Line1  \\\n0     Nelson  Kenneth      1  5038088616    1723 North Interstate Avenue   \n1      Young    James      1  5419518465    2805 Northwest Upshur Street   \n2   Thompson    Kevin      1  9714167972      2034 Southeast 24th Avenue   \n3     Walker   Ronald      1  5032591471  5405 Southeast Woodward Street   \n4      Moore  Jeffrey      1  9713837018            4216 Silverado Trail   \n..       ...      ...    ...         ...                             ...   \n94     Brown  Timothy      1  9712056648     3124 Southeast 131st Avenue   \n95      Hall   Edward      1  5417654581      2524 Northeast 28th Avenue   \n96     Perez    James      1  5417252794             548 Wedgewood Drive   \n97    Thomas   Donald      1  5036476838  110 Northeast Greenwood Avenue   \n98  Mitchell     Eric      1  9712653143      4413 Southeast 131st Place   \n\n    Address Line2      City State/Province/Region  ZIP Code  卡片标签(选填)  \\\n0             NaN  Portland                    OR     97227       NaN   \n1             NaN  Portland                    OR     97210       NaN   \n2             NaN  Portland                    OR     97214       NaN   \n3             NaN  Portland                    OR     97206       NaN   \n4             NaN    Eugene                    OR     97404       NaN   \n..            ...       ...                   ...       ...       ...   \n94            NaN  Portland                    OR     97236       NaN   \n95            NaN  Portland                    OR     97212       NaN   \n96            NaN    Eugene                    OR     97404       NaN   \n97            NaN      Bend                    OR     97701       NaN   \n98            NaN  Portland                    OR     97236       NaN   \n\n    使用场景设置1(选填,如不填写默认不限制场景)  使用场景设置2(选填,如不填写默认不限制场景,如填写多个请用“,”隔开)  \n0                       NaN                                   NaN  \n1                       NaN                                   NaN  \n2                       NaN                                   NaN  \n3                       NaN                                   NaN  \n4                       NaN                                   NaN  \n..                      ...                                   ...  \n94                      NaN                                   NaN  \n95                      NaN                                   NaN  \n96                      NaN                                   NaN  \n97                      NaN                                   NaN  \n98                      NaN                                   NaN  \n\n[99 rows x 12 columns]\n```\n\n这个表格包含了99条记录,每条记录描述了一位持有人的详细信息。每条记录包括以下列:\n\n1. **持有人姓氏**:持有人的姓氏,例如 Nelson, Young。\n2. **持有人名字**:持有人的名字,例如 Kenneth, James。\n3. **手机号区号**:手机号的区号,所有记录的区号均为 1。\n4. **手机号**:持有人的手机号码,例如 5038088616, 5419518465。\n5. **Address Line1**:地址第一行,例如 1723 North Interstate Avenue, 2805 Northwest Upshur Street。\n6. **Address Line2**:地址第二行,该列大多数为空。\n7. **City**:城市,例如 Portland, Eugene。\n8. **State/Province/Region**:州/省/地区,所有记录均为 OR(俄勒冈州)。\n9. **ZIP Code**:邮政编码,例如 97227, 97210。\n10. **卡片标签(选填)**:卡片标签,该列全部为空。\n11. **使用场景设置1(选填,如不填写默认不限制场景)**:使用场景设置1,该列全部为空。\n12. **使用场景设置2(选填,如不填写默认不限制场景,如填写多个请用“,”隔开)**:使用场景设置2,该列全部为空。\n\n### 数据分析\n\n1. **地理分布**:所有记录都位于俄勒冈州(OR),城市主要是 Portland 和 Eugene。\n2. **手机号分布**:不同城市的手机号分布相对均匀。\n3. **地址**:大多数地址没有第二行信息,这表明地址比较简洁。\n4. **标签和使用场景设置**:所有卡片标签和使用场景设置列均为空,可能表示这些信息未填写或不需要填写。\n\n### 建议\n- **地理定位**:如果需要进一步分析,可以基于城市或邮政编码进行地理定位分析。\n- **数据完整性**:大多数可选字段为空,可以考虑是否需要这些字段以及如何获取或填写这些信息以提高数据完整性。\n- **手机号验证**:可以对手机号进行验证,确保其格式和区号的一致性。\n\n如果你有更具体的分析需求,请告知,我可以根据需要进行进一步的数据处理和分析。"
        },
        'finish_reason': 'stop'
    }],
    'usage': {
        'prompt_tokens': 75,
        'completion_tokens': 1295,
        'total_tokens': 1370
    }
}

「ChatGPT研修班」知识星球上线啦,早鸟价249元/年!

上百篇教程,带你从0到1玩赚ChatGPT点击了解详情

ChatGPT知识星球

赞(0)
未经允许不得转载:ChatGPT博客 » OpenAI API如何分析处理文件(图片、PDF、Excel)?