# AI 机器人个性不接受 temperature、top\_p 的小数

**URL:** <https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243>\
**Category:** Support\
**Created:** [2024年三月6日 19:16 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243 "2024-03-06T19:16:37Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [2024年三月6日 19:16 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/1 "2024-03-06T19:16:37Z")

</div>

温度和 top\_p 应介于 0..1 之间，例如 0,4（或 0.4；格式来自语言设置，我猜的）。

现在输入时它会删除前导零和小数点。所以输入 0,4 会立即变成纯粹的 4。

这是最近才开始的。

当然，如果有人想要它介于 0…100 之间，这也可以是设计使然，那么这将是一个用户体验问题。

但它在 iPad/iPhone 上的表现让我觉得这是一个 bug。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2024年三月6日 20:18 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/2 "2024-03-06T20:18:26Z")

</div>

> [@Jagster](#):
>
> 0,4

欧洲 🙂

试试 0.4……可以吗？如果还是不行，那我们的数字组件可能需要修复了 😢

---

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [2024年三月6日 20:25 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/3 "2024-03-06T20:25:40Z")

</div>

> [@sam](#):
>
> 尝试 0.4

这是我最先尝试的，但没有成功。当那些设置被引入时，我首先使用了 0.x 的形式，因为你们也使用奇怪的日期 😜 但当时当我点击保存时，它会将其格式更改为 0,x。

现在，当输入一个实数时（嗯，零算是一个实数，某种程度上…），它会立即弄乱数字。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2024年三月6日 20:31 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/4 "2024-03-06T20:31:05Z")

</div>

这是……

```
      <Input
        @type="number"
        class="ai-persona-editor__top_p"
        @value={{this.editingModel.top_p}}
        @disabled={{this.editingModel.system}}
      />

```

type=number 这个问题在欧洲键盘/地区设置上会导致问题。

当我们询问组件值时，我们得到的是 `0,4`，这是 **正确的** ，但你不想在代码库中到处都是类似这样的代码：

`如果欧洲地区则替换（“,”，“.”）` 等等……

@cvx / @david 这里的“正确”解决方案是什么，我们需要使用自己的 `Input` 而不是使用 `@ember/component` 的 `Input`？

---

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [2024年三月6日 20:40 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/5 "2024-03-06T20:40:01Z")

</div>

为什么它不接受数字以外的任何东西？它是否比其他挑剔的数字更智能或更严格，但仅在尝试保存时？但它也更愚蠢，因为它也拒绝了 0.x，只是因为它不喜欢 0,x。

我只是好奇，因为拒绝所有不正确的字符是一种有用的方法。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2024年三月6日 20:50 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/6 "2024-03-06T20:50:07Z")

</div>

嗯，看了下这里的规范……这可能不是本地化问题：

> 默认步长为 1（只允许用户选择整数，除非步长基数具有非整数值）。

所以这里的 bug 可能是我们需要为它指定一个步长，稍后会进行测试……

---

<div class="post-metadata">

**Author:** ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)\
**Post date:** [2024年三月6日 22:06 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/7 "2024-03-06T22:06:27Z")

</div>

看起来这是一个 HTML 问题，而不是 Ember 问题。这表明我们可以传递一个 lang= 属性来获得一致的十进制行为：

> <https://stackoverflow.com/questions/6178332/force-decimal-point-instead-of-comma-in-html5-number-input-client-side/7610054#7610054>

（应该适用于 Ember 的 `<Input>` 或简单的 `<input>`）

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2024年三月7日 22:47 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/9 "2024-03-07T22:47:29Z")

</div>

将在以下位置修复：

