This is an example chain to show how to run queries in Virtualizer from a chain.
To set up the chain locally, follow the steps in the main README of this repository. Here is a summary of the steps:
-
Make sure you have Python >= 3.11 (GenAI-API uses Python 3.12 to deploy the chain) and Poetry >= 2.2 installed.
-
Edit the
pyproject.tomland change the URL of thestratio-releasesrepository. You should use the URL of the Stratio GenAI Developer Proxy Load Balancer including path "/service/genai-api/v1/pypi/simple".
[[tool.poetry.source]]
name = "stratio-releases"
url = "https://genai-developer-proxy-loadbalancer.your-tenant-genai.yourdomain.com:8080/service/genai-api/v1/pypi/simple/"
priority = "supplemental"- Install the dependencies with Poetry. Replace
/path/to/your/cert/folder/ca-cert.crtwith the path to the CA certificate file.
$ poetry config virtualenvs.in-project true
$ poetry config certificates.stratio-releases.cert /path/to/your/cert/folder/ca-cert.crt
$ poetry lock --no-update
$ poetry install- Configure the environment variables running the
local-envPoetry script. You will find the environment variables in the files.local_env/genai-env.envand.local_env/genai-env.sh.
poetry run local-env --certs_path /path/to/certs --developer_proxy_url https://genai.your-tenant.yourdomain.com/genai-developer-proxyPlease note that the Virtualizer host, when using the Stratio GenAI Developer Proxy, should be configured with the value provided by the Stratio GenAI Developer Proxy.
- Run the chain
virtualizer_chain/main.py. You can do it in the terminal or in PyCharm. You can open the Swagger UI in the URLhttp://127.0.0.1:8080/.
poetry run python virtualizer_chain/main.py- Invoke the chain using the
POST /invokeendpoint with the following request body:
{
"input": {
"query": "SELECT 1 as id"
}
}The user credentials are automatically injected from the environment variables configured by the
local-envscript in step 4. No need to include them in the request body.
To deploy the chain in the Stratio GenAI API, follow the steps in the main README of this repository. Here is a summary of the steps:
- Build the chain package with the command
poetry build. - Open the Swagger UI of the Stratio GenAI API installed in your development environment.
- Upload the chain package with the endpoint
POST /v1/packages. - Deploy the chain with the endpoint
POST /v1/chainsand the request body:
{
"chain_id": "virtualizer_chain",
"chain_config": {
"package_id": "virtualizer_chain-0.7.0a0",
"chain_module": "virtualizer_chain.chain",
"chain_class": "VirtualizerChain",
"chain_params": {
"virtualizer_host": "virtualizer.s000001-apps",
"virtualizer_port": "13422"
}
}
}- Invoke the chain using the
POST /v1/chains/virtualizer_chain/invokeendpoint with the following request body. You don't need to include your credentials in the metadata, GenAI API will set them automatically:
{
"input": {
"query": "SELECT 1 as id"
}
}