学习中心
遇到问题了吗?不用担心,答案都在这。
归类目录
全站搜索

    用 AI Agent 帮书籍建檔:输入 ISBN,自动填入数据

    如果你想把自己书架上的藏书整理成一份方便查找的清单,或是帮公司、学校创建内部的图书数据库,方便大家查找和借阅,光是要手动整理书籍的基本数据,一笔笔把书名、作者、出版社这些数据输到表格里面,就可能会花上不少时间。书籍一多,更是一项大工程。

    其实,这些数据不一定要从头输入。因为书籍有个共通的身分证:ISBN,网络上已经有人把这些书目数据依照 ISBN 整理好,让人可以依照 ISBN 查到数据了,例如 Google Books 或 Open Library 这样的在线图书数据库。不过,要能够在输入 ISBN 后,自动把对应的书目数据填入自己的表单,通常会需要透过 API 串接。会写程序的人可以自己串接,不会写程序的人往往还是得要手动拷贝贴上数据。

    为了减少这些重复的操作,我们在先前的文章中介绍过另一种方法:利用书籍管理 App 扫 ISBN 获取书籍数据后,将数据汇出成 Excel 或 CSV 书籍清单,之后可以进一步汇入到 Ragic 进行更弹性的管理。

    现在,随着 AI 工具的发展,API 串接也变得更容易了。这篇文章会教你如何不用写程序,透过 Ragic AI Agent 调用 Google Books API,让你在输入或扫描 ISBN 后,自动将查到的书籍数据带入表单的对应字段,省下一笔笔输入或拷贝贴上的时间,更快创建书籍清单。

    使用前提醒: 市面上这些已经整理好书目数据的来源,例如 Google Books、Open Library 等,其实都不能保证 100% 收录全世界所有的书,所以这个 Agent 教学的定位,是希望帮你省掉可能六七成手动 key 数据的力气。如果查不到数据或字段有缺漏时,仍需要手动填入。你也可以持续找方式优化这个 Agent。

    另外,我们选择 Google Books 来演示的原因,是因为不少 Open Library 的中文字目会以罗马拼音呈现书名、作者等信息。相较之下,Google Books 回传的数据较符合中文字籍建檔需求,因此选用 Google Books API 作为数据来源。

    如何使用 AI Agent?

    如果你还没有 Ragic 帐号,请先完成登记。登记后即可先使用免费版;若想更完整体验与测试功能,也可以申请 30 天专业版免费试用,且不需要输入信用卡信息。在获取你的同意前,Ragic 不会要求支付任何使用费用,请放心体验。更多方案与费用说明,请参阅价目表。

    登录后,点击右上角的 图符打开 AI 窗口,再点击 AI Agent。

    在开始使用 AI Agent 前,请先了解以下几点:

    1. AI Agent 运行时会消耗 AI 额度,消耗量会依任务复杂程度与选择的模型而有所不同。
    2. 每个数据库每月都会提供免费 AI 额度供测试使用,不同版本的额度机制有所不同:付费版会依版本与使用人数提供免费额度;试用版提供固定 AI 额度供体验使用,不会依版本或使用人数而有所不同;免费版也提供基本额度供测试使用。你可以先使用免费额度体验与测试功能,再依需求决定是否升级方案或购买额度。
    3. 当免费额度用尽后,系统不会自动额外收费,而是暂停 AI 功能。若需要继续使用,付费版可依需求另外购买 AI 额度(AI 额度以美金计算);试用版无法另外购买额度;免费版则可等待下个月额度补充后再继续使用。请放心,只有在你主动升级方案或购买额度后才会生成费用,不会发生意外扣款的情况。
    4. 你可以查看过去 30 天各 Agent 的使用量报表,包含调用次数、使用费用等信息,方便了解 AI 额度的使用情况,并依需求随时调整 Agent 设置。

    详细说明请参阅这篇文章。

    事前准备 1:准备书籍数据表单

    本篇将使用 Ragic 的“图书馆借还书系统”来演示,并在其中的“书籍清单”表单上创建 AI Agent。如果你还没有书籍管理表单,可以先安装这个模块,跟着以下步骤操作。

    如果你已经有自己的书籍管理表单,也可以直接在该表单上创建 Agent,依照实际字段调整设置。若想自行设计书籍管理表单,可以参阅这篇教学来创建自己的表单,再加入自动查询书籍数据的功能。

    事前准备 2:获取 Google Books API Key

    由于在我们的测试中,如果没有提供自己的 API Key,在用 Google Books API 查询书籍数据时,都会显示超过额度而失败。因此,在开始设置 AI Agent 前,请先免费申请一组自己的 Google Books API Key。这个 API Key 可以让你在 24 小时内进行 1000 次的查询。以下就来看看怎么申请吧!

    1. 登录 Google Cloud Console。如果之前没有登录过,可以直接使用自己的 Google 帐号密码登录。

    2. 进入 Google Cloud 管理 API 和服务,点选左侧“证书”,进入证书画面后,点选画面上方的“创建证书>API 密钥”。

    3. 在右侧弹出的密钥设置画面中,将“API 限制”设为仅许可“Books API”。

    “应用程序限制”选择“无”,也就是不另外限制调用来源的站点或 IP 地址,再单击下“确定”。

    完成设置并创建密钥后,拷贝画面显示的 API Key,后续设置 Agent 时会用到。

    4. 日后若需要再次查看 API Key,可以回到同一个专案的“API 和服务>证书”,在“API 密钥”清单中找到该笔密钥,点选“显示密钥”查看。

    提醒: API Key 请妥善保管,不要分享给他人或公开放在网络上,以免他人使用你的查询额度。若不慎公开,请回到 Google Cloud Console 创建新密钥,同步更新下方 Agent 指令中的两处设置,并删除已公开的旧密钥。

    创建 AI Agent

    1. 创建 AI Agent 时,将“AI Agent 类型”设为“自动填写字段”,触发表单选择“借还书系统-书籍清单”。如果使用的是自己的书籍管理表单,请选择对应的表单。

    2. 将以下指令拷贝到“Agent 指令”中,并将两处 [你的 API Key] 替换成前一步获取的 Google Books API Key,再保存 Agent。

    这份指令会先依照 ISBN 搜索书目,再查询该笔书目的详细数据,补充出版社等信息。若查无数据或查询失败,则会在“书名”字段显示提示。相关的错误信息代表的意思以及处理方式,请见下方“查不到数据或出现错误信息提示时怎么办?”

    指令如下:

    当“ISBN”字段有值且“书名”字段为空时,请依照以下步骤运行:
    
    首先调用 Google Books 搜索 API:
    https://www.googleapis.com/books/v1/volumes?q=isbn:[ISBN字段的值]&key=[你的 API Key]
    
    如果这次调用的 HTTP 状态或回传 JSON 的 error.code 明确为 429,请在“书名”填入“Google Books 查询受配额限制,请检查 API Key 与配额”,保存后停止运行。
    只有实际响应明确出现 429 时才使用这段提示,不可因为查不到数据、字段缺漏或其他错误而推入测是配额限制。
    
    如果成功回传的 totalItems 为 0,或 items 是空数组,请在“书名”填入“查无此书籍数据”,保存后停止运行。
    
    如果搜索调用失败,或没有获取可读的响应,请在“书名”填入“Google Books 查询失败,请稍后重试”,保存后停止运行。
    
    如果回传的 items 有数据,继续以下步骤:
    
    从 items 数组中,优先选择 volumeInfo.title 包含非拉丁字符(如中文、日文、朝鲜文)的那笔数据;若所有结果都是拉丁字母,则使用 items[0]。
    记录选定项目的 id,作为后续详细查询使用。
    
    获取选定项目的 volumeInfo,寄存以下数据:
    - 书名:volumeInfo.title。
    - 作者:优先使用选定项目的 volumeInfo.authors;若为空,再从其他 items 中找 authors 不为空且包含非拉丁字符的数据;若作者数据都使用拉丁字母,则使用找到的非空作者数据。多位作者以逗号连接。
    - 出版社:volumeInfo.publisher,若没有则暂时留空。
    
    获取 id 后,调用 Google Books 详细数据 API:
    https://www.googleapis.com/books/v1/volumes/[上面获取的id]?key=[你的 API Key]
    
    从详细数据的 volumeInfo.publisher 获取出版社;若有值,使用这个值,否则保留搜索结果中的出版社。
    
    如果详细数据 API 调用失败(包括 429),不重试,直接使用搜索阶段已获取的数据,不要把已获取的书名改成错误提示。
    
    最后填入以下字段并保存:
    - 书名
    - 作者
    - 出版社
    
    如果某个字段没有数据,该字段保持空白即可,不需填入任何字,也不要自行猜测或编造。
    

    3. 打开刚创建的 Agent,在“动作”中加入“调用外部网址”,让 Agent 能依照指令调用 Google Books API,并保存设置。

    4. 设置完成后,未来只要输入 ISBN,Agent 就会自动查询,将获取的书名、作者与出版社带入对应字段。

    你也可以打开 Ragic App 的书籍清单,直接扫描 ISBN 来创建书目数据。

    查不到数据或出现错误信息提示时怎么办?

    在前面基本教学提供的 Agent 指令中,我们针对搜索失败或查无数据的情况,设置了显示在“书名”字段的提示信息。若你使用的是这份指令,可以参阅下表了解各项提示的意思与处理方式。关于其他 Google Cloud API 的错误信息,也可以参阅这份官方文档。

    错误代码或信息 代表什么? 设置 Agent 响应信息 可以怎么处理?
    error.code 为 429 查询次数和频率超过配额(24 小时内超过 1000 次,或 1 分钟内超过 100 次) Google Books 查询受配额限制,请检查 API Key 与配额 查看 Google Cloud Console 中“API 和服务”中 Books API 的“配额与系统限制”。若每日额度已用完,需等额度复位后再查询。
    totalItems 为 0 或 items 为空 查询后没有找到对应书目,可能是:
    (1) ISBN 输入错误
    (2) Google Books 未收录该书的数据
    查无此书籍数据 确认 ISBN 是否正确。若确认无误仍抓不到数据,请改为手动建檔。
    其他错误或无法读响应 查询未能正常完成,可能是 Google Books 服务暂时异常或联机失败。 Google Books 查询失败,请稍后重试 稍后重试,也可参阅第三方监测站点 FreeAPI.watch,查看 Google Books API 是否出现服务异常。若显示正常但仍无法查询,可以先手动填入书籍数据。

    扩展变化:自动带入封面图、简介与出版日期

    除了书名、作者与出版社,你也可以在书籍管理表单中加入封面图、简介、出版日期等字段,让 AI Agent 一并带入 Google Books API 提供的信息。

    如果你还想带入页数、Google Books 评分,或 Google 平台上的销售状态等其他信息,可以参阅 Google Books API 官方字段文档,依照需求新增表单字段,并调整 Agent 指令。

    1. 如果你已经有自己的书籍管理表单,可以依照需求加入“Google Books ID”、“封面图”、“语言”、“出版日期”、“简介”与“Google Books 链接”等字段。也可以创建一张类似下图的“书籍清单”。

    2. 新增一个“自动填写字段”类型的 Agent,触发表单选择刚准备好的“书籍清单”。如果该表单已经有用来查询书籍数据的 Agent,直接修改原本的指令即可。

    将以下内容贴入“Agent 指令”,并将两处 [你的 API Key] 替换成自己的 Google Books API Key。指令中的字段名称也请依照实际表单调整。

     当“ISBN”字段有值且“书名”字段为空时,请依照以下步骤运行:
    
    首先调用 Google Books 搜索 API:
    https://www.googleapis.com/books/v1/volumes?q=isbn:[ISBN字段的值]&key=[你的 API Key]
    
    从回传的 items 数组中,优先选择 title 包含非拉丁字符(如中文、日文、朝鲜文)
    的那笔数据;若所有结果都是拉丁字母,则使用 items[0]。
    记录选定项目的 id 字段值,作为后续详细查询使用。
    
    获取选定项目的 volumeInfo 寄存以下数据:
    - Google Books id: id
    - 书名:volumeInfo.title
    - 作者:优先使用与书名相同语系的那笔 items 数据中的 volumeInfo.authors;
    若选定的书名数据中 authors 字段为空,则从其他 items 中找 authors 不为空
    且包含非拉丁字符的版本;若所有版本的 authors 都是拉丁字母则直接使用。
    多位作者以逗号连接。
    - 出版日期:volumeInfo.publishedDate
    - 语言:volumeInfo.language(填入源代码即可)
    - 简介:volumeInfo.description(取前200字)
    - 封面图网址:volumeInfo.imageLinks.thumbnail(若无则跳过)
    - Google Books link:将书名和 Google Books id 组合成以下格式的网址:
    https://www.google.com.tw/books/edition/[书名(英文空格用下划线替换,中文直接填入)]/[id的值]
    例如书名是 Orlando、id 是 a6hH3GGYm_4C,则填入:
    https://www.google.com.tw/books/edition/Orlando/a6hH3GGYm_4C
    
    获取 id 后,立即调用 Google Books 详细数据 API,不可跳过:
    https://www.googleapis.com/books/v1/volumes/[上面获取的id]?key=[你的 API Key]
    
    从详细数据获取:
    - 出版社:volumeInfo.publisher
    - 若搜索结果没有简介,也从这里补充:volumeInfo.description(取前200字)
    
    两个 API 都调用完毕后,才可以填入以下字段并保存:
    - 书名
    - 作者
    - 出版社
    - 出版日期
    - 语言:根据以下对照表转换:
    en → 英语、zh-CN → 繁体中文、zh-CN → 简体中文、
    ja → 日语、fr → 法语、de → 德语、es → 西班牙语、ko → 朝鲜语、
    若遇到不认识的代码则直接填入源代码。
    - 简介
    - 封面图:将封面图网址包入 [img] 标签后填入:
    [img]封面图网址[/img]
    若封面图网址不存在则跳过。
    
    如果两个 API 都查无此书,请在书名字段填入“查无此书籍数据”。
    如果某个字段没有数据,该字段保持空白即可,不需填入任何字。
    
    

    完成后保存 Agent,并确认“动作”中已加入“调用外部网址”。

    3. 设置完成并保存后,之后输入或扫描 ISBN 后,Agent 就会查询书目,除了自动抓取基本数据,也会把封面图、语言、出版日期、简介、Google Books 链接等信息填入对应字段。

    点选“Google Books 链接”,即可打开该书的介绍页面,查看或核对书籍信息。

    提供回馈给 Ragic

    请告诉我们您的意见:(多选, 必填)

    请针对上方勾选项目提供详细说明:

    截屏能够让我们更清楚了解您的建议:

    感谢您的宝贵意见!

    马上登记
    免费试用 Ragic!

    用 Google 帐号登记

    立即科技 Ragic, Inc.
    02-7728-8692
    info@ragic.com
    台北市中正区南昌路二段81号9楼
    用户条款 | 隐私权政策