前途科技
  • 科技
  • AI
    • AI 前沿技术
    • Agent生态
    • AI应用场景
    • AI 行业应用
  • 初创
  • 报告
  • 学习中心
    • 编程与工具
    • 数据科学与工程
我的兴趣
前途科技前途科技
Font ResizerAa
站内搜索
Have an existing account? Sign In
Follow US
Copyright © 2024 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。 | 京ICP备17045010号-1 | 京公网安备 11010502033860号
大模型与工程化

Airtable联手GPT:零代码工具快速搭建轻量级RAG系统原型

NEXTECH
Last updated: 2025年9月21日 下午5:39
By NEXTECH
Share
51 Min Read
SHARE

图片 1: Airtable + GPT:利用无代码工具快速搭建轻量级RAG系统原型

Contents
#引言#所需“食材”#检索增强生成系统(RAG)搭建秘籍#总结

图片来源:编辑 | ChatGPT

#引言

准备好进行一次几乎不需要代码,甚至可以完全无代码的实践教程了吗?本教程将向您展示如何将两个强大的工具——OpenAI 的 GPT 模型和基于云的数据库 Airtable 结合起来,构建一个简单、小巧的检索增强生成(RAG)系统原型。该系统能够接受基于问题的提示,并使用存储在 Airtable 中的文本数据作为知识库,生成有依据的答案。如果您对 RAG 系统不熟悉,或者想温故知新,千万不要错过这篇关于理解 RAG 的系列文章,它能帮助您加深了解。

#所需“食材”

要亲自动手实践本教程,您需要:

  • 一个 Airtable 账户,并在您的工作区中创建一个基础(Base)。
  • 一个 OpenAI API 密钥(最好是付费计划,以便灵活选择更强大的模型)。
  • 一个 Pipedream 账户——这是一个强大的编排和自动化应用程序,其免费套餐(有每日运行限制)足以满足您的实验需求。

#检索增强生成系统(RAG)搭建秘籍

构建我们的 RAG 系统的过程并非纯粹线性,某些步骤可以通过不同的方式完成。根据您的编程知识水平,您可以选择完全无代码或接近无代码的方法,或者以编程方式创建工作流。

本质上,我们将使用 Pipedream 创建一个由三部分组成的编排工作流:

You Might Also Like

Claude Skills与Neo4j深度融合:赋能LLM生成高效Cypher查询
程序员必备:Prompt三大进阶技巧与实用模板
融合Neo4j与LlamaIndex:深度解析DRIFT搜索的实现与创新
京东零售总监胡浩深度解析:大模型如何重塑京东供应链,实现智能预测与决策
  1. 触发器(Trigger):类似于一个网络服务请求,这个元素启动一个动作流,该流将通过工作流中的后续元素。一旦部署,您将在这里指定请求,即我们 RAG 系统原型的用户提示。
  2. Airtable 模块(Airtable block):建立与您的 Airtable 基础(Base)和特定表格的连接,以使用其数据作为 RAG 系统的知识库。我们很快就会在 Airtable 中添加一些文本数据。
  3. OpenAI 模块(OpenAI block):使用您的 API 密钥连接到 OpenAI 基于 GPT 的语言模型,并将用户提示以及上下文(从 Airtable 检索到的数据)传递给模型以获取响应。

但首先,我们需要在 Airtable 基础中创建一个包含文本数据的新表格。为此,我创建了一个空表格,包含三个字段(ID:单行文本,Source:单行文本,Content:长文本),然后从这个公开可用的小型数据集导入了数据,该数据集包含有关亚洲国家的基础知识文本。使用 CSV 和链接选项将数据导入表格。有关创建表格和导入数据的更多信息,请参阅这篇详细文章。

一旦您的知识库在 Airtable 中准备就绪,让我们转到 Pipedream 进行剩余的步骤!如果您还没有注册,请先注册并登录。有几种方法可以启动工作流。其中一种是向 Pipedream 的 AI 代理描述您想要创建的内容,这种方法直观但可能会导致需要修复的错误,正如我们稍后将演示的那样。Pipedream 有两个并行的用户界面:一个用于手动构建和编辑工作流,一个用于与其 AI 代理 String 进行对话。

图片 2: Pipedream 的 AI 对话界面(String)

Pipedream 的 AI 对话界面(String)

如果您选择让 String 构建您所需工作流的近似版本,请清晰地描述要构建的内容,提示可能如下所示:

我想编排一个简单的玩具 RAG 应用程序,它使用包含文本的 Airtable 表格和 OpenAI 的 GPT 模型(我有一个付费 API 密钥)。

Pipedream 的语言模型可能会返回一个答案供您批准(风险自负),如下所示:

我将创建一个简单的 RAG(检索增强生成)代理,将您的 Airtable 表格与 OpenAI 的 GPT 模型连接起来。以下是我将构建的内容:

设置一个触发器以接受查询(通过 webhook 或手动执行)

根据查询从您的 Airtable 表格中搜索并检索相关文本

使用检索到的文本作为 OpenAI GPT 的上下文来生成知情响应

返回基于您的 Airtable 数据并由 GPT 增强推理能力生成的 AI 答案

这将为您提供一个基本的 RAG 系统,您可以根据 Airtable 中存储的内容提出问题并获得答案,同时利用 GPT 的强大推理能力进行增强。

为了进行实验并“看看会发生什么”,请批准建议的操作,以获得一个类似于上面图片中所示的三模块工作流。

由于这并非 Pipedream 的核心编辑器 UI,请点击右上角的“Open Pipedream”切换到它。新选项卡将打开实际的 Pipedream 工作流编辑器。

对于触发器模块,将自动生成一个 URL,其语法类似于我获得的:https://eoupscprutt37xx.m.pipedream.net。点击它,在右侧打开的设置面板中,确保前两个选项设置为“Full HTTP request”和“Return a static response”。

对于第二个模块(Airtable 操作),可能需要做一些工作。首先,连接到您的 Airtable 基础(Base)。如果您在同一个浏览器中操作,这可能很简单:在点击“Connect new account”后弹出的窗口中登录 Airtable,然后按照屏幕上的步骤指定要访问的基础(Base)和表格:

图片 3: Pipedream 工作流编辑器:连接到 Airtable

Pipedream 工作流编辑器:连接到 Airtable

接下来是棘手的部分(也是我之前在要求 AI 代理构建骨架工作流时故意留下一个不完美提示的原因):有几种 Airtable 操作类型可供选择,而我们 RAG 式检索机制所需的特定操作是“List records”(列出记录)。很有可能,这并不是您在工作流的第二个模块中看到的操作。如果是这种情况,请将其删除,在中间添加一个新模块,选择“Airtable”,然后选择“List records”。然后重新连接到您的表格并测试连接以确保其工作正常。

成功测试的连接看起来是这样的:

图片 4: Pipedream 工作流编辑器:测试与 Airtable 的连接

Pipedream 工作流编辑器:测试与 Airtable 的连接

最后,设置和配置 OpenAI 对 GPT 的访问。请准备好您的 API 密钥。如果您的第三个模块的次级标签不是“Generate RAG response”(生成 RAG 响应),请删除该模块并将其替换为一个新的 OpenAI 模块,并选择此子类型。

首先使用您的 API 密钥建立 OpenAI 连接:

图片 5: 建立 OpenAI 连接

建立 OpenAI 连接

用户问题字段应设置为 {{ steps.trigger.event.body.test }},而知识库记录(来自 Airtable 的 RAG 文本“文档”)必须设置为 {{ steps.list_records.$return_value }}。

您可以保持其余设置为默认并进行测试,但您可能会遇到此类工作流常见的解析错误,这会促使您回到 String 寻求支持并使用 AI 代理进行自动修复。或者,您可以直接将以下代码复制并粘贴到 OpenAI 组件底部的代码字段中,以获得一个更健壮的解决方案:

import openai from "@pipedream/openai"

