multimodal_fin package

Subpackages

Submodules

multimodal_fin.cli module

Command-line interface for the multimodal_fin package.

This script defines the main CLI entry points using Typer, allowing users to: - Process conference data - Generate embeddings - Download transcripts and audio

Each command loads its corresponding configuration section from a YAML file.

multimodal_fin.cli.download(config_file, config_name='default', url=None)[source]

Download transcripts and audio from EarningsCall.biz for S&P500 companies.

Parameters:
  • config_file (Path) – Path to the YAML configuration file.

  • config_name (str) – Name of the config block under ‘conferences_data_adquisition’. Defaults to “default”.

  • url (str) – Optional override of the default S&P500 earnings call URL.

Return type:

None

multimodal_fin.cli.embed(config_file, config_name='default', json_path=None, json_csv=None)[source]

Generate hierarchical multimodal embeddings from enriched JSON files.

Parameters:
  • config_file (Path) – Path to the YAML configuration file.

  • config_name (str) – Name of the config block under ‘embeddings_pipeline’. Defaults to “default”.

  • json_path (Path) – Path to a single transcript.json file.

  • json_csv (Path) – Path to a CSV containing paths to multiple transcript.json files.

Return type:

None

multimodal_fin.cli.main()[source]

Main entry point for the CLI when invoked directly.

Return type:

None

multimodal_fin.cli.process(config_file, config_name='default')[source]

Run the full pipeline: QA/monologue classification and enrichment.

Parameters:
  • config_file (Path) – Path to the YAML configuration file.

  • config_name (str) – Name of the config block under ‘conferences_processing’. Defaults to “default”.

Return type:

None

multimodal_fin.config module

Configuration loader and schema definitions for the multimodal_fin package.

This module provides Pydantic-based configuration classes and utilities to load structured settings from YAML files.

class multimodal_fin.config.ConferenceEncoderParams(**data)[source]

Bases: BaseModel

Model parameters for the conference-level encoder.

d_output: int
hidden_dim: int
input_dim: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

n_heads: int
weights_path: str
class multimodal_fin.config.DataAdquisitionSettings(**data)[source]

Bases: BaseModel

Settings for downloading earnings call data.

api_key: str
base_path: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

url: str
class multimodal_fin.config.EmbeddingsPipelineSettings(**data)[source]

Bases: BaseModel

Settings for the full embedding pipeline.

conference_encoder: ConferenceEncoderParams
device: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

node_encoder: NodeEncoderParams
class multimodal_fin.config.FullConfig(**data)[source]

Bases: BaseModel

Aggregated configuration object including all pipeline components.

data_adquisition: DataAdquisitionSettings | None
embeddings: EmbeddingsPipelineSettings | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

processing: Settings | None
class multimodal_fin.config.NodeEncoderParams(**data)[source]

Bases: BaseModel

Model parameters for the node-level encoder.

d_output: int
hidden_dim: int
meta_dim: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

n_heads: int
weights_path: str
class multimodal_fin.config.Settings(**data)[source]

Bases: BaseModel

Settings for the full conference processing pipeline.

audio_model: str | None
device: str
evals: int
input_csv_path: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

monologue_models: List[str]
qa_analyzer_models: List[str]
qa_models: List[str]
sec10k_models: List[str]
text_model: str | None
verbose: int
video_model: str | None
multimodal_fin.config.default_device()[source]

Return the default device based on PyTorch availability.

Returns:

‘cuda’ if a CUDA-enabled GPU is available, otherwise ‘cpu’.

Return type:

str

multimodal_fin.config.load_full_config(config_path, config_name='default', override_url=None)[source]

Load all pipeline configuration components from YAML.

Parameters:
  • config_path (str) – Path to the YAML configuration file.

  • config_name (str) – Name of the config block for each section. Defaults to “default”.

  • override_url (Optional[str]) – Optional override for the download URL.

Returns:

Aggregated configuration object.

Return type:

FullConfig

Module contents