前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用阶跃星辰AI大模型批量识别图片中的文本

用阶跃星辰AI大模型批量识别图片中的文本

作者头像
AIGC部落
发布2024-07-31 16:30:59
100
发布2024-07-31 16:30:59
举报
文章被收录于专栏:Dance with GenAI

国内大模型公式阶跃星辰推出的Step-1V是一款千亿参数的多模态大模型, 该模型在多个领域表现出色,特别是在图像理解、多轮指令跟随、数学能力、逻辑推理和文本创作等方面。多模态大模型在文本大模型的基础上,增加了多模输入能力,如语音、图像、视频等,并将它们融合在一起,以实现更全面、更准确的理解和推理。Step-1V不仅在技术上取得了显著进展,还在实际应用中展现了强大的性能。例如,在内容生成、理解分析、联网搜索和长文理解等方面表现优异。

step-1v该模型拥有强大的图像理解能力,暂时只开放文本和图像输入,且仅支持文本生成。上下文长度分别为8k和32k。收入图像的分辨率长或宽不能超过4096像素 ,支持的图像格式:JPG/JPEG、PNG、静态GIF、WebP。

现在用图片格式表格来测试下其表现。

在ChatGPT中输入提示词:

写一个Python脚本,完成一个OCR的任务,具体步骤如下:

打开文件夹:D:\downloads\世界人工智能大会WAIC2024展商名录

读取里面所有的png图片;

用step-1v-8k大模型将图片中的表格内容识别出来,保存为excel表格,表格名称为图片文件名,保存在同一个文件夹中;

注意:

每一步都要输出信息到屏幕上

直接使用requests库与stepfun API进行交互,绕过OpenAI客户端。

step-1v-8k大模型的api_key为:"XXX"

step-1v-8k大模型的代码示例:

# -*- coding: utf8 -*-

import base64

import requests

from openai import OpenAI

client = OpenAI(api_key="STEP_API_KEY", base_url="https://api.stepfun.com/v1")

# 加载图片到内存,仅演示。按需改成读文件等

r = requests.get("https://www.stepfun.com/assets/section-1-CTe4nZiO.webp")

r.raise_for_status()

image_str = base64.b64encode(r.content).decode('ascii')

completion = client.chat.completions.create(

model="step-1v-8k",

messages=[

{

"role": "system",

"content": "你是由阶跃星辰提供的AI聊天助手,你除了擅长中文,英文,以及多种其他语言的对话以外,还能够根据用户提供的图片,对内容进行精准的内容文本描述。在保证用户数据安全的前提下,你能对用户的问题和请求,作出快速和精准的回答。同时,你的回答和建议应该拒绝黄赌毒,暴力恐怖主义的内容",

},

{

"role": "user",

"content": [

{

"type": "text",

"text": "用优雅的语言描述这张图片",

},

{

"type": "image_url",

"image_url": {

"url": "data:image/webp;base64,%s" % (image_str),

},

},

],

},

],

)

print(completion)

ChatGPT生成的源代码:

import os

import base64

import requests

import pandas as pd

from io import StringIO

# Set the API key and base URL for the stepfun API

api_key = "XXX"

base_url = "https://api.stepfun.com/v1/chat/completions"

# Set the folder path

folder_path = r"D:\downloads\世界人工智能大会WAIC2024展商名录"

# Function to perform OCR on an image and save the output to Excel

def process_image(image_path):

# Load image

with open(image_path, "rb") as image_file:

image_str = base64.b64encode(image_file.read()).decode('ascii')

# Perform OCR

headers = {

"Authorization": f"Bearer {api_key}",

"Content-Type": "application/json"

}

data = {

"model": "step-1v-8k",

"messages": [

{

"role": "system",

"content": "你是由阶跃星辰提供的AI聊天助手,你除了擅长中文,英文,以及多种其他语言的对话以外,还能够根据用户提供的图片,对内容进行精准的内容文本描述。在保证用户数据安全的前提下,你能对用户的问题和请求,作出快速和精准的回答。同时,你的回答和建议应该拒绝黄赌毒,暴力恐怖主义的内容",

},

{

"role": "user",

"content": [

{

"type": "text",

"text": "识别这张图片中的表格内容",

},

{

"type": "image_url",

"image_url": {

"url": f"data:image/png;base64,{image_str}",

},

},

],

},

],

}

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

response.raise_for_status()

completion = response.json()

# Extract the table content from the response

table_content = completion["choices"][0]["message"]["content"]

# Convert the table content to a pandas DataFrame

df = pd.read_csv(StringIO(table_content), sep="\t")

# Save the DataFrame to an Excel file

output_path = os.path.splitext(image_path)[0] + ".xlsx"

df.to_excel(output_path, index=False)

print(f"Saved OCR result to: {output_path}")

# Main function to process all images in the folder

def main():

print(f"Opening folder: {folder_path}")

# List all png images in the folder

images = [f for f in os.listdir(folder_path) if f.lower().endswith(".png")]

print(f"Found {len(images)} images to process.")

# Process each image

for image in images:

image_path = os.path.join(folder_path, image)

print(f"Processing image: {image_path}")

process_image(image_path)

print("Completed processing all images.")

if __name__ == "__main__":

main()

运行后,程序识别出了一些内容,但还谈不上可用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dance with GenAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容识别
内容识别(Content Recognition,CR)是腾讯云数据万象推出的对图片内容进行识别、理解的服务,集成腾讯云 AI 的多种强大功能,对存储在腾讯云对象存储 COS 的数据提供图片标签、图片修复、二维码识别、语音识别、质量评估等增值服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档