大模型学习与面试第六期:大模型知识进阶

这里主要是做一些知识的补充,所以主要是提问与问题的讲解。

第一题:大模型是怎么让生成的文本丰富而不单调的呢?

1. 温度 (Temperature):

这是影响文本丰富度最直观的参数。模型预测出所有可能接下来的词后,会使用"温度"来调整这些词的概率分布。

  • 低温 (例如 0.1 - 0.4): 扩大了高概率词和低概率词之间的差距。模型会变得非常"保守",倾向于永远选择最常见、最稳妥的词。这种设置下,模型每次生成的答案几乎都一样,适合写代码或回答严谨的事实性问题。

  • 高温 (例如 0.7 - 1.0+): 缩小了概率差距,让原本不太可能出现的"冷门词"也有了被选中的机会。模型会变得更加"发散"和有创造力,用词会更加丰富多变,适合写诗、写故事或头脑风暴。

2. Top-K 采样:

如果仅靠提高温度,模型有时可能会选出极其冷门甚至不合逻辑的词,导致"胡言乱语"。Top-K 机制用来兜底。

  • 它强制模型只在概率排名前 K 的词语中做随机选择。比如设定 Top-K 为 40,那么不管词表有几万个词,模型每次只考察最靠谱的前40个词。这既保证了句子的通顺,又在这个小圈子里保留了词汇的多样性。

3. Top-P 采样 (核采样):

与固定的数量 K 不同,Top-P 是按累积概率来筛选候选词的。

  • 模型会从概率最高的词开始往后加,直到加起来的概率总和达到设定的阈值 P(比如 0.9)。

  • 好处在于它是动态的: 如果下一个词的把握很大(比如"白日依山"后面接"尽"),可能只需1-2个词就达到了 0.9 的概率,模型就不去考虑其他词了;如果把握不大(比如"我想吃..."),可能需要几十个不同的食物词汇才能凑够 0.9 的概率,此时选择范围就变大了。

4. 重复惩罚 (Repetition Penalty)

为了避免模型陷入死循环,像复读机一样一直说同样的词,系统还会加入惩罚机制。一个词在前面文本中出现的次数越多,它再次被选中的概率就会被系统人为地压低。这就像是在逼着大模型:"这个词你用过了,赶紧换一个词来表达!"

正是这些机制的精妙配合,让大模型能够在"死板的机器人"和"疯言疯语"之间找到完美的平衡,持续输出丰富、自然且不单调的文字。

下面这个交互模块可以让你直观地感受这三个核心参数是如何改变模型"选词范围"的。你可以尝试调整温度,看看原本不可能被选中的词是如何进入候选池的。

1. 如果只用 Top-K:太死板

假设你将 Top-K 固定为 50。

  • 场景: 句子是"床前明月..."。

  • 问题: 这个语境极其明确,下一个字 99.9% 是"光"。但 Top-K 是个"死脑筋",它硬性规定必须凑齐 50 个候选人。于是它会把"光"和另外 49 个概率极低、毫不相干的字(比如"猫"、"跑"、"的")一起放进池子里。如果运气不好,模型在随机抽样时刚好抽到了那些极低概率的字,就会突然显得"胡言乱语"。

2. 如果只用 Top-P:容易失控

假设你将 Top-P 固定为 0.9(即候选词概率相加达到 90%)。

  • 场景: 句子是"我今天周末打算去..."。

  • 问题: 这个语境极其开放,接什么词都可以(吃饭、睡觉、逛街、打球......)。因为每个词的概率都被摊薄了,可能最高的一个词也只有 2% 的概率。为了凑够 90% 的总和,Top-P 可能会一口气把几千个词都拉进候选池。候选池一旦过大,模型选出不符合语法或逻辑的"冷僻词"的风险就会成倍增加。

为了解决上述问题,现代大模型在生成文字时,通常会将这两个参数变成一个先后执行的"双层漏斗"(一般先执行 Top-K,再执行 Top-P,或者相反,具体取决于底层代码的实现,但逻辑是一致的):

  1. 第一层漏斗(Top-K 砍长尾): 不管语境多开放,先把词汇表里几万个词按概率排名,只保留前 K 个(比如前 50 个),剩下的全部直接丢弃。 (这给系统定下了一个"硬上限",彻底杜绝了 Top-P 可能会拉几千个词进来的失控风险。)

  2. 第二层漏斗(Top-P 动态收缩): 在刚刚过关的这 50 个词里,再从高到低加概率。一旦累积概率达到 P(比如 0.9),就停止挑选,把剩下的词踢掉。 (这给系统提供了一个"软调节"。如果是"床前明月"这种明确语境,可能前 2 个词加起来就达到 0.9 了,Top-P 会果断把剩下的 48 个凑数的词踢掉,弥补了 Top-K 太死板的缺点。)

