Module: CompletionKit

Defined in:
lib/completion_kit.rb,
lib/completion_kit/engine.rb,
lib/completion_kit/version.rb,
app/models/completion_kit/run.rb,
app/models/completion_kit/model.rb,
app/models/completion_kit/metric.rb,
app/models/completion_kit/prompt.rb,
app/models/completion_kit/review.rb,
app/jobs/completion_kit/judge_job.rb,
app/models/completion_kit/dataset.rb,
app/models/completion_kit/criteria.rb,
app/models/completion_kit/response.rb,
app/jobs/completion_kit/generate_job.rb,
app/models/completion_kit/run_metric.rb,
app/models/completion_kit/suggestion.rb,
app/services/completion_kit/api_config.rb,
app/services/completion_kit/llm_client.rb,
app/jobs/completion_kit/application_job.rb,
app/services/completion_kit/csv_processor.rb,
app/services/completion_kit/judge_service.rb,
app/services/completion_kit/ollama_client.rb,
app/services/completion_kit/mcp_dispatcher.rb,
app/services/completion_kit/mcp_tools/runs.rb,
app/services/completion_kit/open_ai_client.rb,
app/jobs/completion_kit/model_discovery_job.rb,
app/models/completion_kit/application_record.rb,
app/services/completion_kit/anthropic_client.rb,
app/controllers/completion_kit/mcp_controller.rb,
app/helpers/completion_kit/application_helper.rb,
app/mailers/completion_kit/application_mailer.rb,
app/models/completion_kit/criteria_membership.rb,
app/models/completion_kit/provider_credential.rb,
app/services/completion_kit/mcp_tools/metrics.rb,
app/services/completion_kit/mcp_tools/prompts.rb,
app/controllers/completion_kit/runs_controller.rb,
app/services/completion_kit/mcp_tools/criteria.rb,
app/services/completion_kit/mcp_tools/datasets.rb,
app/services/completion_kit/open_router_client.rb,
app/services/completion_kit/mcp_tools/responses.rb,
lib/generators/completion_kit/install_generator.rb,
app/controllers/completion_kit/metrics_controller.rb,
app/controllers/completion_kit/prompts_controller.rb,
app/controllers/completion_kit/criteria_controller.rb,
app/controllers/completion_kit/datasets_controller.rb,
app/controllers/completion_kit/responses_controller.rb,
app/services/completion_kit/model_discovery_service.rb,
app/controllers/completion_kit/api/v1/base_controller.rb,
app/controllers/completion_kit/api/v1/runs_controller.rb,
app/controllers/completion_kit/application_controller.rb,
app/services/completion_kit/prompt_improvement_service.rb,
app/controllers/completion_kit/api_reference_controller.rb,
app/controllers/completion_kit/api/v1/metrics_controller.rb,
app/controllers/completion_kit/api/v1/prompts_controller.rb,
app/controllers/completion_kit/api/v1/criteria_controller.rb,
app/controllers/completion_kit/api/v1/datasets_controller.rb,
app/controllers/completion_kit/api/v1/responses_controller.rb,
app/services/completion_kit/mcp_tools/provider_credentials.rb,
app/controllers/completion_kit/provider_credentials_controller.rb,
app/controllers/completion_kit/api/v1/provider_credentials_controller.rb

Defined Under Namespace

Modules: Api, ApplicationHelper, McpTools Classes: AnthropicClient, ApiConfig, ApiReferenceController, ApplicationController, ApplicationJob, ApplicationMailer, ApplicationRecord, Configuration, ConfigurationError, Criteria, CriteriaController, CriteriaMembership, CsvProcessor, Dataset, DatasetsController, Engine, GenerateJob, InstallGenerator, JudgeJob, JudgeService, LlmClient, McpController, McpDispatcher, Metric, MetricsController, Model, ModelDiscoveryJob, ModelDiscoveryService, OllamaClient, OpenAiClient, OpenRouterClient, Prompt, PromptImprovementService, PromptsController, ProviderCredential, ProviderCredentialsController, Response, ResponsesController, Review, Run, RunMetric, RunsController, Suggestion

Constant Summary collapse

VERSION =
"0.1.0.rc1"

Class Method Summary collapse

Class Method Details

.configObject



25
26
27
# File 'lib/completion_kit.rb', line 25

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Yields:



29
30
31
# File 'lib/completion_kit.rb', line 29

def configure
  yield(config) if block_given?
end

.current_prompt(identifier) ⇒ Object



33
34
35
# File 'lib/completion_kit.rb', line 33

def current_prompt(identifier)
  Prompt.current_for(identifier)
end

.current_prompt_payload(identifier) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/completion_kit.rb', line 37

def current_prompt_payload(identifier)
  prompt = current_prompt(identifier)

  {
    name: prompt.name,
    family_key: prompt.family_key,
    version_number: prompt.version_number,
    template: prompt.template,
    generation_model: prompt.llm_model
  }
end

.render_current_prompt(identifier, variables = {}) ⇒ Object



49
50
51
52
# File 'lib/completion_kit.rb', line 49

def render_current_prompt(identifier, variables = {})
  prompt = current_prompt(identifier)
  CsvProcessor.apply_variables(prompt, variables.stringify_keys)
end