Web search providers

Web search and page reading in DataMind Oda run through a provider: the service that answers a search or fetches a page. This page covers the provider layer for deployments and developers: where its settings live, how Oda chooses a provider, the keys it uses, and what its failures mean. The tools themselves are on Web search and page reading, and the everyday side is on Chat with Oda.

Where the web search settings live

How Oda chooses a provider

The selection errors read:

MessageWhat it means
a web provider with id "<id>" is already registeredA second provider was registered under an id already in use for that capability; the registration is refused.
configured web provider "<id>" is not registeredThe pinned id is not registered at all.
configured web provider "<id>" is registered but unavailableThe pinned provider is registered but not usable, for example with no key, an address that does not parse, or a limit that is not a positive whole number.
no usable web provider is registeredNothing is pinned and no usable provider is registered for the capability.
multiple usable web providers are registered (<ids>); configure one explicitlyNothing is pinned and several usable providers are registered; pin one.

Keys and signing in

What a search and a page read return

Fix a failed search

  1. Read the message. The platform path reports its failures with the texts below; the selection errors above cover provider problems.
  2. Open Settings > Plugins > Plugin configuration > Web search and check the Endpoint field; only you should choose or change the endpoint.
  3. If the failure is about a key, store it (the Models settings page writes keys into Oda's credentials), set it in the environment Oda starts in, or set it directly in the target's configuration.
  4. The change applies to the next search; no restart is needed. If the failure repeats, keep the message and contact your administrator; the section's collected messages are on Troubleshooting.
MessageWhat it means
Platform web search error (HTTP <status>)The platform's search endpoint answered an error status.
Platform web read error (HTTP <status>)The platform's page reading endpoint answered an error status.
Platform page read failed: <detail>The platform reported the read itself as failed.
Platform web request abortedThe request was cancelled before it finished.
Platform web credential resolution failed: <message>No key could be resolved from the store or the environment.
Platform web search returned an unprocessable response body / Platform web read returned an unprocessable response bodyThe answer did not have the shape this path expects.

Questions, answered

How do I change the web search endpoint?

Open Settings > Plugins > Plugin configuration > Web search and edit the Endpoint field. Only you should choose or change it. The change serves the next search, with no restart; a failed search points you to the same place.

Do I need to restart Oda after changing the endpoint or a key?

No. The endpoint is read afresh for each search under the same registration, and keys resolve for each search, so a stored or replaced key applies to the next one. Keys and endpoints that come from the environment Oda starts in are the one exception: that environment is read when Oda starts.

Why does web search fail with a key error?

No usable key reached the provider. If you are signed out, the platform path fails this way before making any network request. Otherwise store the key (see Set up models and providers), set it in the environment Oda starts in, or set it directly in the target's configuration. The next search can then succeed with no restart. The message points at these places and never prints the key.

Which provider does Oda use when several are registered?

A pinned provider wins whenever it is registered and available. With nothing pinned, exactly one usable provider must be registered for the capability; if several are usable, the call fails and asks you to pin one. The order in which providers registered never changes the outcome.

Why does a search fail saying several web providers are registered?

Nothing is pinned and more than one usable provider is registered for search, so Oda cannot choose. Pin one in the provider settings. The message reads multiple usable web providers are registered (<ids>); configure one explicitly.

Why is the web tool still available when no provider is configured?

The tools follow the product's configuration, not provider availability. A missing or misconfigured provider does not remove the tool; the failure appears when a search or a read runs, with one of the messages above.

Is the web search endpoint the same as my chat model's endpoint?

No. The search endpoint is deliberately independent of the endpoint your chat models use. An error about web search therefore points at its own settings path, and changing one endpoint does not move the other.

Why did a page read succeed with status 404?

Because the page itself answered 404. The read completed and reports the page's status, including 404. Only a 404 from the platform itself is a provider failure.

Where do I store the key for web search?

In Oda's stored credentials: save it on Settings > Models and it serves web search too. You can also set it in the environment Oda starts in, or directly in the target's configuration, where a non-empty value wins. Oda never shows a stored key back.

Does web search work while I am signed out?

On the platform path, no: it fails with a key error before any network request. Sign in, or configure a key for a search target that accepts one. Page reading through the anonymous fetcher carries no credentials and does not depend on your DataMind sign-in.

What does each provider return, and what does it cost?

The platform provider returns sources with titles, addresses, snippets and dates, and its page reads return the page's text; its work runs on your company's server. The anonymous fetcher returns page text only, read on this computer, and sends no credentials (Direct web fetching covers its rules). A deployment can also mount other search targets; one kind runs a full model call for each search, which costs time and tokens, while an index-backed target answers directly.