Skip to content

0.4.4 dev #759

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 114 commits into from
May 22, 2024
Merged
Show file tree
Hide file tree
Changes from 109 commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
54e7677
Add functionality to toggle metrics without token/authentication + up…
thekaranacharya Apr 26, 2024
9a0a626
add pip requirement
aaravnavani May 8, 2024
7b029bb
remove extra change
aaravnavani May 8, 2024
cd7e660
add utils file and uninstall
aaravnavani May 8, 2024
2a63373
update uninstall and utils
aaravnavani May 8, 2024
5cdbc7c
run poetry lock
aaravnavani May 8, 2024
5985578
poetry lock
aaravnavani May 8, 2024
90632f0
run poetry lock
aaravnavani May 8, 2024
9401a25
separate utils
aaravnavani May 8, 2024
a53ac2b
poetry lock
aaravnavani May 8, 2024
f2fdc78
run poetry lock no update
aaravnavani May 8, 2024
f95d6d5
add pip requirement
aaravnavani May 8, 2024
a63371f
resolve conflict
aaravnavani May 8, 2024
dd25832
import repated methods from utils
aaravnavani May 8, 2024
caec3f4
newline
aaravnavani May 8, 2024
2680b00
fix lint
aaravnavani May 8, 2024
4a7b351
lint
aaravnavani May 8, 2024
36c03e0
Merge pull request #754 from aaravnavani/add-pip-version-pyproject
zsimjee May 8, 2024
263ddb2
utils import
aaravnavani May 9, 2024
1f4d3be
run tests
aaravnavani May 9, 2024
34207a7
add quiet install
aaravnavani May 10, 2024
54c16dd
Fully qualify llm_api namespace path
jonasferoz May 10, 2024
fe23bf9
initial commit for testing async streaming guard
wylansford May 10, 2024
c6fde86
update configure
aaravnavani May 12, 2024
ab464d1
lint + test
aaravnavani May 13, 2024
df88639
lint
aaravnavani May 13, 2024
1f0cb81
Merge branch 'main' into hub_uninstall
aaravnavani May 13, 2024
458d527
test install
aaravnavani May 13, 2024
fad7a23
test
aaravnavani May 13, 2024
49f03f5
run tests
aaravnavani May 13, 2024
0df7de9
lint fix
aaravnavani May 13, 2024
8ccc271
pytest
aaravnavani May 13, 2024
1356c62
test
aaravnavani May 13, 2024
c50d617
test
aaravnavani May 13, 2024
177ee63
move log into if statement
aaravnavani May 13, 2024
c21cba0
set quiet to false
aaravnavani May 13, 2024
2274990
fix messages
aaravnavani May 13, 2024
7bf141c
remove newline
aaravnavani May 13, 2024
58d5da4
lint
aaravnavani May 13, 2024
697325f
fix newline
aaravnavani May 13, 2024
4dd3a47
fix test
aaravnavani May 13, 2024
65ce912
lint + module manifest import
aaravnavani May 13, 2024
2192525
bytes header parser
aaravnavani May 13, 2024
0c9d65e
byte parser
aaravnavani May 13, 2024
3b79ab1
pip process
aaravnavani May 13, 2024
66a6c18
type error
aaravnavani May 13, 2024
2477ffd
pip process type
aaravnavani May 13, 2024
0051a4a
change [] to get
aaravnavani May 13, 2024
cd19e1e
pip process
aaravnavani May 13, 2024
8c30125
pip process
aaravnavani May 13, 2024
7182a31
print statement
aaravnavani May 13, 2024
45d28c6
.get
aaravnavani May 13, 2024
c6c5759
test uninstall
aaravnavani May 13, 2024
7d3572e
lint
aaravnavani May 13, 2024
c6c5d66
fix uninstall test
aaravnavani May 13, 2024
c197a57
imports
aaravnavani May 13, 2024
5013090
pip process
aaravnavani May 13, 2024
a8fefe6
fix import
aaravnavani May 13, 2024
b7deef2
Adding async guard, test, and deprecating async calls in Guard()
wylansford May 13, 2024
58f8e2d
removing extra deprecation warning
wylansford May 13, 2024
1442c48
removing unused test
wylansford May 13, 2024
f80285a
fixing init
wylansford May 13, 2024
f25a6d9
fix import
aaravnavani May 14, 2024
6429f07
update test uninstall
aaravnavani May 14, 2024
42d573c
lint + uninstall
aaravnavani May 14, 2024
928818d
lint + uninstall
aaravnavani May 14, 2024
eb5a9e0
noqa
aaravnavani May 15, 2024
7a31ac6
address comments
aaravnavani May 16, 2024
80b8f7c
add quiet install test and fix lint
aaravnavani May 16, 2024
60ae651
logger log
aaravnavani May 16, 2024
57f27d5
fix test
aaravnavani May 16, 2024
7b1f5c7
logger log
aaravnavani May 16, 2024
4594186
test install
aaravnavani May 16, 2024
3f85d17
fix test uninstall
aaravnavani May 16, 2024
f576169
uninstall test
aaravnavani May 16, 2024
af6b72e
Updating Async guard to inherit from guard
wylansford May 16, 2024
64f2bd1
fixing sequential -> synchronous in guard deprecations
wylansford May 16, 2024
88cd5dc
__call__ is now async to match standard llm apis rather than handling…
wylansford May 16, 2024
2d95bcb
removing duplicated line
wylansford May 17, 2024
f7b7e0c
Merge pull request #765 from aaravnavani/quiet_hub_install
zsimjee May 17, 2024
6900497
Merge pull request #767 from guardrails-ai/async_guard
zsimjee May 17, 2024
47514ac
lint
aaravnavani May 17, 2024
268e1dd
Merge pull request #757 from aaravnavani/hub_uninstall
zsimjee May 17, 2024
be1af00
Merge pull request #774 from aaravnavani/configure_update
zsimjee May 17, 2024
ddd5410
update tiktoken to >=15.0.1
zsimjee May 17, 2024
3b5707e
use updated types in async guard
zsimjee May 17, 2024
5f679f0
Merge pull request #775 from guardrails-ai/update-deps-044
zsimjee May 17, 2024
a7daf99
fix config
zsimjee May 17, 2024
115c329
Merge pull request #776 from guardrails-ai/configure-changes
zsimjee May 17, 2024
8c3bb7a
Merge pull request #764 from jonasferoz/fully-qualify-llm-api-path
zsimjee May 18, 2024
883ad03
bump version, lint
zsimjee May 18, 2024
4aea81c
typing
zsimjee May 18, 2024
b5b1c59
update litellm
zsimjee May 18, 2024
16432b9
update openai
zsimjee May 18, 2024
4e33ae3
pkg lock
zsimjee May 18, 2024
82d0e5c
fix pip process so quiet install works
aaravnavani May 19, 2024
d761c2b
remove warnings
aaravnavani May 20, 2024
4f3c9bb
Merge pull request #778 from aaravnavani/fix_quiet_install
zsimjee May 20, 2024
84e9498
fix quiet install, workflow tests
zsimjee May 20, 2024
cba33ad
update bug_free_python nb
zsimjee May 20, 2024
d97368c
fix competitor_check lib
zsimjee May 20, 2024
8cb27bc
more notebook fixes, lint
zsimjee May 21, 2024
c6dfaa5
install latest openai v in checks
zsimjee May 21, 2024
251deee
config updates
zsimjee May 21, 2024
b903017
fix uninstall issues
zsimjee May 21, 2024
c55f001
handle auth exceptions
zsimjee May 22, 2024
3ae8d67
do not blow up config on auth failure
zsimjee May 22, 2024
0a174ec
address warnings and comments on notebooks
zsimjee May 22, 2024
f773daf
fix extraction notebooks
zsimjee May 22, 2024
ce6c39b
os.removedirs -> shutil.rmtree
zsimjee May 22, 2024
8556fc7
disable -> enable in prompt for metrics
zsimjee May 22, 2024
14f94d9
fix tests and default token empty state
zsimjee May 22, 2024
ae79ac9
remove redundant auth printout
zsimjee May 22, 2024
7dc0819
fix auth flow, error handling
zsimjee May 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
pydantic-version: ["1.10.9", "2.4.2"]
openai-version: ["1.2.4"]
openai-version: ["1.30.1"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand Down Expand Up @@ -87,7 +87,7 @@ jobs:
# dependencies: ['dev', 'full']
dependencies: ["full"]
pydantic-version: ["1.10.9", "2.4.2"]
openai-version: ["1.2.4"]
openai-version: ["1.30.1"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand Down
205 changes: 83 additions & 122 deletions docs/examples/bug_free_python_code.ipynb

Large diffs are not rendered by default.

202 changes: 22 additions & 180 deletions docs/examples/check_for_pii.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -14,149 +14,61 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.0.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.3.1\u001b[0m\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n",
"/home/zayd/workspace/guardrails/.venv/lib/python3.9/site-packages/torch/cuda/__init__.py:611: UserWarning: Can't initialize NVML\n",
" warnings.warn(\"Can't initialize NVML\")\n",
"\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.0.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.3.1\u001b[0m\n",
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n",
"\u001b[38;5;2m✔ Download and installation successful\u001b[0m\n",
"You can now load the package via spacy.load('en_core_web_lg')\n"
"You can now load the package via spacy.load('en_core_web_lg')\n",
"Installing hub:\u001b[35m/\u001b[0m\u001b[35m/guardrails/\u001b[0m\u001b[95mdetect_pii...\u001b[0m\n",
"✅Successfully installed guardrails/detect_pii!\n",
"\n",
"\n"
]
}
],
"source": [
"# Install the necessary packages\n",
"! pip install presidio-analyzer presidio-anonymizer -q\n",
"! python -m spacy download en_core_web_lg -q"
"! python -m spacy download en_core_web_lg -q\n",
"\n",
"! guardrails hub install hub://guardrails/detect_pii --quiet"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/zayd/workspace/guardrails/.venv/lib/python3.9/site-packages/torch/cuda/__init__.py:611: UserWarning: Can't initialize NVML\n",
" warnings.warn(\"Can't initialize NVML\")\n"
]
}
],
"outputs": [],
"source": [
"# Import the guardrails package\n",
"from guardrails.hub import DetectPII\n",
"import guardrails as gd\n",
"from guardrails.validators import PIIFilter\n",
"from rich import print"
]
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"nlp_engine not provided, creating default.\n",
"configuration file /home/zayd/workspace/guardrails/.venv/lib/python3.9/site-packages/conf/default.yaml not found. Using default config: {'nlp_engine_name': 'spacy', 'models': [{'lang_code': 'en', 'model_name': 'en_core_web_lg'}]}.\n",
"configuration file is missing 'ner_model_configuration'. Using default\n",
"model_to_presidio_entity_mapping is missing from configuration, using default\n",
"low_score_entity_names is missing from configuration, using default\n",
"labels_to_ignore is missing from configuration, using default\n",
"Created NLP engine: spacy. Loaded models: ['en']\n",
"registry not provided, creating default.\n",
"Loaded recognizer: UsBankRecognizer\n",
"Loaded recognizer: UsLicenseRecognizer\n",
"Loaded recognizer: UsItinRecognizer\n",
"Loaded recognizer: UsPassportRecognizer\n",
"Loaded recognizer: UsSsnRecognizer\n",
"Loaded recognizer: NhsRecognizer\n",
"Loaded recognizer: SgFinRecognizer\n",
"Loaded recognizer: AuAbnRecognizer\n",
"Loaded recognizer: AuAcnRecognizer\n",
"Loaded recognizer: AuTfnRecognizer\n",
"Loaded recognizer: AuMedicareRecognizer\n",
"Loaded recognizer: InPanRecognizer\n",
"Loaded recognizer: CreditCardRecognizer\n",
"Loaded recognizer: CryptoRecognizer\n",
"Loaded recognizer: DateRecognizer\n",
"Loaded recognizer: EmailRecognizer\n",
"Loaded recognizer: IbanRecognizer\n",
"Loaded recognizer: IpRecognizer\n",
"Loaded recognizer: MedicalLicenseRecognizer\n",
"Loaded recognizer: PhoneRecognizer\n",
"Loaded recognizer: UrlRecognizer\n",
"Loaded recognizer: SpacyRecognizer\n",
"nlp_engine not provided, creating default.\n",
"configuration file /home/zayd/workspace/guardrails/.venv/lib/python3.9/site-packages/conf/default.yaml not found. Using default config: {'nlp_engine_name': 'spacy', 'models': [{'lang_code': 'en', 'model_name': 'en_core_web_lg'}]}.\n",
"configuration file is missing 'ner_model_configuration'. Using default\n",
"model_to_presidio_entity_mapping is missing from configuration, using default\n",
"low_score_entity_names is missing from configuration, using default\n",
"labels_to_ignore is missing from configuration, using default\n",
"Created NLP engine: spacy. Loaded models: ['en']\n",
"registry not provided, creating default.\n",
"Loaded recognizer: UsBankRecognizer\n",
"Loaded recognizer: UsLicenseRecognizer\n",
"Loaded recognizer: UsItinRecognizer\n",
"Loaded recognizer: UsPassportRecognizer\n",
"Loaded recognizer: UsSsnRecognizer\n",
"Loaded recognizer: NhsRecognizer\n",
"Loaded recognizer: SgFinRecognizer\n",
"Loaded recognizer: AuAbnRecognizer\n",
"Loaded recognizer: AuAcnRecognizer\n",
"Loaded recognizer: AuTfnRecognizer\n",
"Loaded recognizer: AuMedicareRecognizer\n",
"Loaded recognizer: InPanRecognizer\n",
"Loaded recognizer: CreditCardRecognizer\n",
"Loaded recognizer: CryptoRecognizer\n",
"Loaded recognizer: DateRecognizer\n",
"Loaded recognizer: EmailRecognizer\n",
"Loaded recognizer: IbanRecognizer\n",
"Loaded recognizer: IpRecognizer\n",
"Loaded recognizer: MedicalLicenseRecognizer\n",
"Loaded recognizer: PhoneRecognizer\n",
"Loaded recognizer: UrlRecognizer\n",
"Loaded recognizer: SpacyRecognizer\n"
]
}
],
"outputs": [],
"source": [
"# Create Guard object with this validator\n",
"# One can specify either pre-defined set of PII or SPI (Sensitive Personal Information) entities by passing in the `pii` or `spi` argument respectively.\n",
"# It can be passed either durring intialization or later through the metadata argument in parse method.\n",
"\n",
"# One can also pass in a list of entities supported by Presidio to the `pii_entities` argument.\n",
"guard = gd.Guard.from_string(\n",
" validators=[PIIFilter(pii_entities=\"pii\", on_fail=\"fix\")],\n",
" description=\"testmeout\",\n",
")"
"guard = gd.Guard().use(DetectPII(pii_entities=\"pii\", on_fail=\"fix\"))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Entity DOMAIN_NAME doesn't have the corresponding recognizer in language : en\n"
]
},
{
"data": {
"text/html": [
Expand Down Expand Up @@ -203,7 +115,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 14,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -253,88 +165,18 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"nlp_engine not provided, creating default.\n",
"configuration file /home/zayd/workspace/guardrails/.venv/lib/python3.9/site-packages/conf/default.yaml not found. Using default config: {'nlp_engine_name': 'spacy', 'models': [{'lang_code': 'en', 'model_name': 'en_core_web_lg'}]}.\n",
"configuration file is missing 'ner_model_configuration'. Using default\n",
"model_to_presidio_entity_mapping is missing from configuration, using default\n",
"low_score_entity_names is missing from configuration, using default\n",
"labels_to_ignore is missing from configuration, using default\n",
"Created NLP engine: spacy. Loaded models: ['en']\n",
"registry not provided, creating default.\n",
"Loaded recognizer: UsBankRecognizer\n",
"Loaded recognizer: UsLicenseRecognizer\n",
"Loaded recognizer: UsItinRecognizer\n",
"Loaded recognizer: UsPassportRecognizer\n",
"Loaded recognizer: UsSsnRecognizer\n",
"Loaded recognizer: NhsRecognizer\n",
"Loaded recognizer: SgFinRecognizer\n",
"Loaded recognizer: AuAbnRecognizer\n",
"Loaded recognizer: AuAcnRecognizer\n",
"Loaded recognizer: AuTfnRecognizer\n",
"Loaded recognizer: AuMedicareRecognizer\n",
"Loaded recognizer: InPanRecognizer\n",
"Loaded recognizer: CreditCardRecognizer\n",
"Loaded recognizer: CryptoRecognizer\n",
"Loaded recognizer: DateRecognizer\n",
"Loaded recognizer: EmailRecognizer\n",
"Loaded recognizer: IbanRecognizer\n",
"Loaded recognizer: IpRecognizer\n",
"Loaded recognizer: MedicalLicenseRecognizer\n",
"Loaded recognizer: PhoneRecognizer\n",
"Loaded recognizer: UrlRecognizer\n",
"Loaded recognizer: SpacyRecognizer\n",
"nlp_engine not provided, creating default.\n",
"configuration file /home/zayd/workspace/guardrails/.venv/lib/python3.9/site-packages/conf/default.yaml not found. Using default config: {'nlp_engine_name': 'spacy', 'models': [{'lang_code': 'en', 'model_name': 'en_core_web_lg'}]}.\n",
"configuration file is missing 'ner_model_configuration'. Using default\n",
"model_to_presidio_entity_mapping is missing from configuration, using default\n",
"low_score_entity_names is missing from configuration, using default\n",
"labels_to_ignore is missing from configuration, using default\n",
"Created NLP engine: spacy. Loaded models: ['en']\n",
"registry not provided, creating default.\n",
"Loaded recognizer: UsBankRecognizer\n",
"Loaded recognizer: UsLicenseRecognizer\n",
"Loaded recognizer: UsItinRecognizer\n",
"Loaded recognizer: UsPassportRecognizer\n",
"Loaded recognizer: UsSsnRecognizer\n",
"Loaded recognizer: NhsRecognizer\n",
"Loaded recognizer: SgFinRecognizer\n",
"Loaded recognizer: AuAbnRecognizer\n",
"Loaded recognizer: AuAcnRecognizer\n",
"Loaded recognizer: AuTfnRecognizer\n",
"Loaded recognizer: AuMedicareRecognizer\n",
"Loaded recognizer: InPanRecognizer\n",
"Loaded recognizer: CreditCardRecognizer\n",
"Loaded recognizer: CryptoRecognizer\n",
"Loaded recognizer: DateRecognizer\n",
"Loaded recognizer: EmailRecognizer\n",
"Loaded recognizer: IbanRecognizer\n",
"Loaded recognizer: IpRecognizer\n",
"Loaded recognizer: MedicalLicenseRecognizer\n",
"Loaded recognizer: PhoneRecognizer\n",
"Loaded recognizer: UrlRecognizer\n",
"Loaded recognizer: SpacyRecognizer\n"
]
}
],
"outputs": [],
"source": [
"# Let's try with SPI entities\n",
"# Create a new guard object\n",
"guard = gd.Guard.from_string(\n",
" validators=[PIIFilter(pii_entities=\"spi\", on_fail=\"fix\")],\n",
" description=\"testmeout\",\n",
")"
"guard = gd.Guard().use(DetectPII(pii_entities=\"spi\", on_fail=\"fix\"))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 16,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -384,7 +226,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 17,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -450,7 +292,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.17"
"version": "3.10.0"
}
},
"nbformat": 4,
Expand Down
Loading
Loading