当前位置: 首页 > news >正文

AIGC、LLM 加持下的地图特征笔记内容生产系统架构设计

文章目录

    • 背景
    • 构建自动化内容生产平台
      • 系统架构设计
      • 架构详细设计
      • 流程介绍
        • 笔记来源
          • 笔记抓取干预
        • 笔记 AIGC 赋能
        • 笔记 Rule 改写
        • 笔记特征库构建
    • 附录
      • Bash Cron 定时任务
      • Golang 与 Pyhon AIGC 实践
    • 小结

背景

在大模型的浪潮下,ChatGPT、Sora、Gemini、文言一心 等新技术不断涌现。如何将新技术融合至业务落地,开辟新赛道、提升产品竞争力 是大家比较关心的。因为一旦新融合场景契合可行,对人们生产、生活将是里程碑的创新、跃进。

在这里插入图片描述

本文将介绍基于 LLM[大模型]、利用 AIGC 为笔记生产赋能。

主要场景为地图。可简要概括为,利用人工智能手段生成地图类特征笔记,以便于在地图类场景分发【商业路径这里不做赘述】。

注:地图场景可替换为其他场景,前提是具备其垂类场景的模型。

构建自动化内容生产平台

要实现在地图垂类场景下笔记的分发,需要稳定的、高质的内容不断生成。形成规模化后,用户习惯、心智才会逐渐培养、形成。

就持续性、规模化 而言,自动化是达成目标的之一路径。

首要任务是搭建一个可自动化生产内容的系统。同时,构建内容管理平台,是为了支持:数据量化、手动干预(紧急上/下线)、内容提质 等衍生能力。

系统架构设计

在这里插入图片描述

架构详细设计

在这里插入图片描述

流程介绍

笔记来源

在实际场景中,笔记来源并不能像 “测试” 或者 “Demo” 一样,随便给几个 Prompt ,利用模型生成一篇。这样的笔记也不会被用户人群关注,没有实用、情感、或者其他价值。

就有价值的笔记源来说,实时咨询、财经、文娱、旅游…等垂类信息是较好的来源。

在这里插入图片描述

我们可以通过爬虫,对新闻类、财经类、旅游类…等网站进行内容抓取,作为笔记数据源。

笔记抓取干预

有了稳定的数据源之后,需要对内容进行清洗、过滤,通过 “漏洞策略” ,提出契合 “地图特征“ 的笔记。

这里的策略可以是简单的黑白名单,主要是进行 ”粗筛“ ,精细化的清洗将会交给 LLM 处理。

笔记 AIGC 赋能

经过笔记抓取、粗略干预后的笔记,基本可以保证是覆盖 ”地图特征“ 的,但其中含有杂质,且缺少精细化的挂接。

  • 比如,错误的位置信息、文章和主题的匹配度、水文、软广 等杂质。
  • 再比如,相关位置信息没有对应的 loc 位置坐标,无法构建特征数据等。

在这里插入图片描述

这就需要通过 LLM 基于 位置信息进行训练,进而利用 模型组成系列模组,对内容重新进行赋能。

考虑到笔记文章的质量、后续的特征建库、及分发,这里主要进行下列模型处理:

  1. Extract-model:Extrac city\loc\desc by title and content
  2. Hitch-model:Hitch pois list info by extrac res and title\content
  3. Filter-model:Calculate the degree of match between the POI information and the extracted information, and mark those with a
    match degree lower than 0.7.
  4. Embedding-model:Embedding Extract the vector features of the image and title.

在这里插入图片描述

经过这些模型处理后,剩下的笔记基本上就符合后续的分发,且质量完全可以得到保证。

笔记 Rule 改写

AIGC 赋能后,在实际生产中发现,人工智能并不能解决全部问题。

像文本换行、特殊字符处理、文本提示/引导词/敏感词过滤,还是需要辅助以规则,进行外层兜底策略处理,对笔记进行改写。

笔记特征库构建

TODO

附录

Bash Cron 定时任务

* 具体脚本代码可私信。
* * * * * cd /home/map/work/cron && sh import.sh >/dev/null 2>&1
*/10 * * * * cd /home/map/work/cron && sh consumer.sh >/dev/null 2>&1

Golang 与 Pyhon AIGC 实践

    output, err := exec.Command("python3", rootDir+"/scripts/handler.py", url, fileName, env.RootDir()+"/imgfile/").CombinedOutput()
#!usr/bin/env python
# -*- coding:utf-8 _*-
import re
import sys
import json
# 检查文件是否存在,如果不存在则创建
if not os.path.exists(LOCKFILE):with open(LOCKFILE, 'w') as f:f.write('0')  # 写入初始并发计数
# 最大并发数
MAX_CONCURRENT = 4
......

小结

在实际生产中,已经证明 “ 通过 大模型 和 AIGC 加持, 与垂类业务相结合 ” 的道路是完全行的通的。并且生产力、产品质量 都有惊人的提升,具备很高的发展潜能及空间。

