震惊!用ChatGPT+LangChain三步搞定SQL查询,再也不用背语法了!

Early Stopping实战指南:从验证集构建到多指标早停的生产级落地 Early Stopping(早停)是深度学习模型训练中的关键正则化技术,其本质并非简单防止过拟合,而是对验证集代表性的工程信任决策。理解其原理需穿透‘loss下降即收敛’的认知误区,关注验证集与线上分布的一致性、时间序列的漂移敏感性及多目标评估的业务对齐性。该技术的核心价值在于提升模型上线稳定性、缩短迭代周期并降低算力浪费,广泛应用于推荐系统、搜索排序、时序预测等生产场景。本文聚焦Early Stopping在真实AI工程中的落地难点——包括验证集时间泄露、单指标监控失真、梯度异常干扰及权重恢复失效等问题 阅读详情

数据对于现代商业决策是至关重要的。然而,许多职场的”牛马“大多都不熟悉 SQL,这就导致了“需求”和“解决方案”之间的脱钩了。Text-to-SQL 系统就可以解决了这个问题,它能将简单的自然语言问题转换成数据库查询。

接下来,我们将借鉴 Pinterest Text-to-SQL 工程团队的实现思路,来探讨如何构建一个自己的SQL生成器。

一、了解 Pinterest

Pinterest 希望公司内的每个人都能轻松的访问其内部的数据,并能够按需从海量的数据集中获取洞见,然而大多数人并非SQL方面的专家,因此,也就无法充分的数据的价值。这一问题间接的促成了 Pinterest Text-to-SQL 平台的诞生,他们的发展历程为我们构建类似工具提供了绝佳的蓝图。

第一版本

他们的第一个系统相当直观。用户提出一个问题,并手动列出他们认为相关的数据库表。然后,系统会生成一个 SQL 查询。

我们来看看它的架构:

  1. 用户提出分析性问题,并选择要使用的表。
  2. 系统从表元数据存储中检索相关表的 Schema(结构)。
  3. 将问题、选定的 SQL 方言和表 Schema 编译成一个 Text-to-SQL 提示词(Prompt)。
  4. 提示词被输入到 LLM(大型语言模型)中。
  5. 生成并向用户显示流式响应。

这种方法确实可行,但存在一个重大缺陷:用户往往不知道哪些表包含他们需要的答案。

第二版本

为了解决这个问题,他们的团队构建了一个更智能的系统,它采用了一种名为 检索增强生成(Retrieval-Augmented Generation, RAG) 的技术。系统不再要求用户提供表名,而是自动找到它们。它会搜索一个表格描述的集合,找出与用户问题最相关的描述。这种利用 RAG 进行表选择的方法,极大地提高了工具的用户友好性。

  1. 通过一个离线作业,生成一个包含表摘要和历史查询记录的向量索引。
  2. 如果用户未指定任何表,系统会将用户问题转换为 Embedding(嵌入向量),并对向量索引执行相似性搜索,以推断出最合适的 Top-N 个候选表。
  3. 将 Top-N 个表、表 Schema 和分析性问题编译成提示词,供 LLM 选择出最相关的 Top-K 个表。
  4. 将 Top-K 个表返回给用户进行验证或修改。
  5. 使用用户确认的表,继续标准的 Text-to-SQL 流程。

我们将复刻这个强大的两步方法。

二、我们的方案

我们将分两部分构建一个 SQL 生成器。首先,我们将创建核心引擎,负责将自然语言转换为 SQL。其次,我们将添加智能的表查找功能。

核心系统(Core System)

我们将构建一个基本链(chain),它接收一个问题和一张表名列表,并生成一个 SQL 查询。

  • 用户输入: 提供分析性问题、选定的表和 SQL 方言。
  • Schema 检索: 系统从元数据存储中获取相关的表 Schema。
  • 提示词组装: 将问题、Schema 和方言组合成一个提示词。
  • LLM 生成: 模型输出 SQL 查询。
  • 验证与执行: 检查查询的安全性,执行查询并返回结果。

RAG 增强系统(RAG-Enhanced System)

