从无代码到完全控制:我如何使用 LangGraph 和 Whisper 重建 ElevenLabs 的人工智能

「文智助手」全场景办公AI助理AI+OPC全流程实践方案(大赛作品) 阅读详情

在探索 ElevenLabs 的 AI 代理功能并亲身体验了我可以多快构建一个功能齐全的语音机器人而无需编写大量代码后,我不禁想——如果我从头开始构建它会怎样?在 我之前的文章 中,我分享了如何使用 ElevenLabs 和 Make.com 创建一个能够轻松安排会议和处理客户互动的语音机器人。无代码的方法取得了令人印象深刻的结果,但作为一个代码爱好者,我想要更多的控制和自定义。

这次,我决定走一条不同的道路——使用 LangGraph、ElevenLabs 的 API 和 Whisper 从头重建 AI 语音机器人。我的目标是更好地理解其内部工作原理,微调其性能,并探索现成解决方案无法提供的新可能性。在这篇文章中,我不仅会带你深入了解构建我自己版本的 ElevenLabs AI 代理的幕后,还会为你提供一个清晰的框架,以便你自己重建一个语音机器人。在这个过程中,我会分享我面临的挑战、我做出的决策,以及自定义编码解决方案的灵活性如何解锁无尽的可能性。

AI语音机器人构建模块

为了使这个项目成为现实,我依赖于三个构成AI语音机器人基础的关键组件:

null

语音转文本:Whisper

Whisper,由OpenAI开发,是一种先进的语音转文本模型,以其准确性和多语言能力而闻名。它高效地将口语转换为文本,使其成为处理高精度语音输入的理想解决方案。其深度学习能力使其能够理解各种口音和方言,确保在不同人群中提供流畅的用户体验。在这个项目中,我利用了OpenAI的Python SDK来处理音频输入:

openai_client.audio.transcriptions.create(
   model="whisper-1", 
   file=audio_bytes,
)
对话式人工智能代理:LangGraph

LangGraph,由LangChain开发,是AI语音机器人的核心,能够创建具有工具调用和记忆功能的结构化互动对话。它允许管理复杂的对话流程和决策过程,确保机器人能够智能地响应广泛的用户输入。通过LangGraph,我能够设计出高度动态和适应性的对话体验,能够记住之前的互动并有效利用各种工具来增强功能。

文本转语音:ElevenLabs API

ElevenLabs API 驱动文本转语音组件,提供自然且逼真的语音响应。该组件通过提供类人语音输出来增强用户互动,使对话更加引人入胜和直观。在这个项目中,我利用了 ElevenLabs 的 Python SDK,使用 eleven_turbo_v2_5 模型将文本生成语音:

elevenlabs_client.text_to_speech.convert(
    voice_id="YUdpWWny7k5yb4QCeweX",
    output_format="mp3_22050_32",
    text=cleaned_text,
    model_id="eleven_turbo_v2_5", 
    voice_settings=VoiceSettings(
        stability=0.0,
        similarity_boost=1.0,
        style=0.0,
        use_speaker_boost=True,
    ),
)

通过这些组件,我能够从零开始创建一个高度响应和智能的语音机器人。

分步构建 AI 语音机器人

现在我们已经涵盖了基本构建模块,让我们深入实施。我们将首先创建一个 使用 LangGraph 的基本对话聊天机器人,具备记忆功能和获取当前日期和时间的工具。聊天机器人功能正常后,我们将通过添加两个额外的节点来增强它——一个用于 使用 Whisper 处理传入音频到文本,另一个用于 使用 ElevenLabs API 将聊天机器人的响应转换为音频。这种分步方法将提供坚实的基础,同时逐步增强语音机器人的功能。

第一步:构建基本对话聊天机器人

首先,我们将创建一个简单的聊天机器人,能够记住之前的消息并获取当前的日期和时间。这将涉及定义状态管理系统,集成一个从 API 获取日期和时间的工具,以及使用 LangGraph 构建对话流程。

null

定义状态管理系统

我们首先定义聊天机器人的状态,以跟踪对话消息。

from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph.message import add_messages

class State(TypedDict):
    messages: Annotated[list, add_messages]