由于篇幅有限,具体特征库构建及内容分发在后续博文介绍。

相关文章:

AIGC、LLM 加持下的地图特征笔记内容生产系统架构设计

文章目录 背景构建自动化内容生产平台系统架构设计架构详细设计流程介绍笔记来源笔记抓取干预 笔记 AIGC 赋能笔记 Rule 改写笔记特征库构建 附录Bash Cron 定时任务Golang 与 Pyhon AIGC 实践 小结 背景 在大模型的浪潮下,ChatGPT、Sora、Gemini、文言一心 等新技…...

快速入门go语言学习笔记

文章目录 1、初识go1.1、go语言1.2 第一个Go程序 2、基础类型2.1、命名2.2、变量2.2.1 变量声明2.2.2 变量初始化2.2.3 变量赋值2.2.4 匿名变量 2.3、常量2.3.1 字面常量(常量值)2.3.2 常量定义2.3.3 iota枚举 2.4、基础数据类型2.4.1 分类2.4.2 布尔类型2.4.3 整型2.4.4 浮点型…...

MS41908M替代AN41908

产品简述 MS41908M 是一款用于网络摄像机和监控摄像机的镜头 驱动芯片他可完全替代AN41908。 芯片内置光圈控制功能;通过电压驱动方式以及扭矩纹 波修正技术,实现了噪声微步驱动。 主要特点 电压驱动方式,256 微步驱动电路(两通道…...

Lc33---- 414. 第三大的数(java版)---排序(去重/复制到新数组)

1.题目描述 给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 示例 1: 输入:[3, 2, 1] 输出:1 解释:第三大的数是 1 。 示例 2: 输入:[1, 2] 输出…...

OpenAI新模型GPT-4o“炸裂登场” 响应速度堪比真人 关键还免费!

GPT-4o模型基于来自互联网的大量数据进行训练,更擅长处理文本和音频,并且支持50种语言。更值得一提的是,GPT-4o最快可以在232毫秒的时间内响应音频输入,几乎达到了人类的响应水平。 GPT-4o有多“炸裂”?核心能力有三 G…...

C语言收尾 预处理相关知识

一. 预处理详解 1.1 预定义符号 FILE //进行编译的源文件LINE //文件当前的行号DATE //文件被编译的日期TIME //文件被编译的时间FUNCTION //文件当前所在的函数STDC //如果编译器遵循ANSI C标准,其值为1,否则未定义 这些预定义符号都是语言内置的 我们…...

Python代码:二、多行输出

1、题目 将字符串 Hello World! 存储到变量str1中,再将字符串 Hello Nowcoder! 存储到变量str2中,再使用print语句将其打印出来(一行一个变量)。 2、代码 import sys str1 Hello World! str2 Hello Nowcoder! print (str1,st…...

前端内嵌iframe网页单点登录的三种方式

背景:我们开发中会遇到让内嵌的iframe进行登录,但是有希望是单点登录,不想多次登录 目录 方法一:共享sessionStorage或localStorage 方法二:设置内嵌iframe的url参数 方法三:通过父子页面通信postMessage…...

Git篇——Git提交指定文件编码

背景:项目中有些老工程的代码编码格式不统一,可以通过以下方式强行指定提交时的文件编码,可以将所有上传到git的文件的编码格式统一。 在Git中,可以通过设置.gitattributes文件来指定文件编码。在项目根目录下创建一个名为.gitat…...

在云服务器上运行StyleGAN3生成伪样本

首先是传入数据,这里我们不做赘述。 对于数据格式的裁剪,可以通过以下代码进行: from glob import glob from PIL import Image import os from tqdm import tqdm from tqdm.std import trangeimg_path glob(r"C:\Users\Administrato…...

学习Nginx(三):命令与信号

命令及选项 1. 显示帮助信息: [rootRockyLinux9 ~]# nginx -h nginx version: nginx/1.26.0 Usage: nginx [-?hvVtTq] [-s signal] [-p prefix][-e filename] [-c filename] [-g directives]选项:-?,-h : 显示帮助信息-v : 显示版本信息-V …...

软信天成:业务流程管理驱动企业数字化转型

近日,在国家发展改革委办公厅、国家数据局综合司联合印发的《数字经济2024年工作要点》中,明确强调了本年度大力推进重点领域数字化转型,营造数字化转型生态的战略举措,标志着国家对于企业数字化转型的高度重视与积极倡导。 企业…...

「Python绘图」绘制同心圆

python 绘制同心圆 一、预期结果 二、核心代码 import turtle print("开始绘制同心圆") # 创建Turtle对象 pen turtle.Turtle() pen.shape("turtle") # 移动画笔到居中位置 pen.pensize(2) #设置外花边的大小 # 设置填充颜色 pen.fillcolor("green&…...

Unity基础

概述 基础知识 3D教学 数学计算公共类Mathf 练习: 三角函数 练习: Unity中的坐标系 Vector3向量 向量模长和单位向量 向量加减乘除 练习: 向量点乘 向量叉乘 向量插值运算 Quaternion四元数 为何要使用四元数 四元数是什么 四元数常用方法 四元数计算 练…...

OpenHarmony 实战开发——ArkUI canvas组件

canvas 是 ArkUI 开发框架里的画布组件,常用于自定义绘制图形。因为其轻量、灵活、高效等优点,被广泛应用于 UI 界面开发中。本期,我们将为大家介绍 ArkUI 开发框架中 canvas 组件的使用。 一、canvas 介绍 1.1 什么是 canvas? …...

js积累一(ipv4正则校验+弹窗方式)

1. ipv4地址,点分十进制的校验 var regexIP /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/; if(strRegex.test(ip)) //true: 通过 2. 三种弹窗方式: alert();confirm(); prompt() 1&a…...

【Android】重写onClick方法时,显示Method does not override method from its supperclass

问题 重写onClick方法时,显示Method does not override method from its supperclass 解决 在类上加implements View.OnClickListener...

LeetCode 第397场周赛个人题解

目录 100296. 两个字符串的排列差 原题链接 思路分析 AC代码 100274. 从魔法师身上吸取的最大能量 原题链接 思路分析 AC代码 100281. 矩阵中的最大得分 原题链接 思路分析 AC代码 100312. 找出分数最低的排列 原题链接 思路分析 AC代码 100296. 两个字符串的排…...

Mysql数据库二进制日志导致磁盘满了处理过程

数据库的二进制日志是数据库管理系统(DBMS)用来记录所有对数据库进行修改的操作的记录。这种日志对于数据库的备份、恢复、复制和审计等操作至关重要。 以MySQL数据库为例,二进制日志(Binary Log)记录了所有更改数据的…...

前端面试题日常练-day07 【面试题】

题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末。 1. 在 JavaScript 中,以下哪个方法可以用于从数组的末尾添加一个或多个元素? A) push() B) pop() C) shift() D) unshift()2. 下列哪个 HTML 标签用于定义表格的表头&#…...

