Type something to search...
开启未来:Openai 如何改变日常使用的实时对话式人工智能

开启未来:Openai 如何改变日常使用的实时对话式人工智能

对话式人工智能 — 未来已来

我们生活在2025年,这是一个人工智能时代,过去五年中,我们在日常生活中体验着人工智能。早些时候,我们曾预测人工智能将伴随我们,使用人工智能在数字世界中,同时我们也在说人工智能是未来,而现在它已成为现实。

当大型语言模型在五年前向公众发布时,我们开始体验到在软件开发、医疗保健等各个不同领域中一些小任务的自动化。它正在向更准确、改进和高效的模型发展,并已向公众发布,因此软件应用程序开始使用它们,新的软件也开始发布以全面应用人工智能,其中一些被构建为对话式人工智能应用程序,如Google Gemini等。

什么是对话式人工智能?

对话式人工智能是人工智能技术,使计算机和软件设备能够模拟人类的对话。一些对话式人工智能应用被开发为聊天机器人,如ChatGPT,一些则是虚拟助手,如亚马逊Alexa,还有一些是用于制造、物流和检查等硬件领域的机器人应用。

对话式人工智能使用自然语言处理(NLP)来理解用户的对话。它可以根据过去的互动和经验学习和适应。

自然语言处理有4个步骤:

  1. 输入生成
  2. 输入分析
  3. 输出生成
  4. 强化学习

在这个过程中,非结构化数据被转换为计算机可以读取的格式,然后它们分析这些数据以生成响应。对话式人工智能在后台应用了相同的机制。

对话式人工智能的好处

  1. 即时支持: 您可以使用对话式人工智能提供即时支持,而无需等待他人处理您的需求,可以根据需要请求人工智能执行。
  2. 成本降低: 在处理复杂工作方面,人工智能具有成本效率。
  3. 个性化互动: 对话式人工智能根据用例进行定制和个性化,以建立人性化的互动。
  4. 可扩展性: 您可以使人工智能并部署给多个用户,以便他们可以同时使用。
  5. 适应性: 它可以用于任何用例以自动化流程。

让我们了解 OpenAI 实时模型

我们理解了对话式人工智能,但现在我们想了解对话式人工智能的核心和体验,因此让我们了解 OpenAI 实时模型。

OpenAI 于 2024 年 12 月发布了 gpt-4o实时预览,以支持对话式人工智能的集成。该模型提供低延迟、多模态、表达丰富的语音启用模型体验,并配备实时 API。此模型支持实时文本和音频的输入和输出、语音激活检测(VAD)、函数调用等功能。

OpenAI 发布了 WebRTC 和 Websocket 集成,以连接实时模型。WebRTC 使客户端或网络应用与模型之间的实时对话集成成为可能。Websockets 使服务器与模型之间的实时对话集成成为可能。

对话式人工智能与OpenAI实时模型

Image 2

与OpenAI实时模型集成的示例对话式人工智能应用

查看上面的图片,这是应用与OpenAI及后端服务集成的流程图,以实现自动化过程。

假设您正在构建一个健身应用程序,您的健身数据存储在数据库表中,并通过简单的获取数据后端函数连接到后端API服务。

您可以使用前端中的函数构建后端API服务与聊天机器人对话式人工智能健身应用之间的集成。

前端通过WebRTC连接与OpenAI实时模型连接,并且该函数(与后端API服务的连接)已在模型中注册。

一旦所有组件的连接完成,您可以尝试询问AI机器人“给我过去7天的健身数据”。

对话式人工智能聊天机器人的前端和后端代码示例

前端:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chatbot with WebRTC</title>
    <style>
        body { font-family: Arial, sans-serif; text-align: center; }
        #chatbox { width: 50%; margin: auto; border: 1px solid #ccc; padding: 10px; height: 300px; overflow-y: scroll; }
        input, button { margin-top: 10px; }
    </style>
</head>
<body>
    <h2>聊天机器人</h2>
    <div id="chatbox"></div>
    <input type="text" id="message" placeholder="输入消息...">
    <input type="date" id="start_date">
    <input type="date" id="end_date">
    <button onclick="sendMessage()">发送</button>

