Observed since 21 Oct, 10:40 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
AI Library to authenticate and manage LLM models and vector databases RAGs
ai-factory-model is a modular Python library aimed at integrating with multiple language models (LLMs), cloud providers, and auxiliary utilities for development and infrastructure.
This library is designed to facilitate interaction with LLMs from OpenAI, Azure, Google, and Ollama, also integrating authentication, external configuration, Jinja2 templates, and reusable components.
decouple, YAML)loggersecurityauth_clientsmodel_* (interfaces for different LLMs)From PyPI:
pip install ai-factory-model
Optional modules:
pip install ai-factory-model[google_genai]
pip install ai-factory-model[community]
pip install ai-factory-model[ollama]
pip install ai-factory-model[cohere]
pip install ai-factory-model[pgvector]
To use the model factory, you need to define a series of environment variables that allow connection to the various model hosting services:
AZURE_TENANT_ID = <id_tenant_azure>
AZURE_CLIENT_ID = <id_client_azure>
AZURE_CLIENT_SECRET = <secret_passphrase_azure_client>
AZURE_TOKEN_URL = <azure_url_token>
For enhanced security, there is a connection to KeyVault. To define the connection to the corresponding key store, use:
KV_NAME = <kv_name>
KV_TENANT_ID = <id_kv_tenant>
KV_CLIENT_ID = <id_kv_client>
KV_SECRET = <secret_passphrase_kv>
With the KeyVault connection established, the values to be retrieved from the key store should be specified using the following nomenclature:
VARIABLE_SECRET = kv{name-of-secret-at-kv}
For example:
# Transition from having the secret in raw form
AZURE_CLIENT_SECRET = <secret_passphrase_azure_client>
# To retrieving it from the KV
AZURE_CLIENT_SECRET = kv{<name_secret_azure_client>}
Additionally, if you have a file containing the various model configurations you wish to use, you should specify it with the corresponding variable.
MODELS_CONFIG_FILE = <path_to_models_declarations_file>
Using prompt:
from ai_factory_model import ModelFactory
model = ModelFactory.get_model("azai_gtp4o")
params = ["Eres un guía turístico", "¿Dónde está Plasencia?"]
response = model.prompt(params=params)
print(type(response))
# Output:
# <class 'str'>
print(response)
# Output:
# Plasencia es una ciudad situada en la comunidad autónoma de Extremadura, en el oeste de España. Se encuentra en la provincia de Cáceres, a orillas del río Jerte. Plasencia está aproximadamente a unos 80 kilómetros al norte de la ciudad de Cáceres y a unos 250 kilómetros al oeste de Madrid. Es conocida por su casco histórico, que incluye la Catedral de Plasencia, y por su cercanía al Valle del Jerte, famoso por sus cerezos en flor.
Using langchain instance:
from ai_factory_model import ModelFactory
model = ModelFactory.get_model("azai_gtp4o")
params = ["Eres un guía turístico", "¿Cuál es la capital de España?"]
response = model.get_client.invoke([
{"role": "system", "content": params[0]},
{"role": "user", "content": params[1]}
])
print(type(response))
# Output:
# <class 'langchain_core.messages.ai.AIMessage'>
print(f"{response.content}")
# Output:
# La capital de España es Madrid. Es una ciudad vibrante y llena de historia, conocida por su rica cultura, su arquitectura impresionante y su animada vida nocturna. Además, Madrid alberga importantes museos como el Museo del Prado y el Museo Reina Sofía, así como el Palacio Real y el Parque del Retiro.
Render a template:
from ai_factory_model import ModelFactory, SEP_PATTERN
model = ModelFactory.get_model("azai_gtp4o")
params = {"system": "Eres un guía turístico", "user": "¿Qué visitar en Mérida de Extremadura?"}
template_content = (
f"{{{{ system }}}}"
f"{SEP_PATTERN}"
f"{{{{ user }}}}"
)
prompt_template = Template(template_content)
response = model.prompt_render(
template=prompt_template,
params=params,
sep_pattern=SEP_PATTERN
)
print(type(response))
# Output:
# <class 'str'>
print(f"{response}")
# Output:
# ¡Mérida es una ciudad fascinante llena de historia y patrimonio! Es conocida por su impresionante legado romano, ya que fue una de las ciudades más importantes de la antigua Hispania. Aquí tienes una lista de los lugares imprescindibles que deberías visitar en Mérida: [...]
ai_factory_model/
├── ai_factory_model/
│ ├── __init__.py
│ ├── config/
│ ├── llm/
│ ├── logger/
│ ├── security/
│ ├── vectordb/
├── pyproject.toml
├── requirements.txt
└── README.md
This package requires the followind external libraries:
python-decouplePyYAMLopenaijinja2azure-coreazure-identityazure-keyvault-secretslangchainlangchain-openailangchain-azure-aiazure-search-documentsWith optional extra libraries
pip install ai-factory-model[google_genai]
langchain-google-genaipip install ai-factory-model[community]
langchain-communitypip install ai-factory-model[ollama]
langchain-ollamapip install ai-factory-model[cohere]
langchain-coherepip install ai-factory-model[pgvector]
psycopg[binary]Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.0.12 | 3 May 2026 | 24 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 10:40 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:f20096bf6f17118b4b3b2e7c2d80c82d2a7cf4ff5d64bf2cf57e265497de56cb