export default defineComponent({
  name: "Generate RAG Response",
  description: "Generate a response using OpenAI based on user question and Airtable knowledge base content",
  type: "action",
  props: {
    openai,
    model: {
      propDefinition: [
        openai,
        "chatCompletionModelId",
      ],
    },
    question: {
      type: "string",
      label: "User Question",
      description: "The question from the webhook trigger",
      default: "{{ steps.trigger.event.body.test }}",
    },
    knowledgeBaseRecords: {
      type: "any",
      label: "Knowledge Base Records",
      description: "The Airtable records containing the knowledge base content",
      default: "{{ steps.list_records.$return_value }}",
    },
  },
  async run({ $ }) {
    // Extract user question
    const userQuestion = this.question;

    if (!userQuestion) {
      throw new Error("No question provided from the trigger");
    }

    // Process Airtable records to extract content
    const records = this.knowledgeBaseRecords;
    let knowledgeBaseContent = "";

    if (records && Array.isArray(records)) {
      knowledgeBaseContent = records
        .map(record => {
          // Extract content from fields.Content
          const content = record.fields?.Content;
          return content ? content.trim() : "";
        })
        .filter(content => content.length > 0) // Remove empty content
        .join("

---

"); // Separate different knowledge base entries
    }

    if (!knowledgeBaseContent) {
      throw new Error("No content found in knowledge base records");
    }

    // Create system prompt with knowledge base context
    const systemPrompt = `You are a helpful assistant that answers questions based on the provided knowledge base. Use only the information from the knowledge base below to answer questions. If the information is not available in the knowledge base, please say so.

Knowledge Base:
${knowledgeBaseContent}

Instructions:
- Answer based only on the provided knowledge base content
- Be accurate and concise
- If the answer is not in the knowledge base, clearly state that the information is not available
- Cite relevant parts of the knowledge base when possible`;

    // Prepare messages for OpenAI
    const messages = [
      {
        role: "system",
        content: systemPrompt,
      },
      {
        role: "user",
        content: userQuestion,
      },
    ];

    // Call OpenAI chat completion
    const response = await this.openai.createChatCompletion({
      $,
      data: {
        model: this.model,
        messages: messages,
        temperature: 0.7,
        max_tokens: 1000,
      },
    });

    const generatedResponse = response.generated_message?.content;

    if (!generatedResponse) {
      throw new Error("Failed to generate response from OpenAI");
    }

    // Export summary for user feedback
    $.export("$summary", `Generated RAG response for question: "${userQuestion.substring(0, 50)}${userQuestion.length > 50 ? '...' : ''}"`);

    // Return the generated response
    return {
      question: userQuestion,
      response: generatedResponse,
      model_used: this.model,
      knowledge_base_entries: records ? records.length : 0,
      full_openai_response: response,
    };
  },
})

如果没有出现错误或警告,您应该可以进行测试和部署了。首先部署,然后在新打开的部署选项卡中通过传递如下用户查询进行测试:

图片 6: 用“日本首都是哪里”的提示测试已部署的工作流

用“日本首都是哪里”的提示测试已部署的工作流

如果请求得到处理并且一切运行正常,向下滚动即可看到工作流最后阶段访问的 GPT 模型返回的响应:

图片 7: GPT 模型响应

GPT 模型响应

干得好!这个响应基于我们在 Airtable 中构建的知识库,因此我们现在拥有了一个结合 Airtable 和 GPT 模型通过 Pipedream 实现的简单 RAG 系统原型。

#总结

本文介绍了如何通过少量或无需编码的方式,构建一个编排工作流,以原型化一个 RAG 系统。该系统使用 Airtable 文本数据库作为检索的知识库,并使用 OpenAI 的 GPT 模型进行响应生成。Pipedream 允许以编程方式、手动或在其对话式 AI 代理的辅助下定义编排工作流。通过作者的经验,我们简洁地展示了每种方法的优缺点。

TAGGED:AirtablePipedreamRAG大模型零代码
Share This Article
Email Copy Link Print
Previous Article 图片:在几分钟内构建有用的Streamlit仪表板的5个技巧 高效Streamlit仪表板:5个实用技巧助你快速上手
Next Article 图片2:可本地运行的最佳编程大型语言模型对比图 盘点:可本地运行的最佳编程大型语言模型(LLM)
Leave a Comment

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

最新内容
20251202135921634.jpg
英伟达20亿美元投资新思科技,AI芯片设计革命加速
科技
20251202130505639.jpg
乌克兰国家AI模型选定谷歌Gemma,打造主权人工智能
科技
20251202121525971.jpg
中国开源AI新突破:DeepSeek V3.2模型性能比肩GPT-5
科技
20251202112744609.jpg
马斯克预言:AI三年内解决美国债务危机,可信吗?
科技

相关内容

GPT-5.1 Thinking思考时间调整示意图
AI 前沿技术

OpenAI GPT-5.1 全面升级:情商智商双核提升,个性化交互与模型特点详解

2025年11月14日
DeepSeek-OCR技术工作原理示意图
AI 前沿技术

DeepSeek-OCR:AI文字识别黑科技,让AI高效处理文字

2025年10月27日
Google Chrome 开发者体验负责人 Addy Osmani
AI 前沿技术

谷歌Chrome负责人:揭秘Vibe Coding幻觉,AI仅能完成70%代码!未来开发者培养转向“三人编程”与AI辅助工程深度解析

2025年11月15日
Atlas浏览器搜索结果页多种类型布局展示
AI 前沿技术

OpenAI Atlas浏览器:深度揭秘鲜为人知的产品细节与ChatGPT的无缝融合

2025年10月23日
Show More
前途科技

前途科技是一个致力于提供全球最新科技资讯的专业网站。我们以实时更新的方式,为用户呈现来自世界各地的科技新闻和深度分析,涵盖从技术创新到企业发展等多方面内容。专注于为用户提供高质量的科技创业新闻和行业动态。

分类

  • AI
  • 初创
  • 学习中心

快速链接

  • 阅读历史
  • 我的关注
  • 我的收藏

Copyright © 2025 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。 | 京ICP备17045010号-1 | 京公网安备 11010502033860号

前途科技
Username or Email Address
Password

Lost your password?

Not a member? Sign Up