试着用文心千帆给《背影》做总结,妈妈再也不用担心我的语文考试了

        对于研究员、分析师、科学家、媒体工作者等职业来说,平常工作中需要进行大量的文本处理和智能分析。大语言模型的出现,让这一过程加速,用AI实现从复杂的非结构化和半结构化文档中,自动进行关键数据抽取和总结。

        假设我们有大量的Word文档,每个文档都包含不同的内容,我们希望能够自动提取这些文档的内容,并生成相应的总结。本文就来深入探讨一下如何使用Python编程语言、python-docx库和百度千帆大模型平台的文本生成模型,将文档内容自动提取和总结,以满足这一需求。我们将逐步探讨整个过程,包括从Word文档中提取内容、将提取的内容发送给百度千帆大模型进行总结,以及如何优化和扩展这一流程。Let’s go!

前言

        百度千帆大模型平台覆盖从数据管理、数据标注、模型开发、模型纳管、部署上线的AI能力研发与应用全生命周期建设和管理。接入文心大模型算法和开放第三方业内知名的模型算法,降低全流程AI开发门槛。

        

(千帆大模型平台控制台界面)

文本智能处理流程

第一步:Python环境配置&获取大模型API密钥

        在开始之前,我们需要准备一些基本的工具和资源。首先,确保Python环境已经设置好,并安装了必要的库,包括requestspython-docx。同时我们需要在百度千帆大模型平台上注册并获取API密钥,用于对接百度千帆大模型的文本生成模型。

        Python非常适合进行文本处理和自动化任务。为了运行我们的文档内容提取和总结代码,首先需要确保你的Python环境已经设置好。

安装Python

        我们可以在Python官方网站上下载最新版本的Python。安装完成后,你可以通过在终端或命令提示符中运行以下命令来检查Python的版本,确保你使用的是Python 3.x 版本。

        

python --version

创建虚拟环境

        建议使用虚拟环境来隔离不同项目的依赖项。虚拟环境可以确保项目之间的依赖不冲突。在命令行中,使用以下命令创建一个新的虚拟环境:

python -m venv myenv

接下来,激活虚拟环境:

  • 在Linux或macOS上:

source myenv/bin/activate

  • 在Windows上:

myenv\Scripts\activate

        激活虚拟环境后,就可以在其中安装项目所需的依赖项了。

安装库

        在虚拟环境中,使用以下命令安装所需的requests库:

pip install requests python-docx

        我们要安装requests库,用于发送HTTP请求,以及安装python-docx库,用于处理Word文档。

获取百度千帆大模型 API密钥

        

        Python环境配置好后,在百度千帆大模型开放平台上注册并获取API密钥。这将是连接到百度千帆大模型服务的凭证。我们需要将 API Key 和 Secret Key 保存在安全的地方,并在代码中使用它们进行身份验证。

第二步:提取文档内容

使用python-docx库读取Word文档

首先,我们准备一份 word 文档,填充一些内容。

        为了展示,这里以《背影》为例。

        然后我们需要编写Python代码来从Word文档中提取内容。我们使用python-docx库来处理Word文档。 

from docx import Document

def extract_document_content(docx_path):
    document = Document(docx_path)
    content = ""for paragraph in document.paragraphs:
        content += paragraph.text + "\n"return content

        此段代码将打开指定的Word文档文件,并遍历文档中的所有段落,将其内容逐一提取并拼接成一个字符串。这个字符串会包含整个文档的内容。

构建总结请求

        接下来,我们需要构建一个总结请求,其中包括从文档中提取的内容。这个请求将发送给百度千帆大模型的文本生成模型,以生成文档的总结。

# 构建总结文本
summary_request = "将文档内容总结一下:\n" + doc_content

        我们再将提取的文档内容与一个简单的请求消息相结合,如“将文档内容总结一下”请求模型就会根据这个消息来生成总结了。

第三步:与百度千帆大模型集成

获取Access Token

        在与百度千帆大模型的服务交互之前,我们需要获取一个Access Token,用于进行身份验证和授权。

import requests
import json

API_KEY = "你的API密钥"
SECRET_KEY = "你的API密钥的密钥"def get_access_token():
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
    return str(requests.post(url, params=params).json().get("access_token"))

        这段代码负责通过发送HTTP请求获取Access Token。你需要将你在百度千帆大模型开放平台上获得的API_KEY和SECRET_KEY替换成相应的值。