第二题:复读机问题详解

1.什么是大模型复读机问题?

在人工智能和大模型的语境下,"复读机问题" (学术上常称为 Text Degeneration 或文本退化/死循环)是指模型在生成文本时突然"卡壳",开始陷入无限循环,疯狂重复同一个字、词语或句子,甚至是一段乱码的灾难性现象。

比如,你问模型:"今天去哪里玩?" 它可能会回答:"我们可以去公园公园公园公园公园公园......" 或者:"我们可以去公园,去公园,去公园,去公园......"

这种情况在早期的大模型(比如早期的 GPT-2)或者当你把生成参数设置得极其极端时,非常容易出现。

为什么大模型会变成"复读机"?

这跟大模型生成文本的底层工作原理密切相关。主要有以下两个核心原因:

1. "自回归"机制导致的自我强化(滚雪球效应)

大模型是自回归 (Auto-regressive)的,意思是它每次预测下一个词,都要结合前面所有已经生成的词。

  • 假设模型因为偶然原因,连续生成了两个"公园"。

  • 它的注意力机制(Attention)在分析上下文时,会敏锐地捕捉到这个特征。它会误判:"哦!原来当前的行文规律就是重复'公园'这个词!"

  • 结果,它在预测下一个词时,会给"公园"赋予更高的概率。重复的次数越多,它就越坚信这是个规律,概率就越逼近 100%,最终彻底陷入"自嗨"的死循环。

2. "贪心搜索"的缺陷

如果把模型的"温度 (Temperature)"设置为 0(即所谓的贪心解码 Greedy Decoding,每次绝对只选概率排名第一的词)。 一旦模型发现 词A 后面接 词B 概率最高,而 词B 后面接 词A 概率也最高,它就会像陷入了命运的齿轮,开始无限死循环(A -> B -> A -> B -> A...),因为它没有任何随机性去选择排名第二、第三的词来打破这个僵局。

这就像老式唱片机卡在了一道划痕上,唱针永远在这个槽里跳不出来。

3. 长文本里,模型更容易丢掉"我已经说过什么"

上下文虽然能看很长,但不是像人一样有一个很硬的"提纲板"。

写长了之后,模型可能只感觉"这段风格应该继续",却没有强约束自己"这个点前面已经讲完了"。

于是它会重复结构,而不是推进内容。

4. 训练数据里本来就有很多套话

互联网上有大量文本本身就充满:

  • 套话

  • 车轱辘话

  • 空泛总结

  • 模板式段落

模型学了这些之后,也会继承这种倾向。

2.如何缓解大模型复读问题?

当大模型预测下一个词时,它首先计算出的是一个原始得分,叫做 Logits。这些得分随后会通过 Softmax 函数转化为 0 到 1 之间的概率。各种惩罚机制,其实就是在 Logits 变成概率之前,对它们进行"暗箱操作"。

1. 重复惩罚机制的底层公式

我们在 API 设置中看到的频率惩罚(Frequency Penalty)和存在惩罚(Presence Penalty),实际上是对 Logits 进行了一道减法。

假设模型正在考虑输出词汇,后台的惩罚公式大致如下:

  • 是一把"开关"(0 或 1):只要这个词在前面出现过,它就是 1。

  • 存在惩罚的权重:也就是只要出现过,就直接扣掉这么多基础分。

  • 出现次数 :这个词在前面出现了几次, 就是几。

  • 频率惩罚的权重:根据出现次数进行累加扣分。

实际效果:

如果模型非常想说"公园"这个词(原始 Logit 很高),但"公园"已经在前文出现了 5 次。那么它的最终得分会被扣除 。一旦扣分过猛,它的排名就会跌出 Top-K 的圈子,模型就只能被迫选择"游乐场"或"草地"了。

2. 温度 (Temperature) 的"退火"原理

温度是放在 Softmax 函数里的一个分母:

