Skip to main content

nuclia support for guillotina

Project description

This package lets your Guillotina instance talk to Nuclia. Below is the only thing you have to do: drop the utility in app_settings and export your credentials.

Install

pip install guillotina_nuclia

Configure the Nuclia utility

These are the settings regarding nuclia already configured in the package. You mostly need to set up the next env variables: NUA_KEY, APIKEY, KBID, GENERATIVE_MODEL

import os

app_settings = {
    "load_utilities": {
        "nuclia": {
            # interface that the utility will provide
            "provides": "guillotina_nuclia.utility.INucliaUtility",
            # dotted path to the factory
            "factory": "guillotina_nuclia.utility.NucliaUtility",
            # parameters forwarded to the factory
            "settings": {
                # which LLM model Nuclia will use for generative answers
                "generative_model": os.environ.get("GENERATIVE_MODEL", "chatgpt4o"),
                # your personal Nuclia key (required)
                "nua_key": os.environ.get("NUA_KEY"),
                # hard limit for tokens (optional)
                "max_tokens": os.environ.get("MAX_TOKENS"),
                # Nuclia's API KEY
                "apikey": os.environ.get("APIKEY"),
                # Knowledge Box ID
                "kbid": os.environ.get("KBID", ""),

            },
        }
    }
}

Set the environment variables

Environment variables

Variable

Required

Example value

Description

NUA_KEY

Yes

nua_pk_live_…

API token generated in the Nuclia dashboard.

GENERATIVE_MODEL

No

chatgpt4o (default)

LLM used for ask / predict.

MAX_TOKENS

No

2048

Maximum tokens per answer.

Export them before launching Guillotina:

export NUA_KEY=\"nua_pk_live_your_token_here\"
export KBID=\"Knwoledge box id\"
export API_KEY=\"Nuclia's api key\"
export GENERATIVE_MODEL=\"chatgpt4o\"   # optional
export MAX_TOKENS=2048                 # optional

Done!

Start Guillotina as usual—INucliaUtility is now available everywhere and the built-in routes POST (@NucliaAsk, @NucliaFind, @NucliaPredict, @NucliaSearch, @NucliaAskStream, etc.) will automatically work.

❤️ Happy coding!

1.0.6 (2025-12-16)

  • Adding chat history param in the body @NucliaAsk and @NucliaAskStream [nilbacardit26]

1.0.5 (2025-12-03)

  • Adding stateless chat endpoints. [nilbacardit26]

1.0.4 (2025-09-23)

  • Changing API Endpoint to progress, and adding API_ENDPOINT env variable to be able to customize it

1.0.3 (2025-07-29)

  • Adding retrieval response in @NucliaAskStream [nilbacardit26]

  • Convert all the endpoints from GET to POST. Now the question goes to the body [nilbacardit26]

1.0.2 (2025-07-28)

  • Fixing TypeError: can only concatenate str when kbid is not passed [nilbacardit26]

1.0.1 (2025-07-28)

  • Fixing KBID auth [nilbacardit26]

  • Adding @NucliaAskStream endpoint [nilbacardit26]

1.0.0 (2025-07-23)

  • Initial release [nilbacardit26]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guillotina_nuclia-1.0.6.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

guillotina_nuclia-1.0.6-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file guillotina_nuclia-1.0.6.tar.gz.

File metadata

  • Download URL: guillotina_nuclia-1.0.6.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for guillotina_nuclia-1.0.6.tar.gz
Algorithm Hash digest
SHA256 965c170d288b2667106e634db0f13e9bfab28992ae45b8677c9c9779ea467a22
MD5 cf3caf1355cdffa00127535933996fb7
BLAKE2b-256 48adc3d1bc35ea55a389323b471dafc8d36ca957610ecec55abbf3401608fc84

See more details on using hashes here.

File details

Details for the file guillotina_nuclia-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for guillotina_nuclia-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d606044914d0505b15acfc8c8545c758d09345726eb058ac5e24529be189b293
MD5 ccf80541fe2b566a4f9ae433b1dcf75b
BLAKE2b-256 7a1ff8aa953dd37c90ea67d5f368c6817bdf290ab628de794e3440897827f536

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page