我们将添加一个检索器(Retriever)。该组件可以为任何问题自动推荐正确的表。

  • 离线索引: SQL 查询日志被 LLM 总结、嵌入,并与元数据一起存储在向量索引中。
  • 用户查询: 用户提供一个自然语言的分析性问题。
  • 检索: 问题被嵌入,与向量存储进行匹配,返回 Top-N 个候选表。
  • 表选择: LLM 对这些表进行排序和筛选,选出 Top-K 个最相关的表。
  • Schema 检索与提示词构建: 系统获取这些表的 Schema,并构建 Text-to-SQL 提示词。
  • SQL 生成: LLM 生成 SQL 查询。
  • 验证与执行: 检查、执行查询,并将结果和 SQL 返回给用户。

我们将使用 Python、LangChain 和 OpenAI 来搭建这个 Text-to-SQL 系统。一个内存中的 SQLite 数据库将作为我们的数据源。

构建自己的 SQL 生成器

我们开始构建系统。请按照以下步骤创建一个可工作的原型。

步骤 1: 设置您的环境

首先,我们安装必要的 Python 库。LangChain 帮助我们连接各个组件。Langchain-openai 提供与 LLM 的连接。FAISS 帮助我们创建检索器,而 Pandas 用于美观地显示数据。

!pip install -qU langchain langchain-openai faiss-cpu pandas langchain_community

接下来,您必须配置您的 OpenAI API 密钥。该密钥允许我们的应用程序使用 OpenAI 的模型。

import osfrom getpass import getpassOPENAI_API_KEY = getpass("Enter your OpenAI API key: ")os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY

步骤 2: 模拟数据库

Text-to-SQL 系统需要一个可供查询的数据库。在本演示中,我们创建一个简单的内存式 SQLite 数据库。它将包含三个表:users(用户)、pins(图钉)和 boards(画板)。这个设置模仿了 Pinterest 数据结构的一个基本版本。

import sqlite3import pandas as pd# 创建一个连接到内存式 SQLite 数据库conn = sqlite3.connect(':memory:')cursor = conn.cursor()# 创建表cursor.execute('''CREATE TABLE users (    user_id INTEGER PRIMARY KEY,    username TEXT NOT NULL,    join_date DATE NOT NULL,    country TEXT)''')cursor.execute('''CREATE TABLE pins (    pin_id INTEGER PRIMARY KEY,    user_id INTEGER,    board_id INTEGER,    image_url TEXT,    description TEXT,    created_at DATETIME,    FOREIGN KEY(user_id) REFERENCES users(user_id),    FOREIGN KEY(board_id) REFERENCES boards(board_id))''')cursor.execute('''CREATE TABLE boards (    board_id INTEGER PRIMARY KEY,    user_id INTEGER,    board_name TEXT NOT NULL,    category TEXT,    FOREIGN KEY(user_id) REFERENCES users(user_id))''')# 插入示例数据cursor.execute("INSERT INTO users (user_id, username, join_date, country) VALUES (1, 'alice', '2023-01-15', 'USA')")cursor.execute("INSERT INTO users (user_id, username, join_date, country) VALUES (2, 'bob', '2023-02-20', 'Canada')")cursor.execute("INSERT INTO boards (board_id, user_id, board_name, category) VALUES (101, 1, 'DIY Crafts', 'DIY')")cursor.execute("INSERT INTO boards (board_id, user_id, board_name, category) VALUES (102, 1, 'Travel Dreams', 'Travel')")cursor.execute("INSERT INTO pins (pin_id, user_id, board_id, description, created_at) VALUES (1001, 1, 101, 'Handmade birthday card', '2024-03-10 10:00:00')")cursor.execute("INSERT INTO pins (pin_id, user_id, board_id, description, created_at) VALUES (1002, 2, 102, 'Eiffel Tower at night', '2024-05-15 18:30:00')")cursor.execute("INSERT INTO pins (pin_id, user_id, board_id, description, created_at) VALUES (1003, 1, 101, 'Knitted scarf pattern', '2024-06-01 12:00:00')")conn.commit()print("Database created and populated successfully.")

输出:

步骤 3: 构建核心 Text-to-SQL 链

语言模型无法直接查看我们的数据库。它需要了解表的结构,即 Schema。我们创建一个函数来获取 CREATE TABLE 语句。这些信息将告知模型关于列、数据类型和键的信息。

def get_table_schemas(conn, table_names):    """Fetches the CREATE TABLE statement for a list of tables."""    schemas = []    cursor = conn.cursor() # Get cursor from the passed connection    for table_name in table_names:        query = f"SELECT sql FROM sqlite_master WHERE type='table' AND name='{table_name}';"        cursor.execute(query)        result = cursor.fetchone()        if result:            schemas.append(result[0])    return"\n\n".join(schemas)# 示例用法sample_schemas = get_table_schemas(conn, ['users', 'pins'])print(sample_schemas)