State 类使用注释列表来存储消息,并在新消息到达时附加它们。

实现记忆功能

接下来,我们引入记忆功能,以存储和检索之前的消息,确保对话的连续性。

from langgraph.checkpoint.memory import MemorySaver

memory = MemorySaver()

MemorySaver 组件帮助在交互过程中持久化聊天机器人的状态。

定义工具

接下来,我们定义一个工具,从 API 获取当前的日期和时间。

from langchain_core.tools import tool
import requests

@tool
def get_date_and_time() -> dict:
    """
    Call tool to fetch the current date and time from an API.
    """
    try:
        response = requests.get("https://timeapi.io/api/Time/current/zone?timeZone=Europe/Brussels")
        response.raise_for_status()
        data = response.json()
        return {"date_time": data["dateTime"], "timezone": data["timeZone"]}
    except requests.RequestException as e:
        return {"error": str(e)}

这个函数获取当前的日期和时间,并以 JSON 格式返回。

设置语言模型

我们现在设置语言模型,并将其与定义的工具集成,使聊天机器人能够在其响应中调用外部工具。

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini")
llm_with_tools = llm.bind_tools([get_date_and_time])

构建对话流程

使用 LangGraph,我们现在构建一个简单的对话流程,仅依赖一个“聊天机器人”节点,该节点可以访问 get_date_and_time 工具。

from langgraph.graph import StateGraph
from langchain_core.runnables import RunnableConfig

def chatbot(state: State, config: RunnableConfig):
    return {"messages": [llm_with_tools.invoke(state["messages"])]}

### initiate the graph
graph_builder = StateGraph(State)
graph_builder.add_node("chatbot", chatbot)
graph_builder.add_edge("chatbot", "chatbot")
graph = graph_builder.compile(checkpointer=memory)

这个设置允许聊天机器人处理消息,将其存储在记忆中,并做出相应的响应。

第2步:增强聊天机器人语音功能

接下来,我们将向聊天机器人工作流程中添加两个额外的节点——一个用于使用Whisper将输入音频处理为文本,另一个用于使用ElevenLabs API将文本响应转换为音频。这一增强将使聊天机器人转变为一个功能完善的语音助手。

null

输入:捕获音频

为了提供无缝且互动的体验,聊天机器人必须能够准确地倾听和理解用户。这就是OpenAI的Whisper模型发挥作用的地方,使聊天机器人能够有效地捕获和转录口语。

语音转文本过程包括几个关键步骤:

音频捕获: 使用sounddevice库,聊天机器人监听用户麦克风的语音输入。当检测到声音时,录音过程自动开始,并在一段时间的静默后停止。

处理音频输入: 配置多个参数以优化语音检测:

  • • SAMPLE_RATE:定义采样率以确保足够的语音捕获。
  • • THRESHOLD:设置检测语音活动的最低音频水平。
  • • SILENCE_DURATION:确定在停止录音之前应保持多长时间的静默。
  • • CHUNK_SIZE:指定处理的音频块大小。

语音识别: 一旦录音完成,使用OpenAI的Whisper API对音频进行处理并转录为文本,该API支持高精度的多语言语音识别。

import io
import threading
import numpy as np
import sounddevice as sd
from scipy.io.wavfile import write

from openai import OpenAI

from langgraph.graph import  MessagesState, HumanMessage

### Initialize OpenAI client
openai_client = OpenAI()


### Audio settings
SAMPLE_RATE = 16000# Adequate for human voice frequency
THRESHOLD = 500# Silence detection threshold (adjust if needed)
SILENCE_DURATION = 1.5# Duration (seconds) of silence before stopping
CHUNK_SIZE = 1024# Number of frames per audio chunk