<script>
        let peerConnection = new RTCPeerConnection();
        let dataChannel = peerConnection.createDataChannel("chat");

        dataChannel.onopen = () => console.log("连接已打开");
        dataChannel.onmessage = async event => {
            let response = event.data;
            document.getElementById("chatbox").innerHTML += `<p><strong>机器人:</strong> ${response}</p>`;

            if (response.includes("fetch_fitness_data")) {
                let startDate = document.getElementById("start_date").value;
                let endDate = document.getElementById("end_date").value;
                let data = await fetchFitnessData(startDate, endDate);
                document.getElementById("chatbox").innerHTML += `<p><strong>机器人:</strong> ${JSON.stringify(data)}</p>`;
                dataChannel.send(JSON.stringify(data));
            }
        };

        async function sendMessage() {
            let message = document.getElementById("message").value;
            document.getElementById("chatbox").innerHTML += `<p><strong>你:</strong> ${message}</p>`;
            dataChannel.send(message);
            document.getElementById("message").value = "";
        }

        async function fetchFitnessData(startDate, endDate) {
            try {
                let response = await fetch(`/fetch-data?start_date=${startDate}&end_date=${endDate}`);
                return await response.json();
            } catch (error) {
                console.error("获取健身数据时出错", error);
                return { error: "获取数据失败" };
            }
        }

        async function startWebRTC() {
            const tokenResponse = await fetch("/session");
            const data = await tokenResponse.json();
            const EPHEMERAL_KEY = data.client_secret.value;

            const audioEl = document.createElement("audio");
            audioEl.autoplay = true;
            peerConnection.ontrack = e => audioEl.srcObject = e.streams[0];

            const ms = await navigator.mediaDevices.getUserMedia({
                audio: true
            });
            peerConnection.addTrack(ms.getTracks()[0]);

            const offer = await peerConnection.createOffer();
            await peerConnection.setLocalDescription(offer);

            const baseUrl = "https://api.openai.com/v1/realtime";
            const model = "gpt-4o实时预览-2024-12-17";
            const sdpResponse = await fetch(`${baseUrl}?model=${model}`, {
                method: "POST",
                body: offer.sdp,
                headers: {
                    Authorization: `Bearer ${EPHEMERAL_KEY}`,
                    "Content-Type": "application/sdp"
                },
            });

            const answer = {
                type: "answer",
                sdp: await sdpResponse.text(),
            };
            await peerConnection.setRemoteDescription(answer);
        }

        startWebRTC();
        const event_type = {
            "type": "session.update",
            "session": {
                "tools": [
                    {
                        "type": "function",
                        "name": "fetch_fitness_data",
                        "description": "获取我的健身数据",
                        "parameters": {
                            "type": "object",
                            "properties": {
                                "start_date": {
                                    "type": "string",
                                    "description": "过滤的开始日期",
                                },
                                "end_date": {
                                    "type": "string",
                                    "description": "过滤的结束日期",
                                }
                            },
                            "required": ["start_date", "end_date"]
                        }
                    }
                ],
                "tool_choice": "auto",
            }
        }
        dataChannel.send(JSON.stringify(event_type));
    </script>
</body>
</html>

后端:

from fastapi import FastAPI, Query
import psycopg2
from psycopg2.extras import RealDictCursor
import os

app = FastAPI()

def get_db_connection():
    return psycopg2.connect(
        dbname=os.getenv("DB_NAME"),
        user=os.getenv("DB_USER"),
        password=os.getenv("DB_PASSWORD"),
        host=os.getenv("DB_HOST"),
        port=os.getenv("DB_PORT"),
        cursor_factory=RealDictCursor
    )

@app.get("/fetch-data")
async def fetch_data(start_date: str = Query(...), end_date: str = Query(...)):
    try:
        conn = get_db_connection()
        cursor = conn.cursor()
        query = """
        SELECT * FROM fitness_data 
        WHERE date BETWEEN %s AND %s;
        """
        cursor.execute(query, (start_date, end_date))
        data = cursor.fetchall()
        conn.close()
        return {"data": data}
    except Exception as e:
        return {"error": str(e)}

接下来是什么?

技术已经非常先进,随着改进、方法、数据安全和合规性,它将超越人类生活。我们应该负责任地开发负责任的人工智能应用程序。如果我们无法以正确的意图构建它们,它也可能进入一个黑暗的世界,人类将面临各种威胁。这个话题是有争议的。

就这些!!我会继续写关于人工智能技术的主题、用例和集成。

Related Posts

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

AI 研究报告和论文写作 合并两个系统指令以获得两个模型的最佳效果 Perplexity AI 的 Deep Research 工具提供专家级的研究报告,而 OpenAI 的 ChatGPT-o3-mini-high 擅长推理。我发现你可以将它们结合起来生成令人难以置信的论文,这些论文比任何一个模型单独撰写的都要好。你只需要将这个一次性提示复制到 **

阅读更多
让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

Non members click here作为一名软件开发人员,多年来的一个发现总是让我感到惊讶,那就是人们还在 Excel

阅读更多
使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

10 个常见问题解答 本文是我推出的一个名为“10 个常见问题解答”的新系列的一部分。在本系列中,我旨在通过回答关于该主题的十个最常见问题来分解复杂的概念。我的目标是使用简单的语言和相关的类比,使这些想法易于理解。 图片来自 [Solen Feyissa](https://unsplash.com/@solenfeyissa?utm_source=medium&utm_medi

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

在AI军备竞赛中分辨事实与虚构 DeepSeek AI真的是它所宣传的游戏规则改变者,还是仅仅聪明的营销和战略炒作?👀 虽然一些人将其视为AI效率的革命性飞跃,但另一些人则认为它的成功建立在借用(甚至窃取的)创新和可疑的做法之上。传言称,DeepSeek的首席执行官在疫情期间像囤积卫生纸一样囤积Nvidia芯片——这只是冰山一角。 从其声称的550万美元培训预算到使用Open

阅读更多
Type something to search...