实战阿里通义灵码极速编程-截屏-OCR-OLlama篇

本文涉及的产品
文档理解,结构化解析 100页
票证核验,票证核验 50次/账号
OCR统一识别,每月200次
简介: 通过实际案例展示阿里通义灵码如何极大提高编程效率。以开发屏幕截图OCR Python程序为例,使用Win10、Anaconda3、VS Code及通义灵码插件。经过四次提问与优化,从截屏选择矩形区域到调用大模型进行OCR识别,整个过程仅耗时半小时,最终形成可运行的控制台程序。加入界面开发后,总用时2小时,显著提升开发速度和质量。

这里测试的大模型主打一个免费,阿里通义灵码免费,ollama免费。

实际举例-阿里通义灵码极大提高编程效率

以实际使用为例验证极大提高编程效率

做一个屏幕截图OCR Python程序

一.系统配置:
win10 anaconda3 python10以上虚拟环境,vs code 和 通义灵码插件最新版本,有一个ollama加载大模型的环境,大模型是llama3.2-vision:11b。

二.向通义灵码提出正确需求。

在vs code系统左下角,通义系统的对会话框向通义灵码提问。

1.提问:
python编程,在win11系统截屏,截屏方式鼠标选取矩形方框,将选取的方框形成图片文件,将文件传给大模型,
利用大模型做ocr,做文字识别.对大模型的访问方式参照ocr_test0302.py文件的内容。
你可以将程序写入你自己定义的python文件。

通义灵码回答:
为了实现你的需求,我们需要编写一个Python脚本,该脚本能够截取屏幕上的矩形区域,将截取的图像保存为文件,
然后使用大模型进行OCR文字识别。
我们可以使用pyautogui库来截取屏幕,并使用你提供的ocr_test0302.py文件中的逻辑来调用大模型。

以下是完整的Python脚本:

import pyautogui
import base64
from ollama import Client

# 初始化大模型客户端
client = Client(
    host='http://192.168.0.37:11434',
    headers={
   'x-some-header': 'some-value'}
)