Uniapp H5开发常见问题解析

引言 在移动应用开发领域,Uniapp已经成为一个备受瞩目的技术框架,其跨平台能力和高效开发特性使得开发者能够更加便捷地构建出功能丰富、性能优越的应用程序。特别是在H5开发中,Uniapp的应用场景日益广泛,然而,随之而…...

QT状态机4-使用并行状态来避免组合爆炸

#include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent):...

MemoryModule - 应用编程细节

文章目录 MemoryModule - 应用编程细节概述笔记实验环境升级MemoryModule,在上下文中加入DLL在内存载入前的信息MemoryModule.hMemoryModule.cpp实现接口MemoryGetPayload() 整理 - 在内存载入的DLL中,取得资源表中的信息,取得载入前的DLL内容…...

Java程序CPU持续高,如何排查?

首先找到进程ID jps然后找到该进程用占用cpu高的线程 top -Hp 进程ID将线程ID转化为十六进制 printf “0x%x” 线程ID使用jstack 工具跟踪堆栈定位问题 jstack 进程ID | grep 十六进制线程ID -A 5说明,最后-A 5是打印出来后5行。...

(Java)心得:LeetCode——15.三数之和

一、原题 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。…...

Rust中忽略JSON反序列化时的不必要字段

在Rust中处理JSON数据时,经常会遇到JSON数据中包含一些在目标数据结构中不存在的字段的情况。如果你使用的是serde和serde_json这两个流行的库来处理JSON,那么有一些简单的方法可以忽略这些不必要的字段。 默认行为:忽略未知字段 在Rust中&…...

UDP多对多组播通信

广播和多播仅应用于UDP。TCP是一个面向连接的协议,TCP一定是点对点的,一点是两个主机来建立连接的,TCP肯定是单播。只有UDP才会使用广播和组播。 如下示例实现一个UDP多对多的组播通信,进程中有收、发两个线程,分别表…...

Linux技术---部署PXE服务器实现批量安装操作系统

部署PXE服务器实现批量安装操作系统 部署PXE服务器实现批量安装操作系统 部署PXE服务器实现批量安装操作系统1.安装相关服务组件1.1 安装tftp和xinetd1.2 安装DHCP服务1.3 准备 Linux 内核、初始化镜像文件、 PXE 引导程序、安装FTP服务并准备安装源1.4 配置启动菜单文件1.5 验…...

日志:打印技巧

一、概览 Unity日志打印技巧 常规日志打印彩色日志日志存储与上传日志开关日志双击溯源 二、常规日志打印 1、打印Hello World 调用堆栈可以很好的帮助我们定位问题,特别是报错的Error日志 Debug.Log("Hello World");Debug.Log("This is a log m…...

二叉树的常见操作

建立树 复制二叉树 计算深度 计算总结点数 计算叶子结点数...