写点什么

利用 Snowflake Cortex AI 能力,打造高效 IPO 研究智能体 | 技术实践

  • 2026-03-30
    北京
  • 本文字数:4743 字

    阅读完需:约 16 分钟

2026 年,智能体将在企业级应用中取得哪些实质性突破?点击下载《2026 年 AI 与数据发展预测》白皮书,获悉专家一手前瞻,抢先拥抱新的工作方式!

概述

本快速入门指南旨在指导您构建一个 IPO 研究智能体,该智能体充分利用 Snowflake Cortex 的核心功能。通过本指南,您将完成以下任务:

  • 配置账户,以便访问美国证券交易委员会(SEC)的 EDGAR 数据库 Finnhub 等各类 API 接口;

  • 将指定季度的 SEC S-1 文件下载至内部存储阶段;

  • 创建数据表,用于引用上述文件,并通过 EDGAR API 的独立端点补充额外的维度信息,同时为相关数据构建语义视图

  • 设计数据处理流程,运用 AI_EXTRACT 函数进行数据提取;

  • 构建能够调用 Finnhub 实时股票市场数据的处理流程;

  • 下载领先机构发布的市场预测报告(PDF 格式),并对这些报告执行文档处理,同时配置 Cortex 搜索功能;

  • 创建具备推理能力并可调用上述各步骤所涉及的 Cortex AI 服务的 Cortex 智能体

准备工作

一个具有 ACCOUNTADMIN(账户管理员)权限的 Snowflake 账户注意:试用账户不支持此操作,因为外部访问集成功能未对试用账户开放。

构建内容

一个配备多种工具的 Cortex 智能体,它将利用 Snowflake Intelligence 的交互式用户界面。

开始使用

环境设置

打开新的 SQL 工作表并运行以下命令。要打开新的 SQL 工作表,请选择“项目»工作表”,然后点击蓝色加号按钮并选择 SQL 工作表。

USE ROLE SYSADMIN;CREATE OR REPLACE DATABASE IPO_RESEARCH_DB;USE DATABASE IPO_RESEARCH_DB;CREATE OR REPLACE WAREHOUSE IPO_RESEARCH_WH WAREHOUSE_SIZE = SMALL AUTO_SUSPEND = 60 AUTO_RESUME = TRUE;GRANT USAGE ON WAREHOUSE IPO_RESEARCH_WH TO ROLE SYSADMIN;USE WAREHOUSE IPO_RESEARCH_WH;
复制代码

EDGAR 数据准备

概述

本环节将通过上传并执行一个 Snowflake Python Notebook,实现以下流程:下载 SEC EDGAR 数据库中的 S-1 文件,构建维度数据表,创建数据提取程序,并最终建立语义视图。

步骤 1.1:导入 EDGAR 数据库 Python 笔记本

接下来,请导入已配置的 Python 笔记本。该笔记本将从 EDGAR 数据库中下载 S-1 文件,创建相关数据表,并构建 AI_EXTRACT 函数。您可先通过以下链接下载笔记本文件。

导入方式:在 Snowflake 界面中,点击“+”按钮>>选择“Notebook” >>选择“导入.ipynb 文件”,完成上传。

alt_text

请确保以下配置正确:

  • 运行环境:选择“在容器上运行”(必须,因为需要使用 SEC 提供的自定义.whl 文件);

  • 查询仓库:选择“IPO_RESEARCH_WH”。如在下拉菜单中未找到该选项,请刷新页面后重试。

alt_text

步骤 1.2:添加必要的第三方依赖包

在调用 EDGAR 接口进行数据查询前,您需要安装以下两个软件包:

请访问上述链接页面,分别下载对应软件包的.whl 文件。随后,在“探索”列中点击加号,选择“从本地上传”,将下载好的文件上传至您的笔记本环境。

alt_text

步骤 1.3:运行笔记本

接下来即可运行笔记本。建议您按照单元格顺序手动逐一执行。若在执行 test_connectionget_s1_filers_list 单元格时遇到“名称或服务未知”的错误提示,可能需要结束当前会话并重新启动,以确保 EAI 已正确附加并启用至笔记本及当前会话。具体操作步骤如下:

  • 结束会话:点击右上角“活跃”笔记本状态旁的下拉箭头,选择“结束会话”;

  • 重启会话并执行必要单元格:重新从头开始执行各单元格,但需跳过 create_sec_eai 单元格。

补充说明:

  • 根据 get_s1_filers_list 单元格顶部的配置设定,当前我们正在下载 2025 年第一季度的 S-1 申报文件;

  • 由于 EDGAR 数据库存在访问限流机制,download_s1 和 sec_company_names 单元格各自可能需要最多 10 分钟的执行时间,请耐心等待。

