> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bruk AI SDK med CometAPI

> Bruk denne veiledningen for å konfigurere AI SDK med CometAPI ved å angi base URL, API-nøkkel og modell- eller leverandørinnstillinger.

[CometAPI provider for AI SDK](https://github.com/cometapi-dev/ai-sdk-provider) gir deg tilgang til over 500 AI-modeller gjennom et enhetlig TypeScript-grensesnitt. Bruk den til å legge til tekstgenerering, Streaming, Embeddings og bildegenerering i enhver Node.js- eller Edge runtime-applikasjon.

## Støttede funksjoner

| Funksjon        | Metode                 | Status  |
| --------------- | ---------------------- | ------- |
| Tekstgenerering | `generateText()`       | Støttet |
| Tekststrømming  | `streamText()`         | Støttet |
| Text embeddings | `textEmbeddingModel()` | Støttet |
| Bildegenerering | `imageModel()`         | Støttet |

## Forutsetninger

* Node.js 18+
* En CometAPI-konto med en aktiv API-nøkkel — [få din her](https://www.cometapi.com/console/token)

<Steps>
  <Step title="Installer leverandøren">
    Installer `@cometapi/ai-sdk-provider` sammen med kjernepakken for AI SDK:

    <CodeGroup>
      ```bash npm theme={null}
      npm install @cometapi/ai-sdk-provider ai
      ```

      ```bash pnpm theme={null}
      pnpm add @cometapi/ai-sdk-provider ai
      ```

      ```bash yarn theme={null}
      yarn add @cometapi/ai-sdk-provider ai
      ```
    </CodeGroup>
  </Step>

  <Step title="Angi API-nøkkelen din">
    Leverandøren leser miljøvariabelen `COMETAPI_KEY` som standard:

    ```bash theme={null}
    read -rsp "CometAPI API key: " COMETAPI_KEY
    printf '\n'
    export COMETAPI_KEY
    ```

    <Note>
      Bruk miljøvariabler for å unngå å hardkode legitimasjon i kildekoden din.
    </Note>
  </Step>

  <Step title="Importer leverandøren">
    Importer standardinstansen av leverandøren:

    ```typescript theme={null}
    import { cometapi } from '@cometapi/ai-sdk-provider';
    ```

    For å overstyre API-nøkkelen, base URL eller andre innstillinger, bruk `createCometAPI`:

    ```typescript theme={null}
    import { createCometAPI } from '@cometapi/ai-sdk-provider';

    const cometapi = createCometAPI({
      apiKey: process.env.COMETAPI_KEY,       // override env variable
      baseURL: 'https://api.cometapi.com/v1',  // default
    });
    ```
  </Step>
</Steps>

## Bruk

### Generer tekst

Bruk `generateText()` for et enkeltstående svar:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: cometapi('your-model-id'),
  prompt: 'What is CometAPI?',
});

console.log(text);
```

### Strøm tekst

Bruk `streamText()` for chunked utdata i sanntid:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { streamText } from 'ai';

const result = streamText({
  model: cometapi('your-model-id'),
  prompt: 'Write a short story about AI.',
});

for await (const chunk of result.textStream) {
  process.stdout.write(chunk);
}
```

### Generer Embeddings

Bruk `textEmbeddingModel()` for å opprette vektor-Embeddings:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';

const model = cometapi.textEmbeddingModel('text-embedding-3-small');

// Single embedding
const single = await model.doEmbed({ values: ['Hello, world!'] });
console.log('Dimensions:', single.embeddings[0].length);

// Batch embeddings
const batch = await model.doEmbed({
  values: ['sunny day', 'rainy afternoon', 'cold winter night'],
});
console.log('Count:', batch.embeddings.length);
```

### Generer bilder

Bruk `imageModel()` for å generere bilder fra tekstprompter:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { experimental_generateImage as generateImage } from 'ai';

const { image } = await generateImage({
  model: cometapi.imageModel('your-model-id'),
  prompt: 'A beautiful sunset over mountains',
});
```

