LLM Parsers Reference
sqldeps.llm_parsers
LLM-based SQL parsers for dependency extraction.
This package provides integrations with various LLM providers for extracting SQL dependencies, with a common interface and factory function.
DeepseekExtractor
Bases: BaseSQLExtractor
DeepSeek-based SQL dependency extractor.
Attributes:
| Name | Type | Description |
|---|---|---|
ENV_VAR_NAME |
Environment variable name for the API key |
|
client |
OpenAI client instance configured for DeepSeek API |
Source code in sqldeps/llm_parsers/deepseek.py
__init__(model='deepseek-chat', params=None, api_key=None, prompt_path=None)
Initialize DeepSeek extractor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
str
|
DeepSeek model name to use |
'deepseek-chat'
|
params
|
dict | None
|
Additional parameters for the API |
None
|
api_key
|
str | None
|
DeepSeek API key (defaults to environment variable) |
None
|
prompt_path
|
Path | None
|
Path to custom prompt YAML file |
None
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If API key is not provided |
Source code in sqldeps/llm_parsers/deepseek.py
GroqExtractor
Bases: BaseSQLExtractor
Groq-based SQL dependency extractor.
Attributes:
| Name | Type | Description |
|---|---|---|
ENV_VAR_NAME |
Environment variable name for the API key |
|
client |
Groq client instance |
Source code in sqldeps/llm_parsers/groq.py
__init__(model='llama-3.3-70b-versatile', params=None, api_key=None, prompt_path=None)
Initialize Groq extractor.
Source code in sqldeps/llm_parsers/groq.py
OpenaiExtractor
Bases: BaseSQLExtractor
OpenAI-based SQL dependency extractor.
Attributes:
| Name | Type | Description |
|---|---|---|
ENV_VAR_NAME |
Environment variable name for the API key |
|
client |
OpenAI client instance |
Source code in sqldeps/llm_parsers/openai.py
__init__(model='gpt-4o', params=None, api_key=None, prompt_path=None)
Initialize OpenAI extractor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
str
|
OpenAI model name to use |
'gpt-4o'
|
params
|
dict | None
|
Additional parameters for the API |
None
|
api_key
|
str | None
|
OpenAI API key (defaults to environment variable) |
None
|
prompt_path
|
Path | None
|
Path to custom prompt YAML file |
None
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If API key is not provided |
Source code in sqldeps/llm_parsers/openai.py
create_extractor(framework='groq', model=None, params=None, prompt_path=None)
Create an appropriate SQL extractor based on the specified framework.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
framework
|
str
|
The LLM framework to use ("groq", "openai", or "deepseek") |
'groq'
|
model
|
str | None
|
The model name within the selected framework (uses default if None) |
None
|
params
|
dict | None
|
Additional parameters to pass to the LLM API |
None
|
prompt_path
|
Path | None
|
Path to a custom prompt YAML file |
None
|
Returns:
| Type | Description |
|---|---|
BaseSQLExtractor
|
An instance of the appropriate SQL extractor |
Raises:
| Type | Description |
|---|---|
ValueError
|
If an unsupported framework is specified |