defrecord_audio_until_silence(state: MessagesState):
    """Waits for the user to start speaking, records the audio, and stops after detecting silence."""

    audio_data = []  # List to store audio chunks
    silent_chunks = 0# Counter for silent chunks
    started_recording = False# Flag to track if recording has started

    defrecord_audio():
        """Continuously records audio, waiting for the user to start speaking."""
        nonlocal silent_chunks, audio_data, started_recording

        with sd.InputStream(samplerate=SAMPLE_RATE, channels=1, dtype='int16') as stream:
            print("Waiting for you to start speaking...")

            # Keep waiting indefinitely for the user to start talking
            whilenot started_recording:
                audio_chunk, _ = stream.read(CHUNK_SIZE)
                audio_array = np.frombuffer(audio_chunk, dtype=np.int16)

                # Check if there is voice input
                if np.abs(audio_array).max() > THRESHOLD:
                    started_recording = True
                    print("Voice detected. Recording started.")
                    audio_data.append(audio_chunk)
                    break

            # Start recording once voice is detected
            whileTrue:
                audio_chunk, _ = stream.read(CHUNK_SIZE)
                audio_data.append(audio_chunk)
                audio_array = np.frombuffer(audio_chunk, dtype=np.int16)

                # Detect silence after user has finished speaking
                if np.abs(audio_array).max() < THRESHOLD:
                    silent_chunks += 1
                else:
                    silent_chunks = 0# Reset if sound is detected

                # Stop if silence is detected for the specified duration
                if silent_chunks > (SILENCE_DURATION * SAMPLE_RATE / CHUNK_SIZE):
                    print("Silence detected. Stopping recording.")
                    break

    # Start recording in a separate thread
    recording_thread = threading.Thread(target=record_audio)
    recording_thread.start()
    recording_thread.join()

    # Stack all audio chunks into a single NumPy array and write to file
    audio_data = np.concatenate(audio_data, axis=0)

    # Convert to WAV format in-memory
    audio_bytes = io.BytesIO()
    write(audio_bytes, SAMPLE_RATE, audio_data)  # Use scipy's write function to save to BytesIO
    audio_bytes.seek(0)  # Go to the start of the BytesIO buffer
    audio_bytes.name = "audio.wav"# Set a filename for the in-memory file

    # Transcribe via Whisper
    transcription = openai_client.audio.transcriptions.create(
       model="whisper-1", 
       file=audio_bytes,
       language='nl'
    )

    # Print the transcription
    print("Here is the transcription:", transcription.text)

    # Write to messages
    return {"messages": [HumanMessage(content=transcription.text)]}

输出:让聊天机器人拥有语音功能

为了提供真正引人入胜的用户体验,聊天机器人需要以自然和类人化的方式进行交流。这就是ElevenLabs强大的文本转语音(TTS)功能发挥作用的地方,使我们能够无缝地将聊天机器人的响应转换为生动的音频。

该过程涉及几个关键步骤:

  • • 初始化ElevenLabs客户端: 设置ElevenLabs API客户端并配置API密钥,以便与文本转语音服务进行通信。
  • • 处理聊天机器人响应: 在将文本转换为语音之前,清理聊天机器人的响应,以去除可能干扰音频输出的任何格式化伪影。
  • • 将文本转换为语音: 将清理后的文本发送到ElevenLabs API,利用高级语音设置控制稳定性、相似性增强和发音风格等方面。
  • • 播放生成的音频: 一旦TTS转换完成,音频响应将回放给用户,确保流畅自然的对话流程。

以下是文本转语音转换的实现方式:

import osfrom elevenlabs import play, VoiceSettingsfrom elevenlabs.client import ElevenLabsfrom langgraph.graph import  MessagesState### Initialize ElevenLabs clientelevenlabs_client = ElevenLabs(api_key=os.getenv("ELEVEN_API_KEY"))defplay_audio(state: MessagesState):    """Plays the audio response from the remote graph with ElevenLabs."""    # Response from the agent    response = state['messages'][-1]    # Prepare text by replacing ** with empty strings    cleaned_text = response.content.replace("**", "")    # Call text_to_speech API with turbo model for low latency    response = elevenlabs_client.text_to_speech.convert(        voice_id="YUdpWWny7k5yb4QCeweX",  # Adam pre-made voice        output_format="mp3_22050_32",        text=cleaned_text,        model_id="eleven_turbo_v2_5",         language_code="nl",        voice_settings=VoiceSettings(            stability=0.0,            similarity_boost=1.0,            style=0.0,            use_speaker_boost=True,        ),    )    # Play the audio back    play(response)

图形构建:集成音频处理