(其中是词 的 Logit 得分)

  • 时: 概率保持原本的比例,原汁原味。

  • 时(趋于 0): 分数稍微高一点的词,经过指数放大,概率会无限逼近 100%。这就变成了贪心搜索 (Greedy Search) ,极其容易掉进 A -> B -> A -> B 的死循环。

  • 时: 比如 1.5 或 2.0,所有词的概率会被强行"拉平"。原本不可能出现的低分词也被硬生生拉高了概率。这就是打破复读机的关键------注入随机的噪音,让大模型在陷入循环的前一秒,因为一次偶然的"手抖"选了别的词,从而逃出生天。

在深入底层算法前,有必要提一个经典的文本生成算法:束搜索 (Beam Search)。很多初学者以为用它能解决问题,结果反而让模型变成了"终极复读机"。

  • 原理: 贪心搜索是每次只看眼前最好的一步;而束搜索像是一个"棋艺高手",它会往下多看几步。比如设定 Beam Size 为 3,它会同时保留 3 条胜率最高的"句子分支",最后选一条总分最高的输出。

  • 为什么会翻车? 事实证明,在开放式对话(如聊天、写故事)中,人类说话本来就是跳跃和充满未知的。而束搜索太"追求完美和高概率"了。它找出的"全局概率最高"的句子,往往极其平庸,甚至就是无限重复常见的虚词。所以在现代的大模型对话中,我们几乎抛弃了束搜索,转而使用上文提到的 Top-p 采样。

如果仅仅靠外挂的惩罚参数,有时候会让文章显得生硬(比如为了不重复某个词,用了一个极其别扭的同义词)。现代 AI 科学家通过改造底层机制,让模型从根本上"厌恶"重复。

3.对比搜索 (Contrastive Search)

这可以说是近年来解决文本退化问题的"神级算法"。它在挑选下一个词时,引入了一个"惩罚项(Model Degradation Penalty)"。

它的核心逻辑是考察词语的语义向量 (Embedding)

  • 第一步(查自信度): 这个候选词的概率高不高?

  • 第二步(查相似度): 它会把这个候选词的语义向量,和前面生成的每一个词的向量计算 余弦相似度 (Cosine Similarity)

  • 结果: 如果一个词概率很高,但它和前面刚刚生成的内容在语义特征上"长得太像了",系统就会判定你在"原地踏步",从而大幅降低这个词的实际得分。

这种方法的好处是,它不仅防字面上的重复,连语义上的车轱辘话都能防住。

4. 非似然训练 (Unlikelihood Training)

大模型的训练本质上是做"极大似然估计":拿着人类的优质文章,逼着模型提高预测正确下一个词的概率。但这只能教它"什么是对的",没教它"什么是错的"。

非似然训练就是在训练阶段,专门给模型喂一些"复读机语料"(比如故意生成的错误死循环片段)。

  • 当模型遇到这些重复片段时,训练目标反转:不再是提高概率,而是最小化这些重复序列的似然概率

  • 这就相当于在模型的神经元连接里建立了一个"反射弧":一旦连续输出相似的模式,内部权重就会报警。这就像人类说话时,如果发现自己连说了三个"然后",会潜意识地立刻停顿并换一个连接词一样。

通过数学层面的概率打压、采样层面的随机性注入,以及训练层面的基因重塑,现在的大模型才能像一个受过良好教育的演讲者一样,侃侃而谈而不落窠臼。

第三题:llama输入句子长度理论上可以无限长吗?

在完全理想的条件上可以,但是现实不行。

理论上为什么可以?

1. RoPE 可以外推

这里大概讲一下ROPE,我之前有发过ROPE的详解,后面还会详细讲到。

**绝对位置编码:**像给每个座位贴一个编号标签。模型学的是"第 17 个位置长什么样"。

相对位置编码:更像直接告诉模型"这两个词相距 3 格"。

**RoPE:**像给每个位置一个旋转角度,然后让模型在比较两个 token 时,通过角度差自然感受到它们相隔多远。

它放弃了直接做加法,而是把注意力机制里的 Query (Q向量,查询词)Key (K向量,目标词) 放到一个多维空间里进行旋转