def encode_image(image_path: str) -> str:
    with open(image_path, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode("utf-8")
    return f"data:image/jpeg;base64,{encoded_string}"

def capture_screen_region():
    print("请在接下来的5秒内选择屏幕上的矩形区域...")
    pyautogui.sleep(5)  # 等待5秒,让用户选择区域
    x, y, width, height = pyautogui.prompt(text='输入矩形区域的坐标(x, y, width, height)', title='选择区域', default='0, 0, 100, 100').split(',')
    x, y, width, height = int(x), int(y), int(width), int(height)
    screenshot = pyautogui.screenshot(region=(x, y, width, height))
    screenshot_path = "screenshot.png"
    screenshot.save(screenshot_path)
    return screenshot_path

def perform_ocr(image_path: str):
    system_prompt = """Convert the provided image into Markdown format. Ensure that all content from the page is included, such as headers, footers, subtexts, images (with alt text if possible), tables, and any other elements.

    Requirements:

    - Output Only Markdown: Return solely the Markdown content without any additional explanations or comments.
    - No Delimiters: Do not use code fences or delimiters like \`\`\`markdown.
    - Complete Content: Do not omit any part of the page, including headers, footers, and subtext.
    """

    response = client.chat(
        model='llama3.2-vision:11b',
        messages=[
            {
   
                'role': 'user',
                'content': system_prompt,
                'images': [image_path],
            }
        ],
    )

    return response.message.content

if __name__ == "__main__":
    image_path = capture_screen_region()
    markdown_content = perform_ocr(image_path)
    print(markdown_content)

说明:

  1. 屏幕截取:使用pyautogui库来截取屏幕上的矩形区域。用户需要在5秒内选择屏幕上的区域,并输入该区域的坐标(x, y, width, height)。
  2. 图像编码:将截取的图像保存为文件,并使用encode_image函数将其编码为Base64格式。
  3. 大模型调用:使用ollama库中的Client类来调用大模型进行OCR文字识别。
  4. 输出结果:将大模型返回的Markdown格式内容打印出来。

安装依赖:

确保安装了pyautogui库,可以使用以下命令安装:

pip install pyautogui

这样,你就可以通过运行这个脚本来截取屏幕上的矩形区域,并使用大模型进行OCR文字识别了。

问题分析:

我对程序测试,很不靠谱,撇了一眼程序
有如下片段
def capture_screen_region():
print("请在接下来的5秒内选择屏幕上的矩形区域...")
pyautogui.sleep(5) # 等待5秒,让用户选择区域
这很不靠谱。

2 提问:不能要求使用者输入选择区域,应该是两次点按鼠标,选择区域。

阿里灵码又是疯狂输出:
有如下片段:
def capture_screen_region():
print("请在接下来的5秒内点击屏幕上的两个点来选择矩形区域...")
pyautogui.sleep(5) # 等待5秒,让用户点击

# 获取第一次点击位置
first_click = pyautogui.position()
print(f"第一次点击位置: {first_click}")

# 获取第二次点击位置
second_click = pyautogui.position()
print(f"第二次点击位置: {second_click}")

不好用,原因是现代程序都是事件驱动的,没有必须顺序执行的。

3.提问:你选择矩形框还不是win的习惯性操作,最流行的做法是按住鼠标左键,不松开,移动鼠标,松开左键,完成矩形框区域的选择。

阿里灵码又是疯狂输出:但这次还是
print("请按住鼠标左键并拖动来选择矩形区域...")

# 等待鼠标左键按下
while not pyautogui.mouseDown(button='left'):
    pass

# 获取鼠标按下位置
start_x, start_y = pyautogui.position()
print(f"鼠标按下位置: ({start_x}, {start_y})")

# 等待鼠标左键释放
while pyautogui.mouseDown(button='left'):
    pass

# 获取鼠标释放位置
end_x, end_y = pyautogui.position()
print(f"鼠标释放位置: ({end_x}, {end_y})")

不是win程序的使用习惯。

4 提问:在pyautogui中,按下左键和释放是同样的调用方式? 【注释,看程序,两次使用 while pyautogui.mouseDown(button='left'):】

阿里灵码又是疯狂输出:
这次有如下代码,应该是前进了一步
def on_click(x, y, button, pressed):
nonlocal start_x, start_y, end_x, end_y
if button == mouse.Button.left:
if pressed:
start_x, start_y = x, y
print(f"鼠标按下位置: ({start_x}, {start_y})")
else:
end_x, end_y = x, y
print(f"鼠标释放位置: ({end_x}, {end_y})")
return False # 停止监听

# 创建鼠标监听器
with mouse.Listener(on_click=on_click) as listener:
    listener.join()

至此程序可以运行,并在控制台返回识别的文本。
我一共提问4次。编码的基本框架有了,下面就是细化了。
这个过程用时半个小时,效率极高。
一般的程序员调试都不止30分钟。
现在这个程序是控制台程序,没有界面,我用灵码插件加界面一共用了2小时,小伙伴们可以一起来试试。

目录
相关文章
|
4月前
|
人工智能 自然语言处理 JavaScript
通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
通义灵码基于自然语言需求,快速生成完整Vue组件。例如,用Vue 2和JavaScript实现贪吃蛇游戏:包含键盘控制、得分系统、游戏结束判定与Canvas动态渲染。AI生成的代码符合规范,支持响应式数据与事件监听,还能进阶优化(如增加启停按钮、速度随分数提升)。传统需1小时的工作量,使用通义灵码仅10分钟完成,大幅提升开发效率。操作简单:安装插件、输入需求、运行项目即可实现功能。
219 4
 通义灵码2.5实战评测:Vue.js贪吃蛇游戏一键生成
|
3月前
|
存储 文字识别 自然语言处理
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
本文深入探讨了通义大模型在文档自动化处理中的应用,重点解决传统OCR识别精度低、效率瓶颈等问题。通过多模态编码与跨模态融合技术,通义大模型实现了高精度的文本检测与版面分析。文章详细介绍了OCR集成流程、批量处理优化策略及实战案例,展示了动态批处理和分布式架构带来的性能提升。实验结果表明,优化后系统处理速度可达210页/分钟,准确率达96.8%,单文档延迟降至0.3秒,为文档处理领域提供了高效解决方案。
327 0
|
4月前
|
传感器 人工智能 IDE
通义灵码编程智能体,上线!
通义灵码现在已经全面支持 Qwen3,并正式上线编程智能体,具备自主决策、环境感知、工具使用等能力,可以根据开发者的诉求,使用工程检索、文件编辑、终端等工具,端到端地完成编码任务。
288 0
|
3月前
|
人工智能 IDE 搜索推荐
通义灵码2.5评测:从编程智能体到记忆感知的AI编码革命
通义灵码2.5版本更新带来了多项新功能,包括Lingma IDE的开箱即用体验、编程智能体模式实现端到端编码任务、MCP工具集成扩展AI助手能力以及Qwen3模型升级大幅提升代码生成准确性和效率。此外,新增长期记忆与上下文感知功能,使开发更个性化和高效。尽管存在一些局限性,如复杂业务逻辑仍需人工干预,但整体显著提升了开发效率。官方还提供了高质量视频课程助力用户学习。
669 10
|
4月前
|
缓存 人工智能 自然语言处理
通义灵码2.5——基于编程智能体开发Wiki多功能搜索引擎
本文介绍了基于通义灵码2.5 AI编码助手开发的Wiki多功能搜索引擎系统。该系统采用Python技术栈,实现了多数据源统一搜索、异步并行查询和智能缓存等功能。通过AI辅助完成了从需求分析、架构设计到代码生成的全流程开发,显著提升了开发效率。系统采用模块化分层架构,包含数据源抽象层、搜索管理层和缓存层等核心组件,支持自然语言交互和个性化代码推荐。这一实践展示了AI与开发者深度协作的智能化开发新模式。
|
3月前
|
人工智能 自然语言处理 测试技术
🧠 用 AI 提升你的编程效率 —— 在 PyCharm 中体验通义灵码
通义灵码是一款基于大模型的智能编程辅助工具,现已上线PyCharm插件V2.5+版本。它能根据自然语言描述、注释或上下文生成高质量代码,支持多语言(Python、Java等),提供代码补全、优化建议、单元测试生成及异常排查等功能。集成魔搭MCP市场3000+服务,具备编程智能体模式与长期记忆能力,助开发者提升效率。适用初学者、资深开发者及团队协作场景。小红书、B站、抖音、微博均有相关资源分享。 小红书: http://xhslink.com/a/SvabuxSObf3db bilibili:https://b23.tv/1HJAdIx 抖音: https://v.douyin.com/1DAG
1040 4
|
4月前
|
SQL 自然语言处理 关系型数据库
通义灵码2.5来袭!MCP 功能直接让开发效率提升300%(附实战案例)
通义灵码2.5是阿里云推出的AI编码助手,以智能协作为核心,深度融合开发全流程。其三大升级点包括:编程智能体实现任务自主规划、MCP工具生态支持自然语言生成SQL、记忆进化系统个性化适配开发者习惯。通过自然语言即可完成数据库操作、代码生成与优化,大幅提升开发效率。此外,还具备工程级变更管理、多文件协同编辑及版本控制功能,适用于多种IDE环境,为企业提供安全高效的开发解决方案。
|
4月前
|
自然语言处理 搜索推荐 开发者
通义灵码 2.5.4 版【**编程智能体**】初体验
通义灵码2.5.4版是一款强大的编程智能体工具,支持VSCode和PyCharm插件安装。其核心能力包括工程级变更、自动感知项目框架、自主使用编程工具及终端命令执行等,大幅提升开发效率。通过智能体模式,用户可轻松实现从任务描述到代码生成、修改、运行的全流程自动化。例如,输入需求即可生成Gradio应用代码并自动运行,界面美观且操作流畅。该工具紧密集成开发环境,适配个性化编程习惯,为开发者带来高效便捷的编程体验。
420 12
|
4月前
|
JavaScript 前端开发 测试技术
通义灵码全栈开发实战测评报告
本内容详细评测了通义灵码在开发中的表现,涵盖环境配置、基础能力验证、自主开发能力、记忆与上下文理解、MCP工具集成及性能对比。测试显示,其代码补全响应更快(1.2s vs 1.8s),复杂任务准确率更高(78% vs 65%),并具备跨文件上下文记忆能力。实际应用中,可显著降低重复解释成本,提升中小型项目初期开发效率约40%,尤其适合快速原型开发、多技术栈整合及持续迭代维护场景。但仍需改进第三方文档同步延迟和TypeScript高级类型支持问题。
|
4月前
|
传感器 人工智能 API
通义灵码2.5深度评测:编程智能体与MCP工具的革新体验
通义灵码2.5通过“智能体+MCP”组合,重新定义了AI编码助手的边界。其价值不仅在于代码生成效率,更在于通过工具链整合和环境感知,推动开发流程向“声明式编程”演进。对于开发者而言,它既是提升效率的利器,也是探索AI辅助开发边界的实验场。
327 8

热门文章

最新文章