通过定义处理文本和语音交互的功能,下一步是将这些能力无缝集成到统一的工作流程中。通过构建智能对话图,我们可以确保语音识别、基于文本的对话和语音响应之间的顺畅流动。

在这一阶段,我们将定义一个新的基于LangGraph的工作流程,将音频输入和输出功能与我们的聊天机器人连接,从而实现以下操作顺序:

  1. \1. 捕获音频输入:
  • • 聊天机器人监听用户输入并将其从语音转换为文本。
  • • 一旦检测到语音并进行处理,生成的文本将传递给聊天机器人进行分析。

2. 处理基于文本的对话:

  • • 聊天机器人根据转录的输入和其内部逻辑生成响应。
  • • 它可以利用诸如日期和时间检索功能等工具来丰富交互。

3. 生成和播放音频输出:

  • • 聊天机器人的文本响应通过使用ElevenLabs API转换为语音。
  • • 响应被播放给用户,完成交互循环,并允许用户再次响应,从而无缝继续对话。

通过以这种方式构建对话工作流程,我们创建了一个能够高效处理语音和文本交互的动态语音助手。

以下是我们如何构建完整图形以集成所有组件:

import os
from elevenlabs import play, VoiceSettings
from elevenlabs.client import ElevenLabs
from langgraph.graph import  MessagesState


### Initialize ElevenLabs client
elevenlabs_client = ElevenLabs(api_key=os.getenv("ELEVEN_API_KEY"))

defplay_audio(state: MessagesState):
    """Plays the audio response from the remote graph with ElevenLabs."""

    # Response from the agent
    response = state['messages'][-1]

    # Prepare text by replacing ** with empty strings
    cleaned_text = response.content.replace("**", "")

    # Call text_to_speech API with turbo model for low latency
    response = elevenlabs_client.text_to_speech.convert(
        voice_id="YUdpWWny7k5yb4QCeweX",  # Adam pre-made voice
        output_format="mp3_22050_32",
        text=cleaned_text,
        model_id="eleven_turbo_v2_5", 
        language_code="nl",
        voice_settings=VoiceSettings(
            stability=0.0,
            similarity_boost=1.0,
            style=0.0,
            use_speaker_boost=True,
        ),
    )

    # Play the audio back
    play(response)
第3步:测试语音助手

一旦聊天机器人和音频功能完全集成,就必须测试系统以确保其顺畅运行。我们将通过流式传输输入命令并观察聊天机器人的响应来启动测试对话。

from langgraph.graph import StateGraph, MessagesState, END, START

### Define parent graph
builder = StateGraph(MessagesState)

### Add remote graph directly as a node
builder.add_node("audio_input", record_audio_until_silence)
builder.add_node("agent", graph)
builder.add_node("audio_output", play_audio)
builder.add_edge(START, "audio_input")
builder.add_edge("audio_input", "agent")
builder.add_edge("agent", "audio_output")
builder.add_edge("audio_output", "audio_input")
audio_graph = builder.compile(checkpointer=memory)

结论

从零开始构建这个 AI 语音助手是一次激动人心且有益的经历。使用预构建工具是一回事,但从头开发解决方案则提供了更深入的理解,了解一切是如何结合在一起的。从将语音转文本与 Whisper 集成到使用 ElevenLabs 生成逼真的响应,每一步都带来了宝贵的见解和进一步自定义的可能性。

如果你是一个喜欢折腾 AI 的人,或者想将你的项目超越无代码平台的限制,深入代码将为你打开一个机会的世界。确实,这需要更多的努力,但能够将你的解决方案精确调整到你的需求,使这一切都值得。不论你是为了乐趣而构建,还是在解决现实世界的挑战,创造 AI 驱动的语音助手的旅程才刚刚开始。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

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

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

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

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

船载 OpenHarmony AIS 航海工作台:告警与防碰撞预警系统 船载OpenHarmony AIS航海工作台的告警与防碰撞系统,集成十余类告警(超速、偏航、会遇、SOS等),通过网格空间索引实现高效邻近判定,保障实时性。告警管理器统一调度规则、去重、通知与日志,支持悬浮球、语音、跑马灯、弹窗多渠道触达,确保航行安全。SOS紧急通道独立运行,避免干扰。系统设计强调性能优化与多场景适配,为航海安全提供核心支撑。 阅读详情