## Konfigurasjon av provider

`createCometAPI` aksepterer følgende alternativer:

| Alternativ | Type                     | Standard                      | Beskrivelse                    |
| ---------- | ------------------------ | ----------------------------- | ------------------------------ |
| `apiKey`   | `string`                 | `process.env.COMETAPI_KEY`    | CometAPI API-nøkkel            |
| `baseURL`  | `string`                 | `https://api.cometapi.com/v1` | API-base-URL                   |
| `headers`  | `Record<string, string>` | —                             | Tilpassede forespørsel-headere |
| `fetch`    | `FetchFunction`          | —                             | Tilpasset fetch-implementering |

## Modellmetoder

Provideren eksponerer flere modellkonstruktører:

| Metode                                 | Returnerer         | Bruksområde                              |
| -------------------------------------- | ------------------ | ---------------------------------------- |
| `cometapi(modelId)`                    | `LanguageModelV2`  | Tekstgenerering og Streaming (forkortet) |
| `cometapi.chatModel(modelId)`          | `LanguageModelV2`  | Chat completions                         |
| `cometapi.completionModel(modelId)`    | `LanguageModelV2`  | Tekstfullføringer                        |
| `cometapi.languageModel(modelId)`      | `LanguageModelV2`  | Alias for `chatModel`                    |
| `cometapi.textEmbeddingModel(modelId)` | `EmbeddingModelV2` | Text embeddings                          |
| `cometapi.imageModel(modelId)`         | `ImageModelV2`     | Bildegenerering                          |

Se hele listen over tilgjengelige model IDs på [Models page](/no/overview/models).

<AccordionGroup>
  <Accordion title="Tips og feilsøking">
    * **Valg av modell**: Alle modeller fra [CometAPI-modellkatalogen](/no/overview/models) fungerer med den tilsvarende modellmetoden — chatmodeller via `cometapi()`, embedding-modeller via `textEmbeddingModel()`, bildemodeller via `imageModel()`.
    * **Finjustering av svar**: Send `temperature`, `maxTokens` og `topP` direkte til `generateText()` eller `streamText()`, for eksempel `generateText(\{..., temperature: 0.7\})`.
    * **Feilhåndtering**: Pakk kall inn i `try/catch` for å håndtere autentiseringsfeil, rate limits eller nettverksproblemer.
    * **Sikkerhet**: Commit aldri API-nøkler til versjonskontroll. Bruk miljøvariabler eller en secrets manager.
    * **Rate limits**: Overvåk bruk i [CometAPI-konsollen](https://www.cometapi.com/console).
  </Accordion>
</AccordionGroup>

## Relaterte ressurser

* [CometAPI AI SDK Provider på GitHub](https://github.com/cometapi-dev/ai-sdk-provider)
* [@cometapi/ai-sdk-provider på npm](https://www.npmjs.com/package/@cometapi/ai-sdk-provider)
* [AI SDK-dokumentasjon](https://ai-sdk.dev/docs)
* [CometAPI hurtigstart](/no/overview/quick-start)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#howto",
        "name": "Bruk AI SDK med CometAPI",
        "description": "Bruk denne veiledningen til å konfigurere AI SDK med CometAPI ved å angi base-URL, API-nøkkel og modell- eller leverandøralternativer.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-1",
            "position": 1,
            "name": "Installer leverandøren",
            "text": "Fullfør trinnet Installer leverandøren i veiledningen Bruk AI SDK med CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-2",
            "position": 2,
            "name": "Angi API-nøkkelen din",
            "text": "Lagre CometAPI API-nøkkelen din i miljøvariabelen eller innstillingsfeltet som brukes av integrasjonen."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-3",
            "position": 3,
            "name": "Importer leverandøren",
            "text": "Fullfør trinnet Importer leverandøren i veiledningen Bruk AI SDK med CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "CometAPI-dokumentasjon",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integrasjoner",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Bruk AI SDK med CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/ai-sdk"
          }
        ]
      }
    ]
    }
    `}
</script>
