Let it look things up rather than putting it in search mode
Results announced themselves as the source, so a question it already knew got answered by paraphrasing the first hit.
This commit is contained in:
@@ -274,8 +274,18 @@ function vv_ai_web_search(string $question): array {
|
|||||||
// renumbering the other.
|
// renumbering the other.
|
||||||
function vv_ai_web_context(array $results, int $offset = 0): string {
|
function vv_ai_web_context(array $results, int $offset = 0): string {
|
||||||
if (!$results) return '';
|
if (!$results) return '';
|
||||||
$s = "Web search results. These are from outside this installation — cite them by number, and\n"
|
// Framed as reference material, not as the answer. The search runs whenever the box is
|
||||||
. "say when something is a general answer rather than one about this machine.\n\n";
|
// ticked, because a search is one HTTP request and deciding to run it would cost a whole
|
||||||
|
// extra generation — but running it must not mean leaning on it. Answering a question the
|
||||||
|
// model already knows by paraphrasing the first search result is worse than answering it
|
||||||
|
// directly, and it was doing that because the results announced themselves as the source.
|
||||||
|
$s = "Reference material from a web search, in case it is useful. It is from outside this\n"
|
||||||
|
. "installation and nothing here has been verified against this machine.\n\n"
|
||||||
|
. "Answer from what you already know when you know it. Reach for these when you do not,\n"
|
||||||
|
. "when the question turns on something current, or when a specific version, release or\n"
|
||||||
|
. "figure needs checking rather than recalling. Cite by number only what you actually\n"
|
||||||
|
. "used, ignore the rest, and never imply the web was consulted about this installation —\n"
|
||||||
|
. "it was not. Say plainly when an answer is general rather than about this machine.\n\n";
|
||||||
foreach ($results as $i => $r) {
|
foreach ($results as $i => $r) {
|
||||||
$s .= '[' . ($offset + $i + 1) . '] ' . $r['title'] . ' — ' . $r['url'] . "\n"
|
$s .= '[' . ($offset + $i + 1) . '] ' . $r['title'] . ' — ' . $r['url'] . "\n"
|
||||||
. $r['snippet'] . "\n\n";
|
. $r['snippet'] . "\n\n";
|
||||||
|
|||||||
@@ -398,13 +398,16 @@ vv_ai_chat_markup('vv-ai', [
|
|||||||
reads as broken, and the reason it does nothing is a capability boundary that takes a
|
reads as broken, and the reason it does nothing is a capability boundary that takes a
|
||||||
paragraph to explain. -->
|
paragraph to explain. -->
|
||||||
<div class="vv-ai-set-r" id="vv-ai-web-row" style="display:none">
|
<div class="vv-ai-set-r" id="vv-ai-web-row" style="display:none">
|
||||||
<span class="vv-ai-set-l">Web search</span>
|
<span class="vv-ai-set-l">Looking things up</span>
|
||||||
<div>
|
<div>
|
||||||
<label class="vv-ai-toggle"><input type="checkbox" id="vv-ai-web"> search the web for
|
<label class="vv-ai-toggle"><input type="checkbox" id="vv-ai-web"> let it look up what
|
||||||
this question</label>
|
it does not know</label>
|
||||||
<div class="vv-ai-set-d" id="vv-ai-web-state">General Chat only — it is the one profile
|
<div class="vv-ai-set-d" id="vv-ai-web-state">Not a web-search mode — it still answers
|
||||||
that cannot change anything, which is why it is the one allowed to look outside. Your
|
from what it knows, and reaches for results when it does not know, when the question
|
||||||
question is sent to the configured search provider.</div>
|
turns on something current, or when a version or figure is worth checking rather than
|
||||||
|
recalling. General Chat only: it is the one profile that cannot change anything, which
|
||||||
|
is why it is the one allowed to look outside. Your question is sent to the configured
|
||||||
|
search provider.</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="vv-ai-set-r">
|
<div class="vv-ai-set-r">
|
||||||
|
|||||||
Reference in New Issue
Block a user