想象每个词的向量是时钟表盘上的一根指针。

  1. 我们设定一个基础旋转角度 (比如 10 度)。

  2. 绝对位置赋予旋转量: 如果一个词在第 个位置,我们就把它的指针旋转 度。在第 1 个位置转 10 度,第 2 个位置转 20 度,第 个位置转度。

  3. 相对位置决定注意力: 两个词之间的关联度(注意力得分),在数学上就是两个向量的点积(这取决于它们之间的夹角)。

    • 假设词 A 在位置 2(转了 20 度),词 B 在位置 5(转了 50 度)。它们之间的夹角是 50 - 20 = 30度。

    • 如果把这句话整体往后挪 3 个词,词 A 到了位置 5(转了 50 度),词 B 到了位置 8(转了 80 度)。它们之间的夹角依然是 80 - 50 = 30 度!

结论: 只要两个词的相对距离不变,不管它们在句子中的哪个绝对位置,它们在空间中的相对夹角就永远不变,计算出的注意力得分也就永远一致。RoPE 既在每个词上打下了绝对位置的烙印,又让注意力机制完美继承了相对距离的特性。

真实模型中的向量有几千维,RoPE 会把这几千维两两分组(形成很多个 2D 平面)。 每个平面的旋转速度(频率)是不一样的:

  • 前面的维度转得非常(就像钟表的秒针),用来精准区分挨得很近的词。

  • 后面的维度转得非常(就像钟表的时针),用来感知相隔极远的长文本上下文关系。 这种多频旋转的机制,赋予了大模型极强的长文本外推潜力。

频率设定的核心公式

假设我们的词向量总维度是 (比如 LLaMA-2 7B 的 ),RoPE 会把它们两两分组,分成 个二维平面(即 2048 个切片)。

对于第 个平面( 的取值从 ),它的基础旋转频率(角度) 的计算公式如下:

这里面有一个极其关键的常数参数:(底数)

  • 在早期的 Transformer 和 LLaMA 1、LLaMA 2 中,这个 默认被设定为 10000

  • 在最新的 LLaMA 3 中,为了支持超长文本,这个 被放大到了 500000

Llama 常用的是 RoPE 位置编码。

RoPE 不是像老式绝对位置 embedding 那样,位置表长度一开始就死死定住。

所以人们会做一些长度扩展技巧,比如:

  • RoPE scaling

  • NTK-aware scaling

  • YaRN

  • LongRoPE 一类方法

  • continued pretraining / long-context finetuning

这些方法能把原本的上下文窗口扩得更长。

不过:RoPE 的优势在于,它将位置编码为连续可计算的相位旋转,使注意力更自然地依赖相对位移而不是固定位置表,因此比绝对位置 embedding 更容易做长度外推。
但由于旋转表示具有周期性、多频率相位在超长范围会失真,且模型只在有限长度分布上训练过,再加上注意力计算和数值资源本身有限,所以它只能"更容易扩长",不能"无限长"。

2. 可以滑动窗口或分块处理

  • 滑动窗口机制 (Sliding Window / StreamingLLM): 这种技术给模型植入了一个"注意力水槽(Attention Sinks)"。它允许模型一直往下读(理论上可以无限制地输入流数据),但代价是它像鱼一样只有"七秒记忆"。它只能记住最开始设定的几个核心设定(首部 token),以及最近刚刚输入的几千个词,中间的内容读完就直接忘掉、丢弃了。

  • 外挂知识库 (RAG - 检索增强生成): 这是目前最主流的做法。不再强行把几百万字塞给 LLaMA,而是先把庞大的文档存在外部数据库里,当用户提问时,系统先用搜索引擎在数据库里找到最相关的几段话,然后再把这几段话喂给 LLaMA。

要理解滑动窗口,我们先回忆一下标准大模型的全局注意力(Full Attention)

当你输入第 1000 个词时,大模型会回头去计算这个词与前面 1 到 999 个词的关联度。这就像一个人在读长卷轴,每读一个新字,都要把卷轴从头到尾重新扫视一遍。字数越多,扫视的负担越重(这就是前面提到的 算力爆炸)。

滑动窗口的逻辑则完全不同:

它承认了一个人类阅读的常识------"距离越近的词,通常关联度越高"

  • 机制: 给模型设定一个固定的"窗口大小",比如 。当模型生成第 5000 个词时,它只看紧挨着它的前 1000 个词(即第 4000 到 4999 个词),至于前 3999 个词,直接从显存里丢弃,假装它们不存在。

  • 比喻: 就像你拿着一个放大镜(窗口)在看长卷轴,放大镜只能照亮 1000 个字。你每往下读一个字,放大镜就跟着往下滑一格。前面的字虽然滑出了视野,但你依然能顺着当前的语境往下说。

  • 优势: 无论你输入多少字,模型的显存占用永远是固定大小(只存这 1000 个词)。这就是"理论上可以无限长"的物理基础。

