如何实现AI智能表单自动填写功能?

ai智能表单填写如何实现?有没有开源的或这付费的项目或者自己如何实现呢?

我希望在对话中能识别我的意图填写在表单中,比如我想在明天和后天请两天病假,ai能够识别我的流程申请是“病假”并且能识别到“请假时间”,能够自动填写到表单中,并且支持表单的编辑,最好支持ai的多次对话编辑,并且表单能够支持提交(调接口给别的系统)

阅读 1.5k
4 个回答

写一段提示词,让大模型提取你的 假期类型时间 关键词,然后再开发几个mcp工具或者其他工具,转换时间用和发送假期申请接口用。再借助一些ai框架就可以实现。

看你的样子还需要包括前端页面,那么你可以使用前端 ai sdk ai框架结合react来开发页面和功能。这个ai框架支持的功能很丰富,意图识别主要是提示词要写的可以。具体你可以自己研究研究这个框架。


我以这个框架的纯脚本为示例,不带ui页面,理解了这一块,ui自是手拿把掐。

import { generateObject } from "ai";
import { z } from "zod";
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import "dotenv/config";
import dayjs from "dayjs";

const today = dayjs().format("YYYY-MM-DD HH:mm:ss");

const provider = createOpenAICompatible({
  name: "openai-compatible",
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: process.env.OPENAI_BASE_URL!,
  includeUsage: true, // Include usage information in streaming responses
});

// 定义提取信息的 schema
const LeaveSchema = z.object({
  leaveType: z.string().describe("请假类型,比如病假、事假、年假"),
  startDate: z.string().describe("请假开始时间,如:2025-08-22 或 明天"),
  duration: z.string().describe("请假时长,如:2天、半天"),
  endDate: z.string().describe("请假结束时间,格式必须为: YYYY-MM-DD"),
});

// 模拟要调用的业务函数
function handleLeaveRequest(
  leaveType: string,
  startDate: string,
  duration: string,
  endDate: string
) {
  console.log('********* 请假表单信息(模拟UI界面) *********')
  console.log(`✅ 假期类型: ${leaveType}`);
  console.log(`✅ 请假开始时间: ${startDate}`);
  console.log(`✅ 请假时长: ${duration}`);
  console.log(`✅ 请假结束日期: ${endDate}`);
  console.log('********* 请假表单信息(模拟UI界面) *********')
}

// 主函数
async function main() {
  const userInput = "我要从后天开始请3天病假";

  const prompt = `
你是一个请假助手,请从用户的输入中提取以下四个信息:
1. 假期类型(如病假、事假、年假)
2. 请假开始时间(可以是自然语言,比如“明天”),格式必须为: YYYY-MM-DD HH:mm:ss
3. 请假时长(如“2天”、“半天”)
4. 请假结束日期(格式必须为: YYYY-MM-DD HH:mm:ss)

注意请假规则:
1. 一天一般是从00:00:00开始计算,到23:59:59结束; 请假半天一般截至到中午12:00:00; 如果从中午12点开始请假,则请假时长为半天, 截至时间为18:00:00;
2. 请假时长为自然数,单位为天或者半天
3. 请假开始时间不能早于今天
4. 请假结束日期不能早于开始时间


用户输入:${userInput}
现在的日期是: ${today}
请按照 JSON 格式输出,字段为:leaveType, startDate, duration, endDate
`;

  const result = await generateObject({
    model: provider("qwen/qwen3-235b-a22b"),
    schema: LeaveSchema,
    prompt,
  });

  const data = result.object;
  handleLeaveRequest(data.leaveType, data.startDate, data.duration, data.endDate);
}

main().catch(console.error);

image.png

注意ai接口只能进行文本的输入和其ai回答的输出,所有的操作复杂的操作逻辑按照:
提示词构建-> 规范输出 -> 数据清洗 -> 转为固定格式,之后进行填写到对应的代码处理逻辑中,你这个也是一样的,需要对ai的返回值进行解析处理后,通过别的方法进行调用

AI只会给你相应提示文本,具体实现这个表单还是需要代码去处理信息,然后实现;可以提供业务模板让AI可以识别用哪个业务模板返回表单,并非单纯的前端后端,需要一个有大模型应用的人员

新手上路,请多包涵

你这个问题刚好适合从GUI方向入手。
我们现在在打造一个为智能体提供「图形界面操作能力」的基础设施平台。通过这个平台你可以赋予大模型直接操作图形界面的能力。
这样你就不需要API或者系统改造,快速落地、少做技术开发,也可以解决你点击提交表单等界面操作的需求。
具体看看介绍,也有Playground可以在线测试
https://lybic.ai/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题