Finnhub API 准备工作

概述

创建免费的 Finnhub.io 账户,并完成必要配置,以便通过其 API 接口获取实时股票数据。

步骤 2.1:注册 Finnhub 账户

请访问 Finnhub 官网完成账户注册。注册成功后,您将获得一个 API 密钥,并可免费使用部分接口,调用频率限制为每分钟 60 次。

步骤 2.2:导入并运行 Finnhub 集成配置笔记本

接下来,请导入一个 Python 笔记本。该笔记本将创建一组新的网络规则、外部访问集成(EAI)以及用于调用 API 的存储过程。请采用与之前相同的笔记本导入方式。

点击此处下载笔记本。

由于无需使用自定义库,我们将采用由代码库支持的笔记本。您的配置界面应如下图所示:

alt_text

 

导入完成后,请务必在 create_secret 代码单元格中填入您的 API 密钥。完成此步骤后,您可以按顺序依次运行所有单元格。

市场报告准备

概述

在本步骤中,我们将从多家机构导入市场预测与研究类的 PDF 报告,利用 AI_PARSE_DOCUMENT 函数进行文档解析处理,并基于处理后的信息创建 Cortex Search 服务。

步骤 3.1:新建 SQL 工作表,设置上下文并创建新阶段

点击左侧导航栏中的“+”号,选择“SQL 工作表”,并执行以下命令:

USE ROLE SYSADMIN;USE WAREHOUSE IPO_RESEARCH_WH;USE DATABASE IPO_RESEARCH_DB;USE SCHEMA PUBLIC;-- create new stage for market reports CREATE or REPLACE STAGE market_reportsDIRECTORY = (ENABLE = TRUE)ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE')COMMENT = 'Stage for financial firms market report PDFs';
复制代码

步骤 3.2:上传 PDF 文件

接下来,通过界面将市场报告 PDF 文件上传至新建的阶段。具体操作步骤如下:在左侧数据库浏览器中找到 MARKET_REPORTS 阶段,将鼠标悬停在该阶段上,点击弹出窗口右上角的“展开(expand)”图标,在新标签页中打开该阶段的专属界面。若该阶段未在浏览器中显示,请刷新页面后重试。

alt_text

 

在新标签页中,点击右上角的“+文件”,上传市场报告的 PDF 文件。这些文件可在此处的压缩包中找到——请确保解压后,将 PDF 作为单个文件上传。

步骤 3.3:创建目标表并执行文档处理

返回 SQL 工作表,执行以下命令以创建用于存储文档处理输出的目标表,随后运行 AI_PARSE_DOCUMENT 函数。

-- Step 1: Create table to store parsed PDF contentCREATE OR REPLACE TABLE MARKET_REPORTS (    file_name VARCHAR,    file_path VARCHAR,    page_index INT,    content TEXT,    parsed_at TIMESTAMP_LTZ DEFAULT CURRENT_TIMESTAMP());-- Step 2: Parse PDFs using AI_PARSE_DOCUMENT and load into tableINSERT INTO MARKET_REPORTS (file_name, file_path, page_index, content)SELECT     SPLIT_PART(RELATIVE_PATH, '/', -1) AS file_name,    RELATIVE_PATH AS file_path,    page.value:index::INT AS page_index,    page.value:content::TEXT AS contentFROM     DIRECTORY(@market_reports),    LATERAL FLATTEN(        input => SNOWFLAKE.CORTEX.AI_PARSE_DOCUMENT(            TO_FILE('@market_reports', RELATIVE_PATH),            {'mode': 'LAYOUT', 'page_split': true}        ):pages    ) AS pageWHERE     RELATIVE_PATH ILIKE '%.pdf';
复制代码

 

步骤 3.4:创建 Cortex 搜索服务

执行以下命令以创建 Cortex 搜索服务:

-- Step 3: Create Cortex Search ServiceCREATE OR REPLACE CORTEX SEARCH SERVICE market_reports_search    ON content    ATTRIBUTES file_name, page_index, parsed_at    WAREHOUSE = IPO_RESEARCH_WH    TARGET_LAG = '1 hour'    COMMENT = 'Search service for market outlook reports'AS     SELECT         content,        file_name,        page_index,        parsed_at    FROM         IPO_RESEARCH_DB.PUBLIC.MARKET_REPORTS; 
复制代码

可选:步骤 3.5:测试 Cortex 搜索

您可以通过以下 SQL 语句测试 Cortex 搜索功能:

SELECT PARSE_JSON(    SNOWFLAKE.CORTEX.SEARCH_PREVIEW(        'market_reports_search',        '{            "query": "market trends inflation",            "columns": ["content", "file_name", "page_index"],            "limit": 10        }'    ))['results'] AS search_results;
复制代码