> <https://github.com/discourse/discourse-ai/pull/518>
>
> 1. Fix input fields in AI persona editor and make GitHub tool authentication opt…ional
> 
> 2. AI persona editor improvements and tool GitHub access token check
> 
> This pull request makes a few improvements:
> 
> \- Adds \`lang="en"\` to number input fields in the AI persona editor to prevent localization issues 
> \- Adds \`step="any"\` to allow fractional values for temperature and top\_p settings
> \- Makes GitHub tool authentication contingent on \`ai\_bot\_github\_access\_token\` site setting being present
> 
> see: https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/7

---

<div class="post-metadata">

**Author:** ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
**Post date:** [2024年三月7日 23:31 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/10 "2024-03-07T23:31:17Z")

</div>

> [@sam](#):
>
> 欧洲 🙂

欧洲，亚洲大部分地区，非洲大部分地区，南美洲…… 😉

 ![image](https://global.discourse-cdn.com/meta/original/4X/8/2/0/82091315c4b6b894783e9caceccade426a1e3c53.jpeg)

---

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [2024年三月8日 03:59 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/11 "2024-03-08T03:59:24Z")

</div>

我来演示一下，因为问题仍然存在。我在这里使用 iPhone，因为这是显示击键最简单的方法（对我来说）😉

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2024年三月8日 05:38 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/12 "2024-03-08T05:38:22Z")

</div>

你100%确定你拥有最新的提交吗？

---

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [2024年三月8日 05:42 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/13 "2024-03-08T05:42:00Z")

</div>

真的确定。并且在之前的帖子之前 25 分钟进行了升级。我相信当那个标签显示它已合并时，它就是合并了。

不过没关系。我可以在几个小时后再次检查并重新升级。

---

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [2024年三月8日 08:50 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/14 "2024-03-08T08:50:09Z")

</div>

你们确实花了不少宝贵的时间来解决这个问题，并且修复了某些东西，但原因非常常见：管理员-用户。

问题出在我用来启用自动 © 符号的代码上：

```plaintext
<script type="text/discourse-plugin" version="0.8">
document.addEventListener('DOMContentLoaded', function() {
  document.body.addEventListener('input', function(e) {
    if (e.target.tagName === 'TEXTAREA' || e.target.tagName === 'INPUT') {
      e.target.value = e.target.value.replace(/(c)/gi, '©');
    }
  });
});
</script>

```

我的首要问题是：抱歉，我很愚蠢，但我甚至无法想象这会产生这样的影响。但当最新的升级不起作用时，我记得我曾在某处看到过 `input` 这个东西，之后解决方案就很容易找到了。

次要问题是，你们是否知道为什么它会破坏某些地方（我的 Discourse Chatbot 也发生了一些奇怪的事情）——是正则表达式有问题吗？

无论如何，这本身并不是一个 bug，你们可以从我这里拿走一个，但只能拿走一个 bug 报告徽章 😮‍💨

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2024年三月13日 01:14 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/15 "2024-03-13T01:14:40Z")

</div>

没关系 🤗 很高兴您已解决。\n\n[quote="Jakke Lehtonen, post:14, topic:298243, username:Jagster"]\n`\nif (e.target.tagName === 'TEXTAREA' || e.target.tagName === 'INPUT') {\n e.target.value = e.target.value.replace(/\\(c\\)/gi, '©');\n }\n`\n[/quote]\n\n\n问题在于您无条件地执行替换操作，这会干扰下游的内容。一个最小的修复方法是仅在 (c) 确实存在时才执行替换操作。即便如此，我还是建议不要使用这种 hack 方法，而是在 markdown prettify 中进行。 ™\n\n过去，我们在此处禁用了此替换：\n\n[discourse/app/assets/javascripts/discourse-markdown-it/src/features/custom-typographer-replacements.js at c78019032d17deb0a607cbaa51c03771bd670840 · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/c78019032d17deb0a607cbaa51c03771bd670840/app/assets/javascripts/discourse-markdown-it/src/features/custom-typographer-replacements.js#L7-L15%5Cn%5Cn%E6%82%A8%E6%83%B3%E8%A6%81%E7%9A%84%E6%98%AF%E6%9F%90%E7%A7%8D%E6%8F%92%E4%BB%B6%E6%9D%A5%E9%87%8D%E6%96%B0%E5%90%AF%E7%94%A8%E5%AE%83%E3%80%82)

---

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [2024年三月14日 10:22 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/16 "2024-03-14T10:22:34Z")

</div>

5 篇帖子已合并到现有主题：[插入版权符号](https://meta.discourse.org/t/insert-copyright-symbol/297493/27)

---

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [2024年三月14日 10:23 UTC](https://meta.discourse.org/t/ai-bot-personas-don-t-accept-decimals-for-temperature-top-p/298243/17 "2024-03-14T10:23:49Z")

</div>


