OpenAI Releases GPT-Live and GPT-Live-1 mini: Full-Duplex Voice Models That Delegate Deeper Reasoning to GPT-5.5


"""Illustrative simulation of the GPT-Live full-duplex decision loop.
Teaching model of the described architecture, NOT the real API."""
import random
random.seed(7)  # reproducible output

class BackgroundModel:                      # stands in for GPT-5.5
    def run(self, query):
        return f"answer to '{query}'"

class GPTLive:
    def __init__(self, background):
        self.background = background
        self.pending = None                 # a delegated task, if one is running

    def decide(self, user_speaking, needs_deep_work):
        # A real model makes this choice many times per second.
        if self.pending is not None:
            return "await_delegate"
        if needs_deep_work:
            return "delegate"
        if user_speaking:
            return random.choice(["listen", "backchannel"])
        return "speak"

    def step(self, frame):
        action = self.decide(frame["user_speaking"], frame["needs_deep_work"])
        if action == "delegate":
            self.pending = frame["query"]                 # hand off, keep talking
            return 'speak      -> "one sec, still with you"'
        if action == "await_delegate":
            result = self.background.run(self.pending)     # background result
            self.pending = None
            return f'speak      -> "{result}"'
        if action == "backchannel":
            return 'backchannel-> "mhmm" (while user talks)'
        if action == "listen":
            return "listen     -> (quiet, attending)"
        return "speak      -> (normal reply)"

# A short scripted stream of audio frames the loop consumes in order.
stream = [
    {"user_speaking": True,  "needs_deep_work": False, "query": None},
    {"user_speaking": True,  "needs_deep_work": False, "query": None},
    {"user_speaking": False, "needs_deep_work": True,  "query": "weather at 6pm"},
    {"user_speaking": False, "needs_deep_work": False, "query": None},  # result returns
    {"user_speaking": False, "needs_deep_work": False, "query": None},
]

live = GPTLive(BackgroundModel())
for i, frame in enumerate(stream):
    print(f"frame {i}: {live.step(frame)}")



Source link

  • Related Posts

    Google Research Introduces GlucoFM: A 0.72M-Parameter Dual-Stream Foundation Model for Continuous Glucose Monitoring

    Google Research and UNSW Sydney have released GlucoFM, a self-supervised foundation model for continuous glucose monitoring. Its core move is a split. Existing CGM models — CGMformer, GluFormer, CGM-JEPA —…

    Z.ai Releases GLM-5.3-Flash: A 320B-A18B Natively Multimodal MoE With a 1M-Token Context

    Z.ai has released GLM-5.3-Flash, the first natively multimodal model in the GLM-5 series and the cheapest capable coding model the lab has shipped. It is a mixture-of-experts model with 320B…

    Leave a Reply

    Your email address will not be published. Required fields are marked *