Cortex 智能体设置

回顾

在开始配置 Cortex 智能体之前,我们先总结一下已完成的前序工作:

  • 已加载一个季度的 S-1 文件档案;

  • 已基于 S-1 文件创建了一个语义模型以及一个 AI_EXTRACT 存储过程;

  • 已创建了用于从 Finnhub 的 API 获取实时股票信息的存储过程;

  • 已加载来自不同机构的市场报告 PDF,完成了文档处理,并创建了一个 Cortex 搜索服务。

下一步是设置一个 Cortex 智能体,使其能够利用上述所有功能作为工具,进行推理并决策如何执行 IPO 研究。

步骤 4.1:创建 Cortex 智能体

在导航栏中,点击 AI 与机器学习> AI Studio,然后点击 Cortex 智能体 下方的“尝试”。在结果页面的右上角点击“创建智能体”。在弹出的模态窗口中,按如下方式命名/配置智能体:

alt_text

步骤 4.2:配置智能体

接下来,我们将开始指导智能体并设置它可以使用的工具。

在“描述”字段中添加以下内容:

这是一个能够对私有公司和上市公司进行研究的智能体,其目标是发现那些已提交 S-1 文件并正准备进行 IPO 的成功公司。

工具部分

点击“工具”标签页;我们将在此部分开始为智能体添加工具。

1. Cortex Analyst:创建一个基于我们在第一步中创建的语义模型的 Cortex Analyst 服务,以供智能体使用。点击 Cortex Analyst 对应的“+添加”按钮,并按如下配置进行匹配:

alt_text

 

2. Cortex 搜索服务:配置市场报告 Cortex 搜索服务将如何作为工具使用。确保 ID 列和标题列设置正确。点击 Cortex 搜索旁边的“+添加”按钮,并按以下配置进行匹配:

alt_text

 

3. 自定义工具:指导智能体如何利用自定义工具,例如存储过程。点击自定义工具旁边的"+添加"按钮,选择 IPO_RESEARCH_DB.PUBLIC 内容,然后进入以下三个存储过程的配置:

  • GET_STOCK_FUNDAMENTALS(VARCHAR);

  • GET_STOCK_PRICE(VARCHAR);

  • EXTRACT_S1_INFO(VARCHAR, VARCHAR)。

  • 注意:务必为 AI_EXTRACT 的参数提供简短描述,因为其对格式较为敏感。

alt_text

 

建议将工具名称与给定的存储过程名称保持一致,并利用 Cortex 生成式 AI 功能来生成描述。

最后,点击右上角的"保存"按钮,保存智能体配置。

步骤 4.3:测试/使用智能体

现在我们已准备好测试智能体!在右侧模态窗口中,您可以基于配置测试智能体的推理能力和工具调用效果。以下测试流程将验证上一步配置的所有工具功能:

  • 查询预测/情绪报告

  • “根据市场研究,哪些行业与板块表现潜力突出?”

  • “人工智能是否仍属于值得投资的强势领域?”

  • 寻找关联公司并分析其 S-1 文件

  • “是否有能源企业提交了 S-1 申请?”

  • “根据招股说明书说明这些公司的主营业务,并解释提交 S-1 文件的目的”

  • 对标上市公司分析

  • “这些公司是否有已上市的竞争对手?它们过去 12 个月表现如何?”

操作提示:

1. 在智能体对话界面右上角点击“显示追踪记录”,可实时查看推理过程和工具调用效能。若出现通用性回复或空值结果,该功能将帮助您定位工具配置问题。

2. 通过左侧(配置面板)的“智能体编排”模块,可运用提示工程调优智能体行为。该模块支持:编排工具调用策略、设定应答规则指南、配置预算阈值。

当智能体成功实现全工具调用时即完成配置,后续可选择性通过 Snowflake Intelligence 平台进行深度测试与应用部署。

总结与资源

恭喜!您已成功搭建了一个能够展示 IPO 研究能力的 Cortex 智能体。经过适当的调整与完善,您将更有把握发掘出下一个值得投资的独角兽企业!

本课要点

  • EDGAR S-1 文件的上传与数据处理工程;

  • 创建可供 Cortex 智能体调用的各类工具;

  • 基于语义视图的 Cortex Analyst 功能;

  • AI_EXTRACT 存储过程的应用;

  • 通过 Finnhub API 实现实时股票信息查询的存储过程;

  • Cortex 智能体的创建与配置。

原文地址:https://www.snowflake.com/en/developers/guides/cortex-agent-ipo-research-assistant/

点击链接立即报名注册:Ascent - Snowflake Platform Training - China更多 Snowflake 精彩活动请关注专区