diff --git a/juddges/_modidx.py b/juddges/_modidx.py index b226945..effd5a7 100644 --- a/juddges/_modidx.py +++ b/juddges/_modidx.py @@ -5,4 +5,7 @@ 'doc_host': 'https://laugustyniak.github.io', 'git_url': 'https://github.com/laugustyniak/juddges', 'lib_path': 'juddges'}, - 'syms': {'juddges.data.pl_court_api': {}, 'juddges.prompts.information_extraction': {}, 'juddges.settings': {}}} + 'syms': { 'juddges.data.models': {}, + 'juddges.data.pl_court_api': {}, + 'juddges.prompts.information_extraction': {}, + 'juddges.settings': {}}} diff --git a/juddges/data/models.py b/juddges/data/models.py new file mode 100644 index 0000000..1307b1a --- /dev/null +++ b/juddges/data/models.py @@ -0,0 +1,16 @@ +import os + +from pymongo import MongoClient + +if os.environ.get("MONGO_URI", None) is None: + raise Exception("Missing `MONGO_URI` environment variable.") + + +if os.environ.get("MONGO_DB_NAME", None) is None: + raise Exception("Missing `MONGO_DB_NAME` environment variable.") + + +def get_mongo_collection(collection_name: str): + client = MongoClient(os.environ["MONGO_URI"]) + db = client[os.environ["MONGO_DB_NAME"]] + return db[collection_name] diff --git a/nbs/Data/00_prepare_instruction_dataset_for_ir.ipynb b/nbs/Data/00_prepare_instruction_dataset_for_ir.ipynb index 9c5780d..1ad8d2f 100644 --- a/nbs/Data/00_prepare_instruction_dataset_for_ir.ipynb +++ b/nbs/Data/00_prepare_instruction_dataset_for_ir.ipynb @@ -1,345 +1,469 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Schema-based information retrieval from judgements\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# | eval: false\n", - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# | eval: false\n", - "from loguru import logger\n", - "\n", - "import mlflow\n", - "\n", - "from juddges.prompts.information_extraction import prepare_information_extraction_chain, SCHEMA\n", - "from juddges.settings import prepare_langchain_cache, prepare_mlflow\n", - "from juddges.data.pl_court_api import PolishCourtAPI" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2024/03/27 09:27:19 INFO mlflow.tracking.fluent: Experiment with name 'Juddges-Information-Extraction' does not exist. Creating a new experiment.\n" - ] - } - ], - "source": [ - "# |eval: false\n", - "prepare_langchain_cache()\n", - "prepare_mlflow()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2" - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# | eval: false\n", - "logger.add(level=\"INFO\", sink=\"../../logs/ir_judgments.log\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "LLM_NAME = \"gpt-4-0125-preview\"\n", - "PROMPT_VERSION = \"initial-ir\"\n", - "LANGUAGE = \"Polish\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# | eval: false\n", - "mlflow.start_run(run_name=f\"{PROMPT_VERSION}-{LLM_NAME}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# | eval: false\n", - "api = PolishCourtAPI()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# | eval: false\n", - "judgement = api.get_content(id=\"155000000001006_II_AKa_000334_2019_Uz_2020-02-06_001\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'\\n\\n Wyrok\\n \\n \\n Sygn. akt II AKa 334/19\\n \\n \\n WYROK\\n W IMIENIU RZECZYPOSPOLITEJ POLSKIEJ\\n Dnia 6 lutego 2020 r.\\n Sąd Apelacyjny we Wrocławiu II Wydział Karny w składzie:\\n Przewodniczący: sędzia SA Cezariusz Baćkowski\\n Sędziowie: SA Piotr Kaczmarek (spr.)\\n SA Robert Zdych\\n Protokolant: Wiktoria Dąbrowicz\\n przy udziale prokuratora Prokuratury (...) we W. Zbigniewa Jaworskiego\\n po rozpoznaniu w dniu 20 grudnia 2019 r., 31 stycznia 2020 r. i 6 lutego 2020 r.\\n sprawy:A. D. (D.)\\n oskarżonego z art. 258 § 1 k.k., z art. 55 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k., z art. 56 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k., z art. 18 § 3 k.k. w zw. z art. 299 § 1 k.k. w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k.\\n R. M. \\n oskarżonego z art. 258 § 1 k.k., z art. 55 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k., z art. 56 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k., z art. 299 § 1 k.k. w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k.\\n E. L. (L.)\\n oskarżonej z art. 299 § 1 k.k. w zw. z art. 12 k.k. \\n R. P. \\n oskarżonego z art. 56 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n L. L. (L.)\\n\\n oskarżonego z art. 258 § 1 k.k., z art. 18 § 1 k.k. w zw. z art. 55 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k. w zw. z art. 64 § 1 k.k., z art. 18 § 1 k.k. w zw. z art. 56 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k. w zw. z art. 64 § 1 k.k., z art. 18 § 1 k.k. w zw. z art. 299 § 1 k.k. w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k.\\n na skutek apelacji wniesionej przez oskarżonych\\n od wyroku Sądu Okręgowego w Świdnicy \\n z dnia 5 kwietnia 2019 r., sygn. akt III K 52/17\\n \\n I\\n zmienia zaskarżony wyrok: \\n \\n \\n 1\\n co do oskarżonego \\n R. M.\\n w ten sposób, że:\\n \\n \\n a\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie I, stwierdzając, że utraciło moc orzeczenie o karze łącznej pozbawienia wolności zawarte w punkcie VII,\\n \\n \\n b\\n w przestępstwach przypisanych w punkcie II i IV pomija ustalenie o działaniu w ramach zorganizowanej grupy przestępczej, w miejsce ustalenia o przekazaniu R. P., przyjmuje ustalenie o przekazaniu innej osobie oraz w kwalifikacji prawnej pomija art. 65 § 1 k.k.,\\n \\n \\n c\\n \\n \\n \\n \\n w przestępstwie przypisanym w punkcie V pomija ustalenie o działaniu w ramach zorganizowanej grupy przestępczej, w miejsce ustalenia o przekazaniu E. L. przyjmuje przekazanie innej osobie, w miejsce ustalenia o działaniu wspólnie i w porozumieniu z L. L. przyjmuje ustalenie o działaniu wspólnie i w porozumieniu z inną osobą oraz w kwalifikacji prawnej pomija art. 65 § 1 k.k. ,\\n\\n \\n \\n d\\n uchyla orzeczenie o przepadku równowartości części korzyści zawarte w punkcie VI;\\n \\n \\n 2\\n co do oskarżonego \\n A. D.\\n w ten sposób, że:\\n \\n \\n a\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie VIII, stwierdzając, że utraciło moc orzeczenie o karze łącznej pozbawienia wolności zawarte w punkcie XIV,\\n \\n \\n b\\n w przestępstwach przypisanych w punkcie IX i XI pomija ustalenie o działaniu w ramach zorganizowanej grupy przestępczej, w miejsce ustalenia o przekazaniu R. P., przyjmuje ustalenie o przekazaniu innej osobie oraz w kwalifikacji prawnej pomija art. 65 § 1 k.k.,\\n \\n \\n c\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie XII, stwierdzając, że straciło moc orzeczenie o przepadku równowartości części korzyści zawarte w punkcie XIV;\\n \\n \\n 3\\n co do oskarżonego \\n R. P.\\n w ten sposób, że uniewinnia oskarżonego od przestępstwa przypisanego w punkcie XV;\\n \\n \\n 4\\n co do oskarżonej \\n E. L.\\n w ten sposób, że uniewinnia oskarżoną od przestępstwa przypisanego w punkcie XVII\\n \\n \\n 5\\n \\n \\n co do oskarżonego \\n \\n L. L.\\n w ten sposób, że:\\n\\n \\n \\n a\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie XIX, stwierdzając, że utraciło moc orzeczenie o karze łącznej pozbawienia wolności zawarte w punkcie XXV,\\n \\n \\n b\\n w przestępstwach przypisanych w punkcie XX i XXII pomija ustalenie o działaniu w ramach zorganizowanej grupy przestępczej, w miejsce ustalenia o ustalaniu terminów i okoliczności odbioru przez R. P., przyjmuje ustalenie o ustalaniu terminów i okoliczności odbioru przez inną osobę oraz w kwalifikacji prawnej pomija art. 65 § 1 k.k.,\\n \\n \\n c\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie XXIII, stwierdzając, że straciło moc orzeczenie o przepadku równowartości części korzyści zawarte w punkcie XXIV,\\n \\n \\n II\\n \\n \\n w pozostałym zakresie zaskarżony wyrok co do oskarżonych R. M., A. D. i L. L. utrzymuje w mocy;\\n\\n \\n \\n III\\n na podstawie art. 85 § 1 k.k. i art. 86 § 1 k.k. łączy kary pozbawienia wolności wymierzone oskarżonym:\\n \\n - R. M. w punkcie II i IV i wymierza karę łączną 4 (czterech) lat i 6 (sześciu) miesięcy pozbawienia wolności,\\n - A. D. w punkcie IX i XI i wymierza karę łączną 4 (czterech) lat pozbawienia wolności,\\n \\n \\n - L. L. w punkcie XX i XXII i wymierza karę łączną 5 (pięciu) lat i 6 (sześciu) miesięcy pozbawienia wolności;\\n\\n \\n IV\\n na podstawie art. 63 § 1 k.k. na poczet orzeczonych kar pozbawienia wolności zalicza:\\n \\n - oskarżonemu R. M. okresy zatrzymania od 1 grudnia 2015 roku do 3 grudnia 2015 roku oraz od 25 stycznia 2017 roku do 26 stycznia 2017 roku;\\n - oskarżonemu A. D. okresy zatrzymania i tymczasowego aresztowania od 20 czerwca 2015 roku do 12 listopada 2015 roku oraz od 25 stycznia 2017 roku do 26 stycznia 2017 roku;\\n \\n \\n - oskarżonemu L. L. okres tymczasowego aresztowania w sprawie od 26 stycznia 2019 roku do 5 kwietnia 2019 roku;\\n\\n \\n V\\n wydatkami związanymi z postępowaniem, w części której nastąpiło uniewinnienie obciąża Skarb Państwa, w pozostałym zakresie zwalniając oskarżonych od kosztów za postępowanie odwoławcze.\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n Piotr Kaczmarek\\n \\n \\n Cezariusz Baćkowski\\n \\n \\n Robert Zdych\\n \\n \\n \\n \\n \\n\\n'" - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# | eval: false\n", - "judgement" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "defendant_gender: string\n", - "defendant_age: integer\n", - "defendant_relationship_status: string\n", - "defendant_has_children: boolean\n", - "defendant_homeless: boolean\n", - "appellant: string\n", - "appeal_against: string\n", - "defendant_plead_or_convicted: string \"guilty plea\" or \"convicted at trial\"\n", - "jury_unanimous: string \"unanimous\" or \"other\"\n", - "first_trial: boolean\n", - "drug_offence: boolean\n", - "original_sentence: string\n", - "tried_court_type: string \"Crown\" or \"magistrates'\"\n", - "single_transaction_multiple_offence: boolean\n", - "multiple_transactions_period: string \"within 1 year\" or \"more than 1 year\"\n", - "concurrent_or_consecutive_sentence: string \"concurrently\" or \"consecutively\"\n", - "sentence_on_top_existing: boolean\n", - "sentence_adding_up: boolean\n", - "sentence_leniency: string \"unduly lenient\" or \"too excessive\"\n", - "guilty_plea_reduction_reason: string\n", - "sentence_discount_mention: boolean\n", - "totality_issues_similar_offences: boolean\n", - "sentence_proportionality_mention: boolean\n", - "sentence_type_issues_totality: boolean\n", - "sentence_adjustment_mention: boolean\n", - "offender_culpability_determination: boolean\n", - "harm_caused_determination: boolean\n", - "offence_seriousness: boolean\n", - "aggravating_factors: string list of factors excluding previous convictions\n", - "previous_convictions_similarity: string \"similar\" or \"dissimilar\"\n", - "mitigating_factors: string list of factors\n", - "immediate_sentence_concurrency: boolean\n", - "totality_conflicting_guidelines: boolean\n", - "totality_principle_misapplication: boolean\n", - "\n" - ] - } - ], - "source": [ - "# | eval: false\n", - "print(SCHEMA)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/opt/conda/lib/python3.10/site-packages/langchain_core/_api/deprecation.py:117: LangChainDeprecationWarning: The class `langchain_community.chat_models.openai.ChatOpenAI` was deprecated in langchain-community 0.0.10 and will be removed in 0.2.0. An updated version of the class exists in the langchain-openai package and should be used instead. To use it run `pip install -U langchain-openai` and import as `from langchain_openai import ChatOpenAI`.\n", - " warn_deprecated(\n" - ] - } - ], - "source": [ - "# | eval: false\n", - "chain = prepare_information_extraction_chain()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2024/03/27 09:29:37 WARNING mlflow.utils.environment: Encountered an unexpected error while inferring pip requirements (model URI: /tmp/tmp7k1s9dgb/model, flavor: langchain). Fall back to return ['langchain==0.1.13', 'pydantic==2.6.4', 'cloudpickle==3.0.0']. Set logging level to DEBUG to see the full traceback. \n" - ] - } - ], - "source": [ - "# | eval: false\n", - "logged_model = mlflow.langchain.log_model(chain, \"langchain_model\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'\\ndefendant_gender: string\\ndefendant_age: integer\\ndefendant_relationship_status: string\\ndefendant_has_children: boolean\\ndefendant_homeless: boolean\\nappellant: string\\nappeal_against: string\\ndefendant_plead_or_convicted: string \"guilty plea\" or \"convicted at trial\"\\njury_unanimous: string \"unanimous\" or \"other\"\\nfirst_trial: boolean\\ndrug_offence: boolean\\noriginal_sentence: string\\ntried_court_type: string \"Crown\" or \"magistrates\\'\"\\nsingle_transaction_multiple_offence: boolean\\nmultiple_transactions_period: string \"within 1 year\" or \"more than 1 year\"\\nconcurrent_or_consecutive_sentence: string \"concurrently\" or \"consecutively\"\\nsentence_on_top_existing: boolean\\nsentence_adding_up: boolean\\nsentence_leniency: string \"unduly lenient\" or \"too excessive\"\\nguilty_plea_reduction_reason: string\\nsentence_discount_mention: boolean\\ntotality_issues_similar_offences: boolean\\nsentence_proportionality_mention: boolean\\nsentence_type_issues_totality: boolean\\nsentence_adjustment_mention: boolean\\noffender_culpability_determination: boolean\\nharm_caused_determination: boolean\\noffence_seriousness: boolean\\naggravating_factors: string list of factors excluding previous convictions\\nprevious_convictions_similarity: string \"similar\" or \"dissimilar\"\\nmitigating_factors: string list of factors\\nimmediate_sentence_concurrency: boolean\\ntotality_conflicting_guidelines: boolean\\ntotality_principle_misapplication: boolean\\n'" - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# | eval: false\n", - "mlflow.log_param(\"prompt_version\", PROMPT_VERSION)\n", - "mlflow.log_param(\"llm_name\", LLM_NAME)\n", - "mlflow.log_param(\"language\", LANGUAGE)\n", - "mlflow.log_param(\"schema\", SCHEMA)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# | eval: false\n", - "retrieved_informations = chain.invoke({\"LANGUAGE\": LANGUAGE, \"TEXT\": judgement, \"SCHEMA\": SCHEMA})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'defendant_gender': '',\n", - " 'defendant_age': 0,\n", - " 'defendant_relationship_status': '',\n", - " 'defendant_has_children': False,\n", - " 'defendant_homeless': False,\n", - " 'appellant': 'oskarżeni',\n", - " 'appeal_against': 'wyrok Sądu Okręgowego w Świdnicy z dnia 5 kwietnia 2019 r., sygn. akt III K 52/17',\n", - " 'defendant_plead_or_convicted': '',\n", - " 'jury_unanimous': '',\n", - " 'first_trial': False,\n", - " 'drug_offence': True,\n", - " 'original_sentence': '',\n", - " 'tried_court_type': '',\n", - " 'single_transaction_multiple_offence': False,\n", - " 'multiple_transactions_period': '',\n", - " 'concurrent_or_consecutive_sentence': '',\n", - " 'sentence_on_top_existing': False,\n", - " 'sentence_adding_up': False,\n", - " 'sentence_leniency': '',\n", - " 'guilty_plea_reduction_reason': '',\n", - " 'sentence_discount_mention': False,\n", - " 'totality_issues_similar_offences': False,\n", - " 'sentence_proportionality_mention': False,\n", - " 'sentence_type_issues_totality': False,\n", - " 'sentence_adjustment_mention': False,\n", - " 'offender_culpability_determination': False,\n", - " 'harm_caused_determination': False,\n", - " 'offence_seriousness': False,\n", - " 'aggravating_factors': [],\n", - " 'previous_convictions_similarity': '',\n", - " 'mitigating_factors': [],\n", - " 'immediate_sentence_concurrency': False,\n", - " 'totality_conflicting_guidelines': False,\n", - " 'totality_principle_misapplication': False}" - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# | eval: false\n", - "retrieved_informations" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "python3", - "language": "python", - "name": "python3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Schema-based information retrieval from judgements\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# | eval: false\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# | eval: false\n", + "from loguru import logger\n", + "\n", + "import mlflow\n", + "\n", + "from juddges.prompts.information_extraction import prepare_information_extraction_chain, SCHEMA\n", + "from juddges.settings import prepare_langchain_cache, prepare_mlflow\n", + "from juddges.data.pl_court_api import PolishCourtAPI" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# | eval: false\n", + "from dotenv import load_dotenv\n", + "\n", + "load_dotenv(\"../../.env\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# |eval: false\n", + "prepare_langchain_cache()\n", + "prepare_mlflow()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# | eval: false\n", + "logger.add(level=\"INFO\", sink=\"../../logs/ir_judgments.log\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "LLM_NAME = \"gpt-4-0125-preview\"\n", + "PROMPT_VERSION = \"initial-ir\"\n", + "LANGUAGE = \"Polish\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# | eval: false\n", + "mlflow.start_run(run_name=f\"{PROMPT_VERSION}-{LLM_NAME}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# | eval: false\n", + "api = PolishCourtAPI()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# | eval: false\n", + "judgement = api.get_content(id=\"155000000001006_II_AKa_000334_2019_Uz_2020-02-06_001\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\n\\n Wyrok\\n \\n \\n Sygn. akt II AKa 334/19\\n \\n \\n WYROK\\n W IMIENIU RZECZYPOSPOLITEJ POLSKIEJ\\n Dnia 6 lutego 2020 r.\\n Sąd Apelacyjny we Wrocławiu II Wydział Karny w składzie:\\n Przewodniczący: sędzia SA Cezariusz Baćkowski\\n Sędziowie: SA Piotr Kaczmarek (spr.)\\n SA Robert Zdych\\n Protokolant: Wiktoria Dąbrowicz\\n przy udziale prokuratora Prokuratury (...) we W. Zbigniewa Jaworskiego\\n po rozpoznaniu w dniu 20 grudnia 2019 r., 31 stycznia 2020 r. i 6 lutego 2020 r.\\n sprawy:A. D. (D.)\\n oskarżonego z art. 258 § 1 k.k., z art. 55 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k., z art. 56 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k., z art. 18 § 3 k.k. w zw. z art. 299 § 1 k.k. w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k.\\n R. M. \\n oskarżonego z art. 258 § 1 k.k., z art. 55 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k., z art. 56 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k., z art. 299 § 1 k.k. w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k.\\n E. L. (L.)\\n oskarżonej z art. 299 § 1 k.k. w zw. z art. 12 k.k. \\n R. P. \\n oskarżonego z art. 56 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n L. L. (L.)\\n\\n oskarżonego z art. 258 § 1 k.k., z art. 18 § 1 k.k. w zw. z art. 55 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k. w zw. z art. 64 § 1 k.k., z art. 18 § 1 k.k. w zw. z art. 56 ust. 3 ustawy z dnia 29 lipca 2005 roku o przeciwdziałaniu narkomanii w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k. w zw. z art. 64 § 1 k.k., z art. 18 § 1 k.k. w zw. z art. 299 § 1 k.k. w zw. z art. 12 k.k. w zw. z art. 65 § 1 k.k.\\n na skutek apelacji wniesionej przez oskarżonych\\n od wyroku Sądu Okręgowego w Świdnicy \\n z dnia 5 kwietnia 2019 r., sygn. akt III K 52/17\\n \\n I\\n zmienia zaskarżony wyrok: \\n \\n \\n 1\\n co do oskarżonego \\n R. M.\\n w ten sposób, że:\\n \\n \\n a\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie I, stwierdzając, że utraciło moc orzeczenie o karze łącznej pozbawienia wolności zawarte w punkcie VII,\\n \\n \\n b\\n w przestępstwach przypisanych w punkcie II i IV pomija ustalenie o działaniu w ramach zorganizowanej grupy przestępczej, w miejsce ustalenia o przekazaniu R. P., przyjmuje ustalenie o przekazaniu innej osobie oraz w kwalifikacji prawnej pomija art. 65 § 1 k.k.,\\n \\n \\n c\\n \\n \\n \\n \\n w przestępstwie przypisanym w punkcie V pomija ustalenie o działaniu w ramach zorganizowanej grupy przestępczej, w miejsce ustalenia o przekazaniu E. L. przyjmuje przekazanie innej osobie, w miejsce ustalenia o działaniu wspólnie i w porozumieniu z L. L. przyjmuje ustalenie o działaniu wspólnie i w porozumieniu z inną osobą oraz w kwalifikacji prawnej pomija art. 65 § 1 k.k. ,\\n\\n \\n \\n d\\n uchyla orzeczenie o przepadku równowartości części korzyści zawarte w punkcie VI;\\n \\n \\n 2\\n co do oskarżonego \\n A. D.\\n w ten sposób, że:\\n \\n \\n a\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie VIII, stwierdzając, że utraciło moc orzeczenie o karze łącznej pozbawienia wolności zawarte w punkcie XIV,\\n \\n \\n b\\n w przestępstwach przypisanych w punkcie IX i XI pomija ustalenie o działaniu w ramach zorganizowanej grupy przestępczej, w miejsce ustalenia o przekazaniu R. P., przyjmuje ustalenie o przekazaniu innej osobie oraz w kwalifikacji prawnej pomija art. 65 § 1 k.k.,\\n \\n \\n c\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie XII, stwierdzając, że straciło moc orzeczenie o przepadku równowartości części korzyści zawarte w punkcie XIV;\\n \\n \\n 3\\n co do oskarżonego \\n R. P.\\n w ten sposób, że uniewinnia oskarżonego od przestępstwa przypisanego w punkcie XV;\\n \\n \\n 4\\n co do oskarżonej \\n E. L.\\n w ten sposób, że uniewinnia oskarżoną od przestępstwa przypisanego w punkcie XVII\\n \\n \\n 5\\n \\n \\n co do oskarżonego \\n \\n L. L.\\n w ten sposób, że:\\n\\n \\n \\n a\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie XIX, stwierdzając, że utraciło moc orzeczenie o karze łącznej pozbawienia wolności zawarte w punkcie XXV,\\n \\n \\n b\\n w przestępstwach przypisanych w punkcie XX i XXII pomija ustalenie o działaniu w ramach zorganizowanej grupy przestępczej, w miejsce ustalenia o ustalaniu terminów i okoliczności odbioru przez R. P., przyjmuje ustalenie o ustalaniu terminów i okoliczności odbioru przez inną osobę oraz w kwalifikacji prawnej pomija art. 65 § 1 k.k.,\\n \\n \\n c\\n uniewinnia oskarżonego od przestępstwa przypisanego w punkcie XXIII, stwierdzając, że straciło moc orzeczenie o przepadku równowartości części korzyści zawarte w punkcie XXIV,\\n \\n \\n II\\n \\n \\n w pozostałym zakresie zaskarżony wyrok co do oskarżonych R. M., A. D. i L. L. utrzymuje w mocy;\\n\\n \\n \\n III\\n na podstawie art. 85 § 1 k.k. i art. 86 § 1 k.k. łączy kary pozbawienia wolności wymierzone oskarżonym:\\n \\n - R. M. w punkcie II i IV i wymierza karę łączną 4 (czterech) lat i 6 (sześciu) miesięcy pozbawienia wolności,\\n - A. D. w punkcie IX i XI i wymierza karę łączną 4 (czterech) lat pozbawienia wolności,\\n \\n \\n - L. L. w punkcie XX i XXII i wymierza karę łączną 5 (pięciu) lat i 6 (sześciu) miesięcy pozbawienia wolności;\\n\\n \\n IV\\n na podstawie art. 63 § 1 k.k. na poczet orzeczonych kar pozbawienia wolności zalicza:\\n \\n - oskarżonemu R. M. okresy zatrzymania od 1 grudnia 2015 roku do 3 grudnia 2015 roku oraz od 25 stycznia 2017 roku do 26 stycznia 2017 roku;\\n - oskarżonemu A. D. okresy zatrzymania i tymczasowego aresztowania od 20 czerwca 2015 roku do 12 listopada 2015 roku oraz od 25 stycznia 2017 roku do 26 stycznia 2017 roku;\\n \\n \\n - oskarżonemu L. L. okres tymczasowego aresztowania w sprawie od 26 stycznia 2019 roku do 5 kwietnia 2019 roku;\\n\\n \\n V\\n wydatkami związanymi z postępowaniem, w części której nastąpiło uniewinnienie obciąża Skarb Państwa, w pozostałym zakresie zwalniając oskarżonych od kosztów za postępowanie odwoławcze.\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n Piotr Kaczmarek\\n \\n \\n Cezariusz Baćkowski\\n \\n \\n Robert Zdych\\n \\n \\n \\n \\n \\n\\n'" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# | eval: false\n", + "judgement" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "defendant_gender: string\n", + "defendant_age: integer\n", + "defendant_relationship_status: string\n", + "defendant_has_children: boolean\n", + "defendant_homeless: boolean\n", + "appellant: string\n", + "appeal_against: string\n", + "defendant_plead_or_convicted: string \"guilty plea\" or \"convicted at trial\"\n", + "jury_unanimous: string \"unanimous\" or \"other\"\n", + "first_trial: boolean\n", + "drug_offence: boolean\n", + "original_sentence: string\n", + "tried_court_type: string \"Crown\" or \"magistrates'\"\n", + "single_transaction_multiple_offence: boolean\n", + "multiple_transactions_period: string \"within 1 year\" or \"more than 1 year\"\n", + "concurrent_or_consecutive_sentence: string \"concurrently\" or \"consecutively\"\n", + "sentence_on_top_existing: boolean\n", + "sentence_adding_up: boolean\n", + "sentence_leniency: string \"unduly lenient\" or \"too excessive\"\n", + "guilty_plea_reduction_reason: string\n", + "sentence_discount_mention: boolean\n", + "totality_issues_similar_offences: boolean\n", + "sentence_proportionality_mention: boolean\n", + "sentence_type_issues_totality: boolean\n", + "sentence_adjustment_mention: boolean\n", + "offender_culpability_determination: boolean\n", + "harm_caused_determination: boolean\n", + "offence_seriousness: boolean\n", + "aggravating_factors: string list of factors excluding previous convictions\n", + "previous_convictions_similarity: string \"similar\" or \"dissimilar\"\n", + "mitigating_factors: string list of factors\n", + "immediate_sentence_concurrency: boolean\n", + "totality_conflicting_guidelines: boolean\n", + "totality_principle_misapplication: boolean\n", + "\n" + ] + } + ], + "source": [ + "# | eval: false\n", + "print(SCHEMA)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.10/site-packages/langchain_core/_api/deprecation.py:117: LangChainDeprecationWarning: The class `langchain_community.chat_models.openai.ChatOpenAI` was deprecated in langchain-community 0.0.10 and will be removed in 0.2.0. An updated version of the class exists in the langchain-openai package and should be used instead. To use it run `pip install -U langchain-openai` and import as `from langchain_openai import ChatOpenAI`.\n", + " warn_deprecated(\n" + ] + } + ], + "source": [ + "# | eval: false\n", + "chain = prepare_information_extraction_chain()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024/03/27 12:12:33 WARNING mlflow.utils.environment: Encountered an unexpected error while inferring pip requirements (model URI: /tmp/tmppkf7491l/model, flavor: langchain). Fall back to return ['langchain==0.1.13', 'pydantic==2.6.4', 'cloudpickle==3.0.0']. Set logging level to DEBUG to see the full traceback. \n" + ] + } + ], + "source": [ + "# | eval: false\n", + "logged_model = mlflow.langchain.log_model(chain, \"langchain_model\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\ndefendant_gender: string\\ndefendant_age: integer\\ndefendant_relationship_status: string\\ndefendant_has_children: boolean\\ndefendant_homeless: boolean\\nappellant: string\\nappeal_against: string\\ndefendant_plead_or_convicted: string \"guilty plea\" or \"convicted at trial\"\\njury_unanimous: string \"unanimous\" or \"other\"\\nfirst_trial: boolean\\ndrug_offence: boolean\\noriginal_sentence: string\\ntried_court_type: string \"Crown\" or \"magistrates\\'\"\\nsingle_transaction_multiple_offence: boolean\\nmultiple_transactions_period: string \"within 1 year\" or \"more than 1 year\"\\nconcurrent_or_consecutive_sentence: string \"concurrently\" or \"consecutively\"\\nsentence_on_top_existing: boolean\\nsentence_adding_up: boolean\\nsentence_leniency: string \"unduly lenient\" or \"too excessive\"\\nguilty_plea_reduction_reason: string\\nsentence_discount_mention: boolean\\ntotality_issues_similar_offences: boolean\\nsentence_proportionality_mention: boolean\\nsentence_type_issues_totality: boolean\\nsentence_adjustment_mention: boolean\\noffender_culpability_determination: boolean\\nharm_caused_determination: boolean\\noffence_seriousness: boolean\\naggravating_factors: string list of factors excluding previous convictions\\nprevious_convictions_similarity: string \"similar\" or \"dissimilar\"\\nmitigating_factors: string list of factors\\nimmediate_sentence_concurrency: boolean\\ntotality_conflicting_guidelines: boolean\\ntotality_principle_misapplication: boolean\\n'" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# | eval: false\n", + "mlflow.log_param(\"prompt_version\", PROMPT_VERSION)\n", + "mlflow.log_param(\"llm_name\", LLM_NAME)\n", + "mlflow.log_param(\"language\", LANGUAGE)\n", + "mlflow.log_param(\"schema\", SCHEMA)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# | eval: false\n", + "retrieved_informations = chain.invoke({\"LANGUAGE\": LANGUAGE, \"TEXT\": judgement, \"SCHEMA\": SCHEMA})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'defendant_gender': '',\n", + " 'defendant_age': 0,\n", + " 'defendant_relationship_status': '',\n", + " 'defendant_has_children': False,\n", + " 'defendant_homeless': False,\n", + " 'appellant': 'oskarżeni',\n", + " 'appeal_against': 'wyrok Sądu Okręgowego w Świdnicy z dnia 5 kwietnia 2019 r., sygn. akt III K 52/17',\n", + " 'defendant_plead_or_convicted': '',\n", + " 'jury_unanimous': '',\n", + " 'first_trial': False,\n", + " 'drug_offence': True,\n", + " 'original_sentence': '',\n", + " 'tried_court_type': '',\n", + " 'single_transaction_multiple_offence': False,\n", + " 'multiple_transactions_period': '',\n", + " 'concurrent_or_consecutive_sentence': '',\n", + " 'sentence_on_top_existing': False,\n", + " 'sentence_adding_up': False,\n", + " 'sentence_leniency': '',\n", + " 'guilty_plea_reduction_reason': '',\n", + " 'sentence_discount_mention': False,\n", + " 'totality_issues_similar_offences': False,\n", + " 'sentence_proportionality_mention': False,\n", + " 'sentence_type_issues_totality': False,\n", + " 'sentence_adjustment_mention': False,\n", + " 'offender_culpability_determination': False,\n", + " 'harm_caused_determination': False,\n", + " 'offence_seriousness': False,\n", + " 'aggravating_factors': [],\n", + " 'previous_convictions_similarity': '',\n", + " 'mitigating_factors': [],\n", + " 'immediate_sentence_concurrency': False,\n", + " 'totality_conflicting_guidelines': False,\n", + " 'totality_principle_misapplication': False}" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# | eval: false\n", + "retrieved_informations" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# | eval: false\n", + "from juddges.data.models import get_mongo_collection\n", + "\n", + "judgements_collection = get_mongo_collection(\"judgements\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# | eval: false\n", + "judgements = list(judgements_collection.find(filter={}).limit(100))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "100" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# | eval: false\n", + "len(judgements)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sygn. akt : II AKa 211/99\n", + "\n", + "WYROK\n", + "W IMIENIU RZECZYPOSPOLITEJ POLSKIEJ\n", + "Dnia 24 sierpnia 1999 r.\n", + "Sąd Apelacyjny w Katowicach II Wydział Karny w składzie:\n", + "\n", + "Przewodniczący\n", + "\n", + "SSA Stanisław Raszka\n", + "\n", + "Sędziowie\n", + "\n", + "SSA Wiesława Gawrońska (spr.)\n", + "SSA Jan Dybek\n", + "\n", + "Protokolant:\n", + "\n", + "Barbara Gawor\n", + "\n", + "przy udziale Prokuratora Prok. Apel. Janusza Konstantego\n", + "po rozpoznaniu w dniu 24 sierpnia 1999 roku\n", + "sprawy z wnioskuL. O.o odszkodowanie i zadośćuczynienie dochodzone w trybie art. 8 ustęp 1 ustawy z dnia 23.02.1991r. (Dz. U. nr 34 poz. 149)\n", + "z powodu apelacji, wniesionej przez pełnomocnika wnioskodawczyni\n", + "od wyroku Sądu Okręgowego w Katowicach\n", + "z dnia 10 czerwca 1999r. sygn. akt XVI1 Ko 450/96\n", + "\n", + "uchyla zaskarżony wyrok i przekazuje sprawę Sądowi Okręgowemu w Katowicach do ponownego rozpoznania.\n", + "\n", + "II AKa 211/99\n", + "\n", + "UZASADNIENIE\n", + "Sąd Okręgowy w Katowicach, wyrokiem z dnia 10 czerwca 1999 r. sygn.XVI 1 Ko 450/96 oddalił wniosekL. O.o zasądzenie odszkodowaniai zadośćuczynienia w oparciu o art. 8 ust. 1 ustawy z dnia 23 lutego 1991 r. /Dz. U. Nr 34 poz. 149 z późn. zm./ z tytułu represjonowania przez radzieckie organy ściganiai wymiaru sprawiedliwości jej mężaK. O.wywodząc,że represjonowanie to miało miejsce na terenie Czechosłowacji i stanowi ujemną przesłankę do zasądzenia odszkodowania.\n", + "W apelacji pełnomocnik wnioskodawczyni zarzucił błąd w ustaleniach faktycznych przyjętych za podstawę orzeczenia, polegający na przyjęciu, iżK. O.był represjonowany poza określonym w Ustawie terytorium Państwa Polskiego oraz obrazę przepisów prawa materialnego, a w szczególnościart. 8 ust.2 a Ustawy z dnia 23 lutego 1991 r. o uznaniu za nieważne orzeczeń wydanych wobec osób represjonowanych za działalność na rzecz niepodległego bytu Państwa Polskiegowskutek błędnej wykładni i niewłaściwego zastosowania przez uznania, iż Skarb Państwa nie odpowiada za represje, jakim poddany zostałK. O.i wniósł o zmianę zaskarżonego wyroku przez uwzględnieni wniosku.\n", + "Sąd Apelacyjny zważyć co następuje:\n", + "Zawarty w apelacji /końcowy fragment uzasadnienia/ wniosek o uchylenie zaskarżonego wyroku i przekazanie sprawy Sądowi I instancji do ponownego rozpoznania zasługiwał na uwzględnienie. Nie zostały bowiem wyjaśnione wszystkie istotne w sprawie okoliczności, które mogły mieć wpływ na treść rozstrzygnięcia. Jest niesporne, że ustawa z dnia 23 lutego 1991 r. /Dz. U. Nr 34 poz. 149/ wiąże prawo do odszkodowania i zadośćuczynienia za wyrządzoną krzywdę z represjami stosowanymi za działalność na rzecz niepodległego bytu Państwa Polskiego na terytorium Polski. Ustawa z dnia 16 lipca 1998 r. /Dz. U. Nr 97 poz. 604/ nowelizując przepis art. 8 ust.2 „A” uzależnia odpowiedzialność odszkodowawczą wobec represjonowanych przez radzieckie organy ścigania także od wymogu udowodnienia, że represje te były stosowane na terytorium Polski, a jednocześnie inaczej zakreśla terminy dla represji stosowanych „na obcym terytorium Polski” i na „terytorium Polski w granicach ustalonych w Traktacie Ryskim”.\n", + "Tak więc w przypadku wnioskodawczyni bardzo istotne znaczenie musi mieć ustalenie, czy represje jakich ofiarą padł jej mążK. O.miały miejsce na „terytorium Polski” w rozumieniu art. 8 ustęp 2 „a” znowelizowanego w/wym. ustawą z dnia 16 lipca 1998 r., czy też na terytorium b. Czechosłowacji.\n", + "Treść wnioskuK. O.nie jest w tym względzie jednoznaczna i niezbędne jest w tym względzie uzupełnienia postępowania dowodowego przez SądI instancji W toku ponownego rozpoznania niniejszej sprawy zachodzić więc będzie potrzeba dopuszczenia dowodu z akt Sądu Okręgowego Sądu Pracy i Ubezpieczeń Społecznych w Katowicach sygn. XI J 275/95 dot. wnioskuK. O.o przyznanie wojennej renty inwalidzkiej, w celu ustalenia, czy znajdują się tam informacje na temat skazania męża wnioskodawczyni, a w szczególności tego, gdzie ono nastąpiło i jakich czynów dotyczyło. W przypadku braku tych informacji SądI instancji winien rozważyć potrzebę zwrócenia się o nią do Urzędy do Spraw Kombatantów i Osób Represjonowanych /decyzją tego Urzędu z dnia 30.02.1992 r. przyznanoK. O.uprawnienia kombatanckie/ lub też doStowarzyszenia (...)Armii Krajowej wW./k. 18/.\n", + "Zasygnalizować też należy potrzebę wyjaśnienia treści przepisów, z którychK. O.był skazany /k. 6 akt/, a to w związku z tym, że dla odpowiedzialności odszkodowawczej niezbędne jest ustalenie, iż represje stosowane były za działalność na rzecz niepodległego bytu Państwa Polskiego, a nie np. za dezercję z Armii Czerwonej, na co wydaje się wskazywać wniosek męża wnioskodawczyni.\n", + "W tym zakresie Sąd orzekający może skorzystać z możliwości jakie daje porozumienie Naczelnej Dyrekcji Archiwów Państwowych z władzami Federalnej Służby Archiwalnej Rosji, o czym informowało Ministerstwo Sprawiedliwości pismem z dnia 29.04.1999 r. DSN I 640/84/99.\n", + "Mając wszystko to na uwadze, a także z uwagi na treśćart. 452 § 1 kpk– należało zaskarżone orzeczenie uchylić i orzec jak w części dyspozytywnej niniejszego wyroku.\n" + ] + } + ], + "source": [ + "# | eval: false\n", + "print(judgements[0][\"text\"])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# | eval: false\n", + "judgements_retrieved_informations = chain.batch(\n", + " [\n", + " {\"LANGUAGE\": LANGUAGE, \"TEXT\": judgement[\"text\"], \"SCHEMA\": SCHEMA}\n", + " for judgement in judgements[:10]\n", + " ]\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "python3", + "language": "python", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}