大家一开始非常兴奋,觉得用滑动窗口就能实现无限输入了。但很快他们发现了一个致命问题:模型读着读着,突然就变成了傻子,开始胡言乱语。

为什么会这样?因为大模型在生成文本时,非常依赖句子最开头的那几个词(通常是系统提示词或核心指令)。比如开头写着"请用莎士比亚的风格把以下文章翻译成中文",如果滑动窗口往下滑,把这句话给丢了,模型就会彻底忘记自己的任务是什么。

于是出现了注意力水槽 (Attention Sinks / StreamingLLM)

为了解决这个问题,MIT 等机构的学者在 2023 年提出了一项轰动学术界的技术------StreamingLLM,引入了"注意力水槽"的概念,真正实现了"伪无限输入"。

它的做法极其聪明,结合了全局和滑动窗口的优点:

它把模型的记忆分成了两部分:

  1. 水槽记忆(永恒记忆): 强行锁死句子最开头的几个词(比如前 4 个 token)。无论窗口怎么滑,这 4 个词永远留在显存里,保证模型永远不会忘记"初始指令"和"基调"。

  2. 滑动窗口(短期记忆): 记录最近输入的个词,保持语言的连贯性。

结果就是: 只要保留最初的几个词和最近的一批词,中间的海量内容哪怕全部丢弃,模型依然能稳定、流畅地进行无限长度的对话,永远不会因为内存溢出而崩溃!

请看以下可视化:

全局注意力:

滑动窗口:

注意力水槽:

但无论是在底层数学逻辑、物理硬件,还是模型自身的结构设计上,LLaMA(以及目前市面上绝大多数基于 Transformer 架构的大模型)的输入长度都存在无法逾越的"硬上限"。

虽然随着技术的进步(比如 Llama 3.1 已经支持高达 128k tokens 的上下文),这个上限正在不断被拉长,但它绝不等于"无限长"。我们可以从以下三个核心维度来剖析它为什么不能无限输入:

1:复杂度

大模型之所以能理解上下文,核心在于其内部的自注意力机制(Self-Attention)。当模型阅读一段文本时,它需要计算每一个词与句子中其他所有词的关联度。

  • 如果句子有 10 个词,它需要计算 次。

  • 如果句子有 10,000 个词,计算量就是(一亿)次。

  • 这在数学上被称为 的时间与空间复杂度 为输入序列的长度)。

这意味着,如果输入长度无限长,所需的计算显存(VRAM)和算力会呈指数级爆炸。即使把全球所有的算力中心绑在一起,也无法支撑一个真正"无限长"的注意力矩阵计算。目前的 FlashAttention 等技术只是优化了计算过程,并未改变这种二次方增长的数学本质。

2:RoPE 位置编码的限制

像 LLaMA 这样的模型,它本身并没有"前后顺序"的概念,它是通过一种叫 旋转位置编码(RoPE, Rotary Position Embedding) 的数学技术,给每个词打上"空间坐标",从而知道谁在谁前面。

  • 在训练阶段,LLaMA 会在一个预设的最大长度内(例如 Llama 2 是 4096,Llama 3 是 8192)学习这些坐标的相对距离。

  • 一旦输入长度超出了它在训练时见过的最大坐标,它就会变得"不认识路"。这就好比一个平时只跑 400 米跑道的运动员,你突然让他去跑马拉松,他不仅体力跟不上,连怎么分配步伐都不知道了,生成的文本会立刻变成胡言乱语。

(注:虽然现在有"位置插值"等外推技术,可以把 8k 的能力强行拉伸到 32k 或更大,但这只是治标不治本,依然有其极限。)

3. 注意力涣散

即使我们不计成本地堆叠硬件,并且通过技术手段把位置编码拉得极长,模型也会在认知学上遇到瓶颈。

学术界发现大模型存在严重的"迷失在中间"效应。当输入文本过长(比如塞进了一整本《红楼梦》),大模型往往只能记住开头和结尾的信息,而中间部分的内容会被严重忽略。这就好比让人类一口气读完十万字,然后问你中间某一页的细节,大脑是会自动过滤掉这些"中间噪音"的。

第四题:如何让大模型处理更长的句子?