相关推荐

HighScore3.0实战指南:XRD物相分析从入门到精通(持续更新版)

本文提供HighScore3.0软件进行XRD物相分析的完整实战指南。从软件设置、数据导入、背景扣除、寻峰等预处理步骤,到核心的Search & Match物相搜索匹配、Rietveld精修定量,以及结果输出与常见问题排查,系统讲解了从入门到精通的全流程操作与核心技巧,帮助用户高效完成材料物相鉴定与分析工作。

weixin_29310605的博客 1047

使用 LangGraph 构建工作流, 实现与虚拟女友对话

介绍了如何使用 LangGraph 搭建一个基于聊天机器人的工作流,具体实现了一个虚拟女友的角色扮演游戏。 通过流程图展示了构建完成的状态图,并介绍了各个节点的功能,如接收用户输入、生成对话等。 博主还提供了是否使用历史聊天记录的方法,使虚拟女友记住用户之前的对话,还是忘记。 通过此项目,读者可以学习如何使用 langgraph 中实现类似的工作流搭建。

jieshenai的博客 1584

TI理想二极管在冗余电源中应用实例

深入探讨理想二极管如何提升冗余电源系统的效率与可靠性,通过实际应用案例展示其在电流隔离和自动切换中的优势,帮助工程师优化电源架构设计。

weixin_30653091的博客 993

手把手教你用 LangGraph 构建支持对话记忆的 LLM 聊天机器人

指定了图中传递的数据格式,要求必须包含messages字段来存储对话历史通过定义执行起点,让流程从名为 "model" 的节点开始创建具体执行节点,绑定实际处理函数就像工厂的流水线,StateGraph 规划了数据流动的路径,每个节点就是流水线上的一个工序,确保消息按预定逻辑处理。声明式图结构:用节点和边定义处理流程,比传统线性代码更易理解和维护自动状态管理:无需手动拼接对话历史,MemorySaver 自动处理状态的保存和加载天然多会话支持。

佑瞻的博客 2582

Cadence IC618/Spectre231安装避坑指南:详解环境变量配置与License管理那些事儿

本文深入解析Cadence IC618/Spectre231安装过程中的环境变量配置与License管理难题,提供从变量冲突解决到高效License管理的实用方案。针对常见的64位标识冲突、路径污染及License服务器连接问题,给出具体诊断步骤和优化建议,帮助用户构建稳定可靠的EDA环境。

weixin_33737134的博客 619

头歌操作系统 课堂练习4.2:页式内存管理 答案 无解析

头歌操作系统 课堂练习4.2:页式内存管理 答案 无解析

kercii的博客 1万+

【第四章:大模型(LLM)】08.Agent 教程-(10)使用 LangGraph 和 通义千问 构建智能文本转语音代理

本文介绍了基于LangGraph和通义千问构建智能文本转语音代理(TTS Agent)的方法。系统通过LangGraph将流程模块化为输入解析、文本预处理、语音生成和输出四个节点,实现自动化处理。文章详细阐述了系统设计思路、LangGraph架构设计、核心代码示例,并提出了多语种支持、音色选择等优化建议。该方法利用通义千问TTS接口生成高质量语音,模块化设计便于功能扩展,可应用于客服、新闻播报、助残工具等场景,实现从文本到语音的端到端转换。

IT古董 1111

Three.js 完整实战项目:构建一个 3D 商品展示空间

Three.js 作为强大的 WebGL 框架,广泛应用于交互式 3D 场景开发,尤其适合创建沉浸式商品展示空间。本文将通过一个完整的实战项目,展示如何构建一个 3D 商品展示空间,涵盖项目架构、资源组织、多模型切换、交互热点绑定、移动端适配和帧率优化。项目以展示虚拟商品(如家具或电子产品)为核心,结合用户交互,基于 Vite、TypeScript 和 Tailwind CSS,支持 ES Modules,确保响应式布局,遵循 WCAG 2.1 可访问性标准。本文适合希望通过综合项目掌握 Three.js

zimin的专栏 1465

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 395

