Gem Knowledge Assistant

Gem Knowledge Assistant: developer guide

A question-answering service for the gems and jewellery industry. It answers in English or Thai from a curated library of published documents (industry standards, laws and regulations, technical references, responsible-sourcing guidance and trade statistics) and from structured reference data. Every factual statement cites the document and page it comes from. When the library does not cover a question, or the question asks for a forecast or live prices, it declines and says why instead of guessing.

What it covers

The library holds 30 searchable documents (2,672 passages), last updated 2026-10-17. Answers are given in English or Thai.

Publishers in the library
  • CIBJO (15)
  • US Geological Survey (3)
  • European Union (2)
  • Mineralogical Society of America (2)
  • Responsible Jewellery Council (2)
  • OECD (1)
  • Office of the Consumer Protection Board (Thailand), as published on ocac.go.th (1)
  • Revenue Department of Thailand (1)
  • UK Assay Offices (1)
  • UK Parliament (1)
  • US Federal Trade Commission (1)

What it does not do.

The same description, kept current, is at GET https://researchorbit.net/api/v1/library (no key needed).

Getting access

Each organisation gets an API key from the Gem Knowledge Assistant's administrator. If your organisation has a client portal account, sign in at https://researchorbit.net/portal to see your usage, create a new key, connect AI assistants and, if you wish, use your own AI account. Keep the key secret: anyone holding it can ask questions as your organisation.

The API

Send a question; receive a cited answer or a decline.

curl -X POST https://researchorbit.net/api/v1/ask \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question": "What does the FTC require before a product can be called gold filled?"}'

The answer:

{
  "refused": false,
  "text": "… the requirement … [1]. … [2].",
  "citations": [
    {"marker": 1, "kind": "passage", "title": "…", "document_id": "DOC-…", "version": 1,
     "page": 5, "section": "…", "excerpt": "the passage the sentence rests on …"}
  ],
  "charts": [],
  "interaction_id": null
}

The full reference, with every field, is at https://researchorbit.net/api/docs.

In your own chatbot

If your website already has a chatbot built on an AI provider's API, give it the Gem Knowledge Assistant as a tool: when the model calls the tool, your code sends the question to /api/v1/ask and returns the result to the model.

Tool definition (adapt the field names to your provider):

{
  "name": "ask_gem_library",
  "description": "Ask the Gem Knowledge Assistant, a cited library on gems and jewellery. Returns an answer whose sentences carry [n] markers matching the numbered sources, or declined=true with a message when the library does not cover the question.",
  "parameters": {
    "type": "object",
    "properties": {
      "question": {
        "type": "string",
        "description": "The user's question about gems or jewellery, in English or Thai."
      }
    },
    "required": [
      "question"
    ]
  }
}

Add this to your chatbot's instructions, so it uses the library properly:

For any question about gems and jewellery (gem materials and their properties as described in reference works; naming, grading terminology and disclosure standards for gems, pearls and jewellery; precious metals: fineness, marking and hallmarking; laws and regulations: labelling, consumer protection, restricted substances, tax and trade; responsible sourcing and supply-chain due diligence; mining, production and trade statistics; industry and business practice), call ask_gem_library with the user's question and answer from its result only.
Show its answer as given, keeping the [n] markers, and list the numbered sources under it with their titles and pages.
Do not add facts, figures, prices or advice that the result does not contain, and do not change which organisation or law a rule is credited to.
If the result says declined=true, show its message as it is and do not answer the question from your own knowledge instead.
Answer in the language the user wrote in.

In Claude, ChatGPT and other assistants

The connector address is https://researchorbit.net/mcp. It offers two tools: ask_gem_library and describe_gem_library.

From the Claude API (Messages API, MCP connector):

curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: mcp-client-2025-11-20" \
  -d '{
    "model": "YOUR_MODEL",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "How should laboratory-grown diamonds be described?"}],
    "mcp_servers": [{"type": "url", "url": "https://researchorbit.net/mcp", "name": "gem-library",
                     "authorization_token": "YOUR_API_KEY"}],
    "tools": [{"type": "mcp_toolset", "mcp_server_name": "gem-library"}]
  }'

From OpenAI's Responses API (remote MCP tool):

curl https://api.openai.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "YOUR_MODEL",
    "input": "How should laboratory-grown diamonds be described?",
    "tools": [{"type": "mcp", "server_label": "gem-library", "server_url": "https://researchorbit.net/mcp",
               "authorization": "YOUR_API_KEY", "require_approval": "never"}]
  }'

These providers change their interfaces from time to time; if a field above has changed, see their documentation for "remote MCP server".

Rules and privacy