向百度千帆大模型发送总结请求

        最后,我们需要将总结请求发送给百度千帆大模型的文本生成模型,以生成文档的总结。

url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()

payload = json.dumps({
    "messages": [
        {
            "role": "user",
            "content": summary_request
        },
    ]
})
headers = {
    'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

        这一步我们构建了一个POST请求,将总结请求作为消息发送给百度千帆大模型的文本生成模型。这个模型就能根据请求生成文档的总结。

第四步:处理响应和结果

        最后,我们需要处理从百度千帆大模型返回的响应,这个响应将包含生成的文档总结。

print(response.text)

        这段代码简单地将响应文本打印到控制台,以便查看生成的文档总结。我们可以看到下面这段结果了“这是一篇描述父亲背影的散文……”

        最后我再贴一下完整的代码吧,供参考

from docx import Document
import requests
import json

API_KEY = "ss1SMdzO5fQsxEmApbAHbSt7"
SECRET_KEY = "rmhNcQHuKXKaIVNA5po48xURukGNq2qr"

def main():
    # 从文档中提取内容
    doc_content = extract_document_content('D:\\Python项目\\wendangtiqu\\背影.docx')

    # 构建总结文本
    summary_request = "将文档内容总结一下:\n" + doc_content

    # 请求百度AI进行总结
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()
    
    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": summary_request
            },
        ]
    })
   headers = {
        'Content-Type': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    
    print(response.text)

def extract_document_content(docx_path):
    document = Document(docx_path)
    content = ""
    for paragraph in document.paragraphs:
        content += paragraph.text + "\n"
    return content

def get_access_token():
    """
    使用 AK,SK 生成鉴权签名(Access Token)
    :return: access_token,或是None(如果错误)
    """
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
    return str(requests.post(url, params=params).json().get("access_token"))

if __name__ == '__main__':
    main()

案例优化与扩展

本文所做的处理过程只是一个起点,大家可以进一步优化和扩展它以满足更多的文本处理需求:

  • 多文档处理: 修改代码以处理多个文档,可以是一个文件夹中的多个文档,以批量生成总结。
  • 多格式处理:处理多种文件类型,可以是TXT、Word、PDF、PPT等。
  • 自动化工作流: 将这个流程自动化,以便定期处理文档并生成总结,无需手动干预。
  • 更复杂的总结请求: 根据需要,构建更复杂的总结请求,以包括特定的总结要求,如关键词提取、重要段落识别等。
  • 其他AI服务: 探索百度千帆大模型开放平台的其他服务,如自然语言处理、图像处理等,以扩展文本处理的功能。

如果大家有什么想看的处理过程,我们之后再尝试。

总结

        通过这个完整的流程,我们可以实现自动提取和总结文档内容的过程。同时这个过程还可以通过进一步优化和扩展,满足各种文本处理需求,包括自动摘要、关键词提取等。百度千帆大模型的文本生成模型为这一过程提供了强大的支持,使文本智能处理变得更加容易和高效。

希望这篇博客对于理解如何使用Python和百度千帆大模型进行文本智能处理有所帮助。大家可以试着开始将这一流程应用到实际项目中,提高文本处理的效率和质量。

        最近看到百度有新活动,10月17日,以“生成未来 (PROMPT THE WORLD)”为主题的Baidu World 2023将在北京首钢园举办。今天是倒计时7天

大模型改变世界,提示词 (PROMPT) 无处不在。现场,百度还将发布多款AI原生应用介绍大模型最新进展,分享如何通过AI原生思维,与企业、用户、以及合作伙伴一起,以PROMPT为始,共同抓住新机遇。有消息称当天会发布文心4.0版本,据说,此次文心4.0升级更大,尤其在逻辑推理、代码和数学等方面提升最明显。

        大会当天还将举行面向企业、开发者、合作伙伴、投资人的分论坛,设置前沿AI互动体验区,全面展现百度最新成果,现在启动了社会报名,当天直播也可以观看。

给大家指个路:百度世界大会2023

百度世界大会2023icon-default.png?t=N7T8https://baiduworld.baidu.com/m/world/2023/

猜你喜欢

转载自blog.csdn.net/m0_73367097/article/details/133742604