class AnalyzerService
  # This will generate insights from a set of questions for a set of respondents
  def self.generate_insights(respondents:, questions:, llm_model:, system_prompt:)
    provider = FeatureModelMap.provider_for_model(llm_model)
    raise "Invalid LLM Model" if provider.blank?

    model_map = Struct.new(:provider, :llm_model_name).new(provider, llm_model)
    llm = LangchainLlmFactory.build(model_map:)

    # Build out the vector database
    # TODO: Setup the params
    client = client = Langchain::Vectorsearch::Chroma.new(
      url: "localhost",
      index_name: SecureRandom.hex(16), # TODO: Some cleanup
      llm:
    )
    client.create_default_schema

    respondents.each do |respondent|
    end
  end
end
