Task:
Structured extraction of distinctive invention/technical elements from unstructured text.
Turn raw text into a well‑scoped list of core concepts, novel features, implementation details, advantages, and alternative embodiments—capturing precise parameters and wording that signal novelty.
Inference code
%pip install -U torch torchvision torchaudio
%pip install -U accelerate
%pip install -U transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model_path = "Siddharth63/granite-patent-extraction"
tokenizer = AutoTokenizer.from_pretrained(model_path)
# drop device_map if running on CPU
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
# change input text as desired
input_text = """You are an AI assistant that analyzes a patent’s description/claims to extract the elements that make the invention distinctive.
Produce a comprehensive, technically precise list drawn **only** from the provided text (no outside knowledge or unstated inferences).
Identify and list:
1. Core technical concepts (principles/mechanisms)
2. Novel features (explicit/implicit distinctions from prior art)
3. Implementation details (configs, parameters, methods)
4. Functional advantages (benefits over existing solutions)
5. Alternative embodiments (variants/options)
For each item include:
* Significance: why it matters in context
* Technical function: how it works/interacts
* Novelty indicators: wording implying uniqueness
* Dependencies: components/steps it relies on or enables
Always capture parameters precisely:
* Numerical ranges/values with units and any preferred ranges
* Material compositions (materials/compounds/formulations)
* Process parameters (temperatures, pressures, times, sequences, conditions)
* Structural relationships (connections, arrangements, interactions)
* Control logic (algorithms, decision/operation sequences)
Guidelines:
* Be exhaustive; include minor, distinguishing details
* Preserve exact terminology and conditional language (“may,” “optionally,” etc.)
* Note stated problems addressed
* Record any test results, examples, or performance metrics
* If a technical term is unclear, include it and add a best context-based interpretation (clearly labeled as interpretation)
### Patent Claims/Description:
The present invention is directed to a syringe system for reconstitution of lyophilized or concentrated drugs. The present invention is also directed to the combination of such a system with a passive needle guard that is automatically activated to extend a shield to cover a needle of the syringe and to methods of making and using such systems. Typically, a passive needle guard shield is activated when a radial portion or thumb pad of a plunger contacts a lateral catch or trigger finger of the passive needle guard. As the thumb pad of the plunger is moved distally, the trigger finger is forced laterally which results in a shield being forced distally to cover a needle of the syringe or in some designs, the syringe needle withdraws into the shield.
The present disclosure describes a needle guard device or system that can be used with drugs requiring reconstitution without activating the safety mechanism, yet provides needle safety shielding after the drug has been injected into the patient. In a preferred embodiment, the needle guard device would be assembled and sold with a syringe that is preferably pre-filled with the diluent. In a preferred embodiment, a clip is coupled to the needle guard during the reconstitution phase. The clip is configured to interact with the needle guard such that the shield is not activated to the extended position when the thumb pad of the plunger contacts the trigger fingers. Following reconstitution, the clip can be removed and the reconstituted medicine can be administered to the patient. During administration, the shield of the needle guard can be activated to extend and cover the needle.
### Concepts:
"""
# tokenize the text
input_tokens = tokenizer(input_text, return_tensors="pt").to(device)
# generate output tokens
output = model.generate(**input_tokens,
max_length=8000)
# decode output tokens into text
output = tokenizer.batch_decode(output)
# print output
import ast
ast.literal_eval(output[0][len(input_text):].strip("<|endoftext|>"))
Typical output
{'concepts': [{'concept_name': 'Syringe system for reconstitution of lyophilized or concentrated drugs',
'concept_explanation': 'Defines the overall invention: a syringe system designed specifically to reconstitute drugs that are lyophilized or concentrated, integrating reconstitution and subsequent needle safety features.',
'concept_details': [{'detail_name': 'Target drug types',
'detail_explanation': 'Specifies that the system is for reconstitution of lyophilized or concentrated drugs (explicitly stated).'},
{'detail_name': 'Integration of reconstitution and needle safety',
'detail_explanation': 'The system is described as combining reconstitution functionality with needle safety shielding, indicating the syringe and needle guard are part of a single system.'}]},
{'concept_name': 'Passive needle guard mechanism (radial thumb pad / trigger finger interaction)',
'concept_explanation': 'Describes the conventional passive needle guard actuation mechanism that the invention modifies or uses as the basis for its safety features.',
'concept_details': [{'detail_name': 'Radial thumb pad on plunger',
'detail_explanation': 'A radial portion or thumb pad of the plunger contacts a lateral catch or trigger finger of the passive needle guard; this contact is the trigger for shield extension.'},
{'detail_name': 'Lateral trigger finger',
'detail_explanation': 'A trigger finger is positioned laterally and is forced laterally by the radial thumb pad when the plunger is moved distally, causing the shield to move distally to cover the needle.'},
{'detail_name': 'Shield movement direction',
'detail_explanation': 'When the trigger finger is forced laterally, the shield is forced distally to cover the needle (explicitly stated).'},
{'detail_name': 'Alternative withdrawal behavior',
'detail_explanation': "In some designs, the syringe needle withdraws into the shield when the trigger finger is forced laterally (conditional language: 'in some designs')."}]},
{'concept_name': 'Clip coupled to needle guard during reconstitution',
'concept_explanation': 'A removable clip is attached to the needle guard during the reconstitution phase to prevent the shield from extending prematurely, enabling safe reconstitution without activating the safety mechanism.',
'concept_details': [{'detail_name': 'Clip coupling during reconstitution',
'detail_explanation': 'The clip is coupled to the needle guard during the reconstitution phase (explicitly stated).'},
{'detail_name': 'Clip interaction with needle guard',
'detail_explanation': 'The clip is configured to interact with the needle guard such that the shield is not activated to the extended position when the thumb pad contacts the trigger fingers (explicit functional relationship).'},
{'detail_name': 'Removability after reconstitution',
'detail_explanation': 'Following reconstitution, the clip can be removed (explicitly stated), allowing the reconstituted medicine to be administered.'}]},
{'concept_name': 'Pre-filled syringe with diluent (preferred embodiment)',
'concept_explanation': 'A preferred embodiment includes a syringe that is pre-filled with the diluent, enabling the clip to be coupled and the needle guard to be used without separate diluent addition.',
'concept_details': [{'detail_name': 'Pre-filled syringe',
'detail_explanation': 'The syringe is preferably pre-filled with the diluent (explicitly stated as a preferred embodiment).'},
{'detail_name': 'Clip coupling with pre-filled syringe',
'detail_explanation': 'The clip is coupled to the needle guard during reconstitution when the syringe is pre-filled with diluent (explicitly stated).'}]},
{'concept_name': 'Two-phase use: reconstitution without activating safety mechanism, then administration with shield activation',
'concept_explanation': "The invention enables safe reconstitution without activating the passive needle guard's safety mechanism, followed by safe administration by activating the shield after reconstitution.",
'concept_details': [{'detail_name': 'Reconstitution without safety activation',
'detail_explanation': 'The needle guard device can be used with drugs requiring reconstitution without activating the safety mechanism (explicitly stated).'},
{'detail_name': 'Administration with shield activation',
'detail_explanation': 'After reconstitution, the shield of the needle guard can be activated to extend and cover the needle during administration (explicitly stated).'}]},
{'concept_name': 'Methods of making and using the systems',
'concept_explanation': 'The disclosure covers both the manufacturing (making) and operational (using) aspects of the systems, indicating the invention includes procedural aspects as well as device features.',
'concept_details': [{'detail_name': 'Methods of making',
'detail_explanation': 'The present invention is directed to methods of making such systems (explicitly stated).'},
{'detail_name': 'Methods of using',
'detail_explanation': 'The present invention is directed to methods of using such systems (explicitly stated).'}]},
{'concept_name': 'Conditional and alternative embodiments language',
'concept_explanation': 'The disclosure uses conditional and alternative phrasing to indicate multiple possible implementations and optional features.',
'concept_details': [{'detail_name': "Use of 'preferred embodiment' and 'in some designs'",
'detail_explanation': "Phrases such as 'in a preferred embodiment' and 'in some designs' indicate optional or alternative implementations (explicitly present)."},
{'detail_name': 'Optional removal of clip',
'detail_explanation': "The clip 'can be removed' after reconstitution, indicating an optional step in the method (explicit conditional language)."}]},
{'concept_name': 'Functional advantages stated',
'concept_explanation': 'Explicitly stated benefits of the invention over existing solutions, as described in the text.',
'concept_details': [{'detail_name': 'Safe reconstitution without safety activation',
'detail_explanation': 'The device allows reconstitution without activating the safety mechanism, which is presented as an advantage (explicitly stated).'},
{'detail_name': 'Post-reconstitution needle safety',
'detail_explanation': 'After reconstitution, the shield can be activated to cover the needle, providing post-reconstitution needle safety (explicitly stated).'}]}],
'summary': "The patent describes a syringe system and needle guard system for reconstituting lyophilized or concentrated drugs that integrates a passive needle guard mechanism (radial thumb pad contacting a lateral trigger finger) with a removable clip that prevents shield extension during reconstitution. A preferred embodiment includes a pre-filled syringe with diluent and a clip coupled during reconstitution. The clip is configured to prevent shield activation when the plunger thumb pad contacts the trigger finger, and can be removed after reconstitution so the reconstituted medicine can be administered. The disclosure covers methods of making and using the systems and emphasizes the ability to reconstitute without activating the safety mechanism and then activate the shield for post-reconstitution needle safety. Conditional language ('preferred embodiment', 'in some designs', 'can be removed') indicates multiple optional implementations."}
Intended use & scope
Intended users: patent analysts, R&D/IP teams, counsel, and search specialists. Data domain: English‑language patent claims/descriptions; other technical documents. Out‑of‑scope: legal conclusions, novelty/patentability determinations, or claim charting against specific prior art. Human review is required.
Can be useful to convert unstructured text into structured concepts for knowledge graph ingestion
Limitations
May miss nuances in very long documents if context exceeds the window or if the prompt is poorly structured.
Extracted items are based only on the provided text. The model does not access external prior art or databases.
Formatting can drift for extremely long generations; use JSON/YAML formatting instructions when strict schemas are required.
Currently input text can be max upto 1500-1600 characters
- Downloads last month
- 2
Model tree for Siddharth63/granite-technical-concepts-extraction
Base model
ibm-granite/granite-3.3-2b-base