输出:

有了 Schema 函数,我们就可以构建我们的第一个链。一个提示词模板会指导模型完成任务。它将 Schema 和用户问题组合在一起。然后,我们将这个提示词连接到模型。

from langchain_core.prompts import ChatPromptTemplatefrom langchain_openai import ChatOpenAIfrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.runnables import RunnablePassthrough, RunnableLambdaimport sqlite3 # Import sqlite3template = """You are a master SQL expert. Based on the provided table schema and a user's question, write a syntactically correct SQLite SQL query.Only return the SQL query and nothing else.Here is the database schema:{schema}Here is the user's question:{question}"""prompt = ChatPromptTemplate.from_template(template)llm = ChatOpenAI(model="gpt-4.1-mini", temperature=0)sql_chain = prompt | llm | StrOutputParser()# 让我们用一个明确提供表名的问题来测试我们的链。user_question = "How many pins has alice created?"table_names_provided = ["users", "pins"]# 在调用链之前,在主线程中检索 Schemaschema = get_table_schemas(conn, table_names_provided)# 将 Schema 直接传递给链generated_sql = sql_chain.invoke({"schema": schema, "table_names": table_names_provided, "question": user_question})print("User Question:", user_question)print("Generated SQL:", generated_sql)# 清理生成的 SQL,去除 markdown 代码块语法cleaned_sql = generated_sql.strip()if cleaned_sql.startswith("```sql"):    cleaned_sql = cleaned_sql[len("```sql"):].strip()if cleaned_sql.endswith("```"):    cleaned_sql = cleaned_sql[:-len("```")].strip()print("Cleaned SQL:", cleaned_sql)# 运行生成的 SQL 以验证其是否有效try:    result_df = pd.read_sql_query(cleaned_sql, conn)    # display(result_df)  # Assuming a notebook environment    print("\nQuery Result:")    print(result_df)except Exception as e:    print(f"Error executing SQL query: {e}")

输出示例:

步骤 4: 用 RAG 增强表选择功能

我们的核心系统运行良好,但它要求用户知道表名。这正是 Pinterest Text-to-SQL 团队解决的问题。现在,我们将实现 RAG 来进行表选择。我们首先为每个表编写简单、自然语言的摘要。这些摘要抓住了每个表内容的含义。

table_summaries = {    "users": "Contains information about individual users, including their username, join date, and country of origin.",    "pins": "Contains data about individual pins, linking to the user who created them and the board they belong to. Includes descriptions and creation timestamps.",    "boards": "Stores information about user-created boards, including the board's name, category, and the user who owns it."}

接下来,我们创建一个向量存储。这个工具将我们的摘要转换为数字表示(Embedding)。通过相似性搜索,它允许我们为用户的提问找到最相关的表摘要。

from langchain_openai import OpenAIEmbeddingsfrom langchain_community.vectorstores import FAISSfrom langchain.schema import Document# 为每个摘要创建 LangChain Document 对象summary_docs = [    Document(page_content=summary, metadata={"table_name": table_name})    for table_name, summary in table_summaries.items()]embeddings = OpenAIEmbeddings()vector_store = FAISS.from_documents(summary_docs, embeddings)retriever = vector_store.as_retriever()print("Vector store created successfully.")

步骤 5: 将所有组件组合成 RAG 驱动的链

现在,我们构建最终的智能链。这个链将整个过程自动化。它接收一个问题,使用检索器找到相关表,获取它们的 Schema,然后将所有内容传递给我们的 sql_chain。

