> For the complete documentation index, see [llms.txt](https://docs.graphlit.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.graphlit.dev/api-guides/use-cases/specifications/specification-create-custom-model.md).

# Create Custom Model Specification

## User Intent

"How do I configure a custom LLM model? Show me specification creation for different models."

## Operation

**SDK Method**: `createSpecification()` with model config\
**Use Case**: Custom model configuration

***

## Code Example (TypeScript)

```typescript
import { Graphlit } from 'graphlit-client';
import {
  SpecificationTypes,
  ModelServiceTypes,
  OpenAIModels,
  AnthropicModels
} from 'graphlit-client/dist/generated/graphql-types';

const graphlit = new Graphlit();

// GPT-4 specification
const gpt4Spec = await graphlit.createSpecification({
  name: "GPT-4 High Quality",
  type: SpecificationTypes.Completion,
  serviceType: ModelServiceTypes.OpenAi,
  openAI: {
    model: OpenAIModels.Gpt4,
    temperature: 0.7,
    maxTokens: 2000
  }
});

// Claude 3.5 Sonnet specification
const claudeSpec = await graphlit.createSpecification({
  name: "Claude 3.5 Fast",
  type: SpecificationTypes.Completion,
  serviceType: ModelServiceTypes.Anthropic,
  anthropic: {
    model: AnthropicModels.Claude_3_5Sonnet,
    temperature: 0.5,
    maxTokens: 4000
  }
});

// Use in workflow or conversation
const workflow = await graphlit.createWorkflow({
  name: "High Quality Extraction",
  specification: { id: gpt4Spec.createSpecification.id },
  extraction: { /* ... */ }
});
```

***

## Key Parameters

**temperature**: Creativity (0.0-1.0)\
**maxTokens**: Response length limit\
**topP**: Nucleus sampling\
**model**: Specific model version

***