uniapp [全端兼容] - 实现全景图Vr 720°全景效果查看预览功能,3D全景图流畅不卡顿渲染+手势拖拽+悬浮工具按钮,uniAPP实现vr看720度全景效果示例代码(H5小程序APP全兼容)

uniapp显示720度全景图,720°全景图显示,在h5中展示720°全景图,浏览全景图,基于uniApp实现vr全景预览,加载全景图,uni-app全景预览插件,UNI-APP实现3D全景图,实现720°全景图展示,uniapp全景视频播放,uniapp项目实现vr720度全景图片预览,在网页上展示760全景图片和视频,全景图场景切换,UNIAPP全景VR图,uniapp加载720全景图_uniapp怎么加载vr图片,uniapp实现vr全景看房,uni-app实现全景效果,加载很慢卡怎么办,实现全景预

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

基于MATLAB的特征模式分解(FMD)算法详解

本文详细介绍了基于MATLAB的特征模式分解(FMD)算法实现。FMD是一种新型自适应信号分解方法,通过自适应FIR滤波器组和相关峭度优化目标,有效解决传统方法(如EMD、VMD)的模态混叠问题。文章系统阐述了FMD的算法原理、数学模型和实现步骤,包括自适应FIR滤波器设计、相关峭度优化和模态选择机制。与现有方法相比,FMD在旋转机械故障诊断中展现出更强的特征提取能力和噪声鲁棒性。MATLAB实现部分包含核心函数、参数优化和可视化工具,并通过轴承故障等案例验证了算法的有效性。

qq_42212808的博客 193

AI 问数真的能替代 BI 报表吗?

AI问数赋能自然语言查询,提升临时分析效率,但无法替代传统报表。报表适用于稳定输出与持续监控,AI则擅长探索性提问。企业用好AI问数,关键在于夯实数据模型、统一指标口径、健全权限体系与结果校验机制。合理组合报表、仪表板与AI,才能实现高效、准确的业务洞察。

葡萄城技术团队博客 310

ABAP CDS View 从入门到精通教程第一篇:ABAP CDS View 在 SAP 技术体系中的重要地位

摘要:本文介绍了SAP开发技术专家提供的多套SAP开发教程,涵盖ABAP、UI5、Fiori、OData、BTP等技术领域。重点阐述了ABAP CDS View在SAP S/4HANA中的核心地位,作为虚拟数据模型(VDM)的关键技术,它实现了OLTP和OLAP的统一处理。文章还说明了学习CDS View的前置条件,包括需要SAP NetWeaver 7.50 SP01或更高版本系统,以及使用SAP ABAP Development Tool进行开发实践。作者具有16年SAP开发经验,这些教程形成了完整的S

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 900

ChatGPT、Perplexity、Gemini 与 AI Overviews 引用对比:谁的引用更可信

AI 引擎的引用机制差异很大:ChatGPT 以行内引用加 Sources 列表呈现来源,Perplexity 几乎逐句可溯源,Gemini 在回答中内嵌相关来源链接,AI Overviews 则把多源聚合答案与来源列表一起放在搜索结果顶部。本文从引用透明度、来源偏好、可干预性 3 个维度对比这 4 个引擎,并给出 GEO 的 3 点启示,帮企业在多引擎环境下提升被引用的概率。

淡然一笑 的专栏 244

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

AI Agent之核心框架

A: 显式 Thought 有三类价值:可解释性(便于人类审计)、可调试性(定位哪一步选错工具)、学习信号(可做监督微调或评估中间步骤质量)。ReAct 把推理与 可执行行动 绑定,每一步行动后都有 真实 Observation 反馈,从而用工具结果约束生成,降低闭卷幻觉。做完不等于结束——还要 评估做得好不好,把 教训 记下来,下次 带着教训重试,反思作为 记忆,影响后续尝试的策略。工作流程:Action → Evaluation → Reflection → Retry。A: 普通 CoT 只在。

剑雨巍巍的博客 273

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 602

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

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

AI 应用开发工程师技术实践:大模型接入、通用组件封装与性能优化

本文提出AI应用从PoC到生产的核心挑战:模型调用的持续可用、可控与可优化。通过构建统一LLM网关实现多供应商路由与故障转移,封装对话、工具调用与RAG组件以解耦业务逻辑,结合前缀缓存、批处理与流式背压治理等性能优化手段,形成“接通→接稳→接快”的工程路径,最终以工程化能力决定AI应用的生产可用性。