def get_table_names_from_docs(docs):    """Extracts table names from the metadata of retrieved documents."""    return [doc.metadata['table_name'] for doc in docs]# 我们需要一种方法,在链中利用表名和连接来获取 Schema# 使用函数来获取 Schemadef get_schema_for_rag(x):    table_names = get_table_names_from_docs(x['table_docs'])    # 调用函数获取 Schema    schema = get_table_schemas(conn, table_names)    return {"question": x['question'], "table_names": table_names, "schema": schema}full_rag_chain = (    RunnablePassthrough.assign(        table_docs=lambda x: retriever.invoke(x['question'])    )    | RunnableLambda(get_schema_for_rag) # 使用 RunnableLambda 调用 Schema 获取函数    | sql_chain # 将包含 question, table_names, 和 schema 的字典传递给 sql_chain)# 让我们测试完整的系统。我们提出一个问题,但没有提到任何表。系统应该处理一切。user_question_no_tables = "Show me all the boards created by users from the USA."# 在字典中传递用户问题final_sql = full_rag_chain.invoke({"question": user_question_no_tables})print("User Question:", user_question_no_tables)print("Generated SQL:", final_sql)# 清理生成的 SQL,去除 markdown 代码块语法,使其更具鲁棒性cleaned_sql = final_sql.strip()if cleaned_sql.startswith("```sql"):    cleaned_sql = cleaned_sql[len("```sql"):].strip()if cleaned_sql.endswith("```"):    cleaned_sql = cleaned_sql[:-len("```")].strip()# 还要处理清理后可能存在的行首/行尾的换行符cleaned_sql = cleaned_sql.strip()print("Cleaned SQL:", cleaned_sql)# 验证生成的 SQLtry:    result_df = pd.read_sql_query(cleaned_sql, conn)    # display(result_df) # Assuming a notebook environment    print("\nQuery Result:")    print(result_df)except Exception as e:    print(f"Error executing SQL query: {e}")

输出示例:

成功了! 系统自动识别了 users 和 boards 表。然后,它生成了正确的查询来回答问题。这展示了使用 RAG 进行表选择的强大能力。

总结

我们成功构建了一个原型,展示了如何搭建一个 SQL 生成器。要将其投入生产环境,还需要更多步骤,例如您可以自动化表摘要过程,也可以在向量存储中包含历史查询以提高准确性。这遵循了 Pinterest Text-to-SQL 团队所走的道路。这个基础为创建强大的数据工具提供了清晰的路径。

常见问题

1. Text-to-SQL 系统的工作原理是什么?

它通过大型语言模型(LLM)将自然语言问题(如“谁是我的顶级客户?”)作为输入,结合数据库 Schema(结构信息),生成一个可执行的 SQL 查询。

2. RAG 在 Text-to-SQL 中有什么作用?

检索增强生成(RAG)用于智能地选择最相关的数据库表。它不再要求用户手动指定表名,而是根据用户问题,在表的描述或历史查询记录中进行相似性搜索,从而自动推断出需要查询的表,极大地提高了易用性。

3. LangChain 在这个系统中扮演什么角色?

LangChain 是一个用于开发由语言模型驱动的应用程序的框架。在本指南中,它用于连接不同的组件(如提示词模板、LLM、向量存储和检索器),并将它们组织成一个可执行的链(chain),从而实现整个 Text-to-SQL 流程。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

如何解决 ChatGPT 在科研学术写作中“不说人话”? 短视频真正改变的,是知识抵达人的方式。真正该改的是信息顺序:先给结论,再讲原因和证据,最后补充必要的边界,边界在这里是护栏,不该挡在正文前面。读者还没质疑,例外和边界已经先摆好了,不敢把话说透,真正好的文章会先把核心判断稳稳立住,再补充复杂性,不会让读者猜半天你到底想说什么。观点还没展开,就先回应并不存在的反对意见,大量篇幅都在证明我没这么说,不过度防御的文章都是前者忙着管理风险,后者才是在推进认识。逐句查看文章中的转折、退让和补充说明,追问一句,如果拿掉这句话,事实是否仍然准确,推理是否依然成立。 阅读详情

相关推荐

Bright Data ChatGPT 搜索抓取器(Python)

使用 GitHub 登录,然后 fork 该仓库开始进行更改。本项目提供一个使用 Bright Data Web Scraper API 抓取结果的简易 Python 样板代码。

亮数据 Bright Data 的博客 326

01 - 从0到1搞懂AI Agent!一文看懂智能体的前世今生与核心架构

最近半年,AI Agent(智能体)这个词火得一塌糊涂。打开技术社区,铺天盖地都是Agent相关的文章;打开招聘网站,Agent开发工程师的薪资水涨船高。但说实话,很多同学对Agent的理解还停留在“ChatGPT套壳”的层面。作为一个从传统开发转型AI的过来人,我深知这种迷茫——明明有编程基础,却不知道Agent到底是什么、能做什么、怎么学。这篇文章,就是写给这样的你。我会用最通俗的语言、最清晰的逻辑,带你从零开始搞懂AI Agent。框架学习曲线灵活性适合场景LangChain中等。

