---
title: "Determines the appropriate approach based on the provided input"
method: POST
path: "/llm_assistant/determine_approach"
tags: ["llm_assistant"]
---

# Determines the appropriate approach based on the provided input

`POST /llm_assistant/determine_approach`

## Request

- The document declares no server URL.
- Auth: OAuth 2
  - Password
  - Token URL: `/authentication/login`

## Request body

- LLMAssistantJobParameters
  - `project_id` integer, required: Project ID associated with the job
  - `task_type` 'TAGGING' | 'METADATA_EXTRACTION' | 'ANNOTATION' | 'SENTENCE_ANNOTATION', required
  - `specific_task_parameters` union, required: Specific parameters for the LLMAssistantJob w.r.t it's type
    - TaggingParams
      - `task_type` 'TAGGING', required: The type of the LLM Assistant task
      - `sdoc_ids` integer[], required: IDs of the source documents to analyse
      - `tag_ids` integer[], required: IDs of the tags to use for the document tagging
    - MetadataExtractionParams
      - `task_type` 'METADATA_EXTRACTION', required: The type of the LLM Assistant task
      - `sdoc_ids` integer[], required: IDs of the source documents to analyse
      - `project_metadata_ids` integer[], required: IDs of the project metadata to use for the metadata extraction
    - AnnotationParams
      - `task_type` 'ANNOTATION', required: The type of the LLM Assistant task
      - `sdoc_ids` integer[], required: IDs of the source documents to analyse
      - `code_ids` integer[], required: IDs of the codes to use for the annotation
      - `delete_existing_annotations` boolean: Delete existing annotations before creating new ones
    - SentenceAnnotationParams
      - `task_type` 'SENTENCE_ANNOTATION', required: The type of the LLM Assistant task
      - `sdoc_ids` integer[], required: IDs of the source documents to analyse
      - `code_ids` integer[], required: IDs of the codes to use for the sentence annotation
      - `delete_existing_annotations` boolean: Delete existing annotations before creating new ones

## Response `200`

Successful Response

- ApproachRecommendation
  - `recommended_approach` 'LLM_ZERO_SHOT' | 'LLM_FEW_SHOT', required
  - `reasoning` string, required: Reasoning for the recommendation
  - `available_approaches` object, required: Available approaches

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-19** `90c133703342`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api/changes/llm_assistant/determine_approach/post.md)

---

[API](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api.md) - [All operations](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api/llms.txt) - [OpenAPI document](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api/revisions/e498207e29f4?raw)