2301_79189962的博客 639

抽象主义人工智能和生命体AI的内在联系

彭军辉提出“抽象主义人工智能”作为第四大AI范式,批判符号主义、连接主义、行为主义剥离生命本体的误区,确立“智能是现象,生命是本体”的核心公理。主张原生智能必须依附具备存续诉求的生命本体,提出“生命体AI理论”,构建七层演化阶梯与自闭环工程框架,强调智能不可跳过底层存续机制直接模拟语言。该体系为生成式AI提供科学边界,推动从“仿真表象”向“原生智能”的范式跃迁,开辟硅基人工生命新赛道。

抽象主义人工智能和生命体AI 189

OpenAI Control Room 架构拆解:给企业 AI Agent 加一套可审计的急停系统

OpenAI 公开了用于追踪和停止研究模型工作负载的 Control Room。本文拆解 job_id、推理前鉴权、35 秒撤销窗口与 Fail Closed 设计,并给出企业 AI Agent 急停控制面的数据模型、FastAPI 参考实现、缓存撤销策略和故障演练清单。

jerry764的博客 330

OpenClaw 深度调查:把 AI 助手做成你自己的控制平面

对 openclaw/openclaw 的完整技术尽调:Gateway 架构、Agent 运行时、工具与沙箱、30 个消息通道、181 个插件、安全信任边界、工程代价与采用建议。17 章 / 10 张图,全部数字标注口径,数据截至 2026-10-31。

厚积薄发 320

AI赋能智慧港口建设|造形家快速生成港口全要素三维场景

随着智慧港口、港口数字孪生项目的持续推进,港口三维场景的需求日益旺盛。传统港口三维建模,往往需要航拍倾斜摄影采集数据,再人工搭建吊机、岸桥、船舶、集装箱等大量工业设施模型,项目周期长、人力成本高,修改迭代繁琐,制约港口可视化项目落地效率。国产AI三维建模工具,依托卫星影像 AI 识别能力,无需航拍作业,一键快速搭建港口完整三维场景,为港口数字孪生、方案汇报、投标演示提供高效的场景解决方案。

m0_69539167的博客 71

从设备增点到治理闭环:老旧小区物业数智化落地实践

系统连接合同审批、银行流水、收费记录与项目台账,执行到期提醒、收入核验、异常标色和月度对账,让每一笔资金来源明确、去向可查。针对设施老旧、诉求响应慢、公共收益不透明等问题,津南以6类小区为试点场景,统一建设物业数字化底座,关联楼栋、单元、房屋、业主、空间、设施设备、工单、公共收益等核心数据。系统采用统一编码管理,将摄像头、路灯、井盖、道路、绿化等设施纳入资产台账,解决纸质记录更新滞后、故障责任难追溯的问题。基于历史工单建立分类模型和知识库,辅助识别照明、给排水、电梯、环境秩序、秩序维护等问题;

wuyeshuzhihua的博客 145

企业微信iPad协议详解:接口接入、实时消息同步与语音转码实践

深入解析企业微信iPad协议的技术架构与开发思路,涵盖API接口接入、长连接通信、实时消息同步、Silk语音转码、异常重连及高并发优化,帮助开发者了解企业微信自动化系统的设计与实现。

欢迎来到祖安! 481

Product Hunt 热榜 2026-11-13:Plurai Simulation、YouArt Desktop App、Omnigraph

2026-11-13 Product Hunt 新产品精选:Plurai Simulation、YouArt Desktop App、Omnigraph。汇总 15 款产品的中文介绍、功能关键词和产品链接。

LaughingZhu的博客 560

【AI Agent面试系列】AI Agent可观测、评测、安全相关的知识点

之前的文章介绍了和,本文主要介绍AI Agent的测评、可观测等知识。

370
上一篇: 大模型解读!中国人工智能大模型技术白皮书!
下一篇: Ollama+Nginx+4090打造DeepSeek-R1-32B高可用大模型集群,助力企业拥抱AI时代
冻感糕人~
博客等级 码龄3年 8926粉丝 2393原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值