H.J.J的博客 1107

Unity3d游戏开发工程师笔试题学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、学习背景二、错题记录2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 前言 提示:这里可以.

m0_54231818的博客 5464

ChatGPT标志着AI从‘操作说明书’到‘自然语言接口’的范式终结

大语言模型(LLM)正推动人机交互从结构化指令走向自然语言直译,其核心在于模型对用户意图的理解能力、上下文保持能力与响应一致性等工程指标突破。当端到端延迟低于2秒、多轮对话稳定维持12轮以上、响应逻辑自洽度超83%时,AI便不再需要用户学习‘怎么问’,而是直接响应‘想做什么’——这正是自然语言接口(NLI)取代传统NLU+规则引擎的关键拐点。该转变深刻影响智能客服、知识管理、Prompt工程与AI评测等典型应用场景,也倒逼工程师从模块开发转向意图流设计与认知对齐验证。

dichengyan0013的博客 483

基于STM32与CAN总线的多电机协同控制系统设计与实现

本文详细介绍了基于STM32与CAN总线的多电机协同控制系统设计与实现。该系统采用分布式架构,通过CAN总线实现多节点通信,结合梯形加减速算法和同步控制策略,有效解决了工业自动化中多电机同步性差的问题。文章涵盖硬件设计、通信协议、抗干扰措施及实战调试经验,为工业应用提供高可靠性解决方案。

tech5的博客 970

课设报告-超市收银系统 javaweb(附源代码)

超市收银系统由收银员输入顾客的会员卡卡号(若有卡),所购买的货号。从数据库中取出有关价格信息,在把这些信息返回给收银台,同时把收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。另外,对没有卡的消费不记录该顾客的消费情况扥个人信息,如果一个未持卡顾客一次购买满200元,可围棋发放一张会员卡,以后在该商场购物可享受9折优惠。

m0_71106830的博客 2975

元壤教育“AIGC大模型应用开发工程师”课纲,学习这套课程就够了

AIGC大模型时代是堪比移动互联网时代10倍体量的机会,所有企业都需要通过AIGC重塑一遍,对于IT人士来说,AIGC大模型应用开发更是大机会,大转折,开始拥抱AIGC吧

孔壹学院 2002

PLC控制气缸与电磁阀:从原理到实战编程详解

在工业自动化领域,很多工程师都能编写PLC程序控制电机启停,但当涉及到气缸和电磁阀的精确控制时,却常常遇到动作不协调、响应延迟甚至设备损坏的问题。这背后的关键不在于PLC编程本身,而在于对气动元件特性和控制逻辑的深入理解。 本文将从实际工程问题出发,深入解析气缸与电磁阀的工作原理、PLC控制逻辑设计、常见故障排查方法,并通过完整的梯形图实例,帮助读者掌握气动系统自动化编程的核心要点。无论你是刚接触PLC的初学者,还是希望提升气动控制技能的工程师,都能从中获得实用的技术指导。 1. 气缸与电磁阀在自动化控制中

weixin_42522374的博客 338

职场AI应用师:从工具使用者到价值创造者的核心能力与实战场景

在数字化转型浪潮中,自然语言处理和机器学习等人工智能技术正从实验室走向广泛的业务场景。其核心原理在于通过算法模型处理和分析海量数据,识别模式并做出预测或决策。这一技术价值在于将非结构化信息转化为可操作的洞察,从而突破传统业务流程的效率瓶颈和质量天花板。在工程实践中,这些技术被应用于数据分析与商业智能增强、流程自动化等具体场景,通过构建智能化的数据流水线和自动化工作流,解决数据清洗耗时、复杂分析门槛高以及非结构化文档处理等实际业务痛点。职场AI应用师正是这一趋势下的关键角色,他们作为业务与技术的翻译官,致力于

weixin_30703911的博客 411

深入IR2104数据手册:被忽略的SD引脚用法和死区时间调节实战

本文深入解析IR2104半桥驱动芯片的SD引脚用法和死区时间调节技巧,帮助硬件工程师优化电机控制和电源转换系统。通过详细的电路设计、实测数据和调试方法,揭示SD引脚的多重保护机制和死区时间的精密调节策略,提升系统安全性和效率。

weixin_30342363的博客 391

PCL 计算点云直线拟合的精度评价标准——直线度