一、 应用层面

  1. RAG(检索增强生成)

    • 原理: 既然模型的脑容量有限,那就不把整本书一次性塞给它。而是先把书切成一页一页的小块,存到一个向量数据库里。当用户提问时,系统先像百度搜索一样,找出最相关的几页,只把这几页连同问题一起发给大模型

    • 优势: 彻底绕开了上下文长度限制,只要硬盘够大,理论上可以处理"无限长"的文档,且幻觉极低。

  2. Map-Reduce(分块总结法)

    • 原理: 把长文本切片,让模型先对每一块生成一个小摘要(Map阶段);然后把所有的小摘要汇总起来,再让模型对这些摘要生成最终的总摘要(Reduce阶段)。这在处理超长财报或长篇小说时非常有效。

二、 修改注意力机制

大模型最耗显存的是计算每个词之间关联度的"注意力矩阵"------它的计算量呈 O(N^2)$级爆炸。科学家们通过各种数学技巧来削减这个计算量:

  1. 稀疏注意力 (Sparse Attention)

    • 原理: 既然不用每个词都互相看,那就规定一些规律。比如只看离自己最近的几个词(局部),或者只看每一段开头的第一个词(全局)。这就像把一个密不透风的铁网,抽掉了一些铁丝,大大减少了计算量。
  2. RoPE 位置外推 / 频率缩放 (RoPE Scaling)

    • 原理: 就像我们在上一问中讨论的,通过修改位置编码的"底数(Base)"或对旋转角度进行插值(Position Interpolation),强行把模型原本只能识别 4K 长度的"标尺",等比例拉伸到 32K 甚至 128K。比如目前主流的 YaRN 算法,不需要重新从头训练模型,只需要用极少的数据微调一下,就能让模型适应超长文本。

三、 系统工程

如果你不改变模型的数学公式,纯靠优化显卡之间的数据搬运,也能极大地扩展上下文。

  1. FlashAttention

    • 原理: 这是近年来最伟大的底层优化之一。显卡在计算注意力时,时间往往浪费在"把数据从显存搬到运算单元"的路上。FlashAttention 重新设计了计算顺序,在运算单元内部就完成一系列复杂的结算,极大降低了显存读写的次数。这不仅让计算速度翻倍,还大幅节省了显存,是现代长文本大模型的"标配"。
  2. Ring Attention(环形注意力)

    • 原理: 一张显卡的显存装不下 100 万字怎么办?那就用 8 张显卡!Ring Attention 让多张显卡围成一个圈,每张显卡只计算自己负责的那一部分文本,然后把结果像接力棒一样传给下一张卡。通过这种分布式计算,只要你有足够的显卡连在一起,上下文长度就能无限扩展。

四、 "新架构"

  • 状态空间模型 (SSM, 比如 Mamba) 和 RWKV(线性 RNN):

    • 原理: 它们抛弃了"全局注意力",回归了早期 AI 类似"人类阅读"的模式:从头到尾读,一边读一边把重要的信息浓缩到一个"隐藏状态(Hidden State)"里。

    • 优势: 它们的计算复杂度是 (线性的),这意味着输入多长的句子,显存都不会爆炸。目前 Mamba 等架构展现出了极大的潜力,被认为是未来长文本大模型的最强竞争者。

相关推荐
大公产经晚间消息2 小时前
上海15万辆美团单车春季焕新,多重保障迎骑行高峰
网络·人工智能·美团·携程
VelinX2 小时前
【个人学习||ts】
学习
G***技2 小时前
5W功耗实现25TOPS算力,LM2-100-V0算力模组破解AI安防核心难题
人工智能·智慧城市·算力模组
key_3_feng2 小时前
Meoo秒悟:AI驱动的全能应用创造平台体验方案
人工智能·meoo·秒悟
胖头鱼的鱼缸(尹海文)2 小时前
数据库管理-第418期 从想法落地工程:Oracle DB构建AI Agent三位一体记忆体(20260403)
数据库·人工智能·oracle
电商API&Tina2 小时前
【京东item_getAPI 】高稳定:API 、非爬虫、不封号、不掉线、大促稳跑
大数据·网络·人工智能·爬虫·python·sql·json
环黄金线HHJX.2 小时前
BaClaw龙虾打字
开发语言·人工智能·算法·编辑器
LittroInno2 小时前
T-JSON跨平台网络通信协议——边缘认知设备的二次开发实战指南
人工智能·计算机视觉·目标跟踪·json