This is an example of a GenAI chain that allows to remember the previous conversation in order to provide a more personalized experience.
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-proxy- Run the chain
chat_memory_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 chat_memory_chain/main.py - Invoke the chain using the
POST /invokeendpoint with the following request body:
{
"input": {
"destination": "Sicily",
"input": "When to go?"
}
}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 continue the conversation include the
chat_idreturned in the response of the previous invocation:
{
"input": {
"destination": "Sicily",
"input": "I prefer another season of the year",
"chat_id": "<chat_id_returned_in_the_response>"
}
}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": "chat_memory_chain",
"chain_config": {
"package_id": "chat_memory_chain-0.7.0a0",
"chain_module": "chat_memory_chain.chain",
"chain_class": "MemoryChain",
"chain_params": {
"gateway_endpoint": "openai-gpt-5.4-mini"
}
}
}- Invoke the chain using the
POST /v1/chains/chat_memory_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": {
"destination": "Sicily",
"input": "When to go?"
}
}