计算点云直线拟合的精度评价标准——直线度

点云侠的博客 1042

AI编程革命:从传统开发到对话式编程的转型

随着AI技术的快速发展,编程范式正在经历一场深刻的变革。传统的手写代码模式逐渐被AI辅助编程所取代,GitHub Copilot等工具的出现标志着对话式编程(Conversation-Driven Development)的兴起。这种新模式通过自然语言交互生成代码,大幅提升了开发效率。AI编程的核心在于精准的提示词设计和代码验证,开发者需要掌握结构化提示、边界测试等技能。在实际应用中,AI编程特别适合快速原型开发、代码重构和复杂逻辑实现,但也需警惕代码幻觉和安全风险。对于传统程序员而言,转型为AI解决方案设

weixin_30420305的博客 421

Mysql授权允许远程访问

前言 Mysql授权允许远程登录后,linux中安装的mysql可以与Navicat for Mysql(可视化)等连接,在可视化软件下管理数据库。 注意:不能使用临时密码 设置密码命令: alter user 'root'@'localhost' identified by '这里是你的密码'; 授权允许远程访问 一、授权命令: grant all privileges on *.* to '...

🏆 前端领域优质创作者 3万+

AI Agent企业级落地实战:从全员推广到价值闭环的避坑指南

AI Agent作为智能体技术,其核心原理是通过大语言模型理解用户意图,并结合知识库与工具调用,完成特定任务。这项技术的价值在于将通用AI能力转化为解决具体业务问题的生产力,尤其在提升企业运营效率、降低重复劳动成本方面潜力巨大。其典型应用场景包括智能客服、自动化办公、数据查询分析与代码辅助生成等。本文以美团CatPaw平台覆盖9万员工的实战为例,深入剖析了企业推动AI Agent大规模落地时,在可用性、易用性、有用性及可持续性四个维度的关键挑战与解决方案,为技术管理者提供了从场景选择、MVP构建到规模化推广

weixin_34049948的博客 339

Unity 热更 之 【YooAsset 热更】几分钟快速了解 YooAsset [功能面板]、以及 [基础代码] 说明

Unity 的资源管理系统不断发展,以适应不同项目的需求和解决特定的问题。AssetBundle 和 Addressable Asset System 是 Unity 官方提供的资源管理解决方案,而 YooAsset 是第三方提供的资源管理系统。简化的API和易用性YooAsset 可能提供了更简单直观的 API,使得资源加载和管理更加容易。对于不熟悉 Addressable 或 AssetBundle 复杂配置的开发者来说,YooAsset 可能是一个更易于上手的选择。性能优化。

仙魁XAN 2956

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

AI内容流水线:从信号工程到工业级批量生产

在AI内容泛滥的今天,‘爆款’已不再是文本质量的产物,而是用户意图、平台分发与业务转化三重信号精准耦合的结果。真正的技术价值在于将内容生产重构为可测量、可校准、可迭代的信号工程系统——通过数据层沉淀原始行为、信号层建模可计算参数(如cognitive_load_score)、执行层调用专用AI模块,实现从需求输入到效果反馈的闭环。这种范式跳出了‘AI写作’误区,直击中小品牌、独立创作者与内容服务商的核心痛点:如何在预算有限、人力紧张的前提下,稳定批量交付高打开率、高转化率的内容。本文详解信号校验、人工干预锚

weixin_33708432的博客 419

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

GPT-4.1不存在?工程师如何构建真实大模型评估体系

大语言模型(LLM)评估是AI工程落地的核心环节,其本质并非比拼版本号,而是围绕响应稳定性、长程推理一致性与指令遵循鲁棒性三大硬指标展开的系统性验证。在GPT-4 Turbo持续迭代但官方从未发布‘GPT-4.1’的现实下,行业普遍存在命名幻觉、营销包装与API贴牌等误导现象,导致技术决策偏离真实能力边界。有效的评估必须扎根业务黄金标准——如金融合规中的法条引用准确率、医疗诊断中的多维度完全匹配、工业故障中的语义衰减抗性——并融合压力测试矩阵、三层归因分析与动态基线看板,实现从‘感觉变慢’到‘定位p95延迟

weixin_30457465的博客 411

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ChatGPT 广告技术栈架构拆解:多轮意图、LLM 工具编排、ANN 召回与拍卖闭环

基于 OpenAI 官方工程文章,拆解 ChatGPT 广告系统如何用有状态会话理解多轮意图,以独立链路隔离自然回答,再由 LLM 编排召回、过滤、相关性评分、拍卖和最终交付,并给出可复用的超时、观测、安全与反馈闭环设计。

jerry764的博客 375

ChatGPT Projects 使用教程:项目指令、文件管理与上下文复用

使用ChatGPT的Projects功能可高效处理长期任务,避免重复说明背景与要求。通过设置项目指令、上传参考文件、复用上下文,实现代码分析、文档维护等任务的持续优化。建议按任务类型建项目,配置简洁规则,重要结论存为独立文档,避免依赖记忆遗漏。适用于有固定流程、需多资料协作的场景,但不可替代Git版本管理。

carriedream的博客 289

《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(下):流式响应实现和测试

本文详细实现了ChatGPT ResponsesAPI的流式响应接口,重点解析了SSE半包缓冲处理的必要性及多事件类型(如response.output_text.delta、error等)的差异化处理逻辑。针对200状态码不等于调用成功的坑点,通过content_receiver回调捕获业务异常。基于抽象基类LLMProvider,仅需修改20%适配代码,即可完成新模型接入,验证了SDK架构的高扩展性与可维护性。

2501_91275995的博客 659

ChatGPT、Codex工程实战:数据库迁移脚本开发环境测试通过,为什么生产上线仍可能锁表甚至丢数据?

ChatGPT、Codex生成的数据库迁移脚本开发环境测试通过,为什么生产上线仍可能锁表甚至造成数据不一致?本文从Java订单系统生产变更切入,分析MySQL DDL、元数据锁、大批量数据回填、新旧版本兼容和数据迁移风险,并介绍Expand-Contract分阶段迁移方案。

lb654509656的博客 314

姿势库 / 服装库 / 人像库一键填充到 ChatGPT、Gemini、豆包(无需 API Key,附安装教程)

一个用户脚本,在 ChatGPT、Gemini、Grok、豆包、通义千问、腾讯元宝、Kimi、即梦等页面里嵌入「参考库」面板,把姿势、服装、人像参考图和规范化提示词一键填入对话框。版权说明:脸库 CC0;姿势库、服装库禁止二次分发。脚本不含本地图片,只在运行时读取公开地址。

yjc_1111的专栏 226

ChatGPT Images 2.6 实测解读:一句话直出 GIF,Flare 提速 46%,API 支持 2~64 帧动图

过去两年,AI 生图解决了"画得像不像""字写得对不对"的问题,但交付物始终是一张静态图。想让它动起来,通常要另外找视频模型,或者自己拆帧、用 PS、ffmpeg 合成 GIF——对运营、设计、做表情包的人来说,这一步既麻烦又容易翻车:帧之间画风跳变、角色走样、文件体积失控。这次 OpenAI 发布的,把这一步直接收进了生图本身:在对话里说一句"能做成 GIF 吗",返回的就是一张可循环播放的动图,而且生成后还能接着改。按 OpenAI 的说法,这是第一个原生直出 GIF 的主流生图产品。

JEECG官方博客 227

ChatGPT Images 2.6 入门:保存角色参考图并生成循环 GIF

按官方 Images in ChatGPT 说明,介绍在 ChatGPT 中把照片存成角色参考并用 @名字复用,再用提示词或静图生成循环 GIF、打开后调速并保存分享的完整步骤。

死磕音视频 203

ChatGPT Images 2.6 商业落地与场景应用指南

本文聚焦电商与设计团队的视觉生产痛点,提出“人机协同”的AI高效工作流。通过十大实战场景,系统拆解商品图生成、海报自动化、风格一致性控制、提示词工程等关键环节,构建可复制、可量化的视觉生产管线。强调以标准化模板、模块化提示词与人机协作闭环,实现从构思到成图的极速落地,显著提升效率与质量,助力各行业实现视觉内容的智能化升级。

frt的博客 274

QVeris MCP 连接到 ChatGPT:让 AI 调用专业数据

一个远程地址,完成 OAuth 授权,把 QVeris 接进 ChatGPT。本文整理网页版、桌面端配置,并用 AAPL 报价查询验证连接。

QVeris_Friends的博客 205
上一篇: 90% 的人都搞混的 RAG 与 CAG,一篇讲透怎么选!
下一篇: 破防了!传统RAG开发太痛苦?这个工具让部署时间从数周缩至几分钟!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值