> ## 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.

# Używanie AI SDK z CometAPI

> Skorzystaj z tego przewodnika, aby skonfigurować AI SDK z CometAPI, ustawiając base URL, klucz API oraz opcje model lub provider.

[Provider CometAPI dla AI SDK](https://github.com/cometapi-dev/ai-sdk-provider) zapewnia dostęp do ponad 500 modeli AI poprzez ujednolicony interfejs TypeScript. Użyj go, aby dodać generowanie tekstu, Streaming, Embeddings oraz generowanie obrazów do dowolnej aplikacji działającej w środowisku Node.js lub Edge runtime.

## Obsługiwane funkcje

| Funkcja             | Metoda                 | Status      |
| ------------------- | ---------------------- | ----------- |
| Generowanie tekstu  | `generateText()`       | Obsługiwane |
| Streaming tekstu    | `streamText()`         | Obsługiwane |
| Embeddings tekstu   | `textEmbeddingModel()` | Obsługiwane |
| Generowanie obrazów | `imageModel()`         | Obsługiwane |

## Wymagania wstępne

* Node.js 18+
* Konto CometAPI z aktywnym kluczem API — [pobierz je tutaj](https://www.cometapi.com/console/token)

<Steps>
  <Step title="Zainstaluj provider">
    Zainstaluj `@cometapi/ai-sdk-provider` razem z podstawowym pakietem 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="Ustaw klucz API">
    Provider domyślnie odczytuje zmienną środowiskową `COMETAPI_KEY`:

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

    <Note>
      Używaj zmiennych środowiskowych, aby uniknąć umieszczania poświadczeń na stałe w kodzie źródłowym.
    </Note>
  </Step>

  <Step title="Zaimportuj provider">
    Zaimportuj domyślną instancję providera:

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

    Aby nadpisać klucz API, base URL lub inne ustawienia, użyj `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>

## Użycie

### Generowanie tekstu

Użyj `generateText()` do uzyskania pojedynczej odpowiedzi:

```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);
```

### Streaming tekstu

Użyj `streamText()` do uzyskania danych wyjściowych w czasie rzeczywistym, zwracanych porcjami:

```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);
}
```

### Generowanie Embeddings

Użyj `textEmbeddingModel()` do tworzenia osadzeń wektorowych:

```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);
```

### Generowanie obrazów

Użyj `imageModel()` do generowania obrazów na podstawie Prompt:

```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',
});
```

## Konfiguracja dostawcy

`createCometAPI` akceptuje następujące opcje:

| Opcja     | Typ                      | Domyślnie                     | Opis                               |
| --------- | ------------------------ | ----------------------------- | ---------------------------------- |
| `apiKey`  | `string`                 | `process.env.COMETAPI_KEY`    | Klucz API CometAPI                 |
| `baseURL` | `string`                 | `https://api.cometapi.com/v1` | Bazowy URL API                     |
| `headers` | `Record<string, string>` | —                             | Niestandardowe nagłówki żądania    |
| `fetch`   | `FetchFunction`          | —                             | Niestandardowa implementacja fetch |

## Metody modelu

Dostawca udostępnia kilka konstruktorów modeli:

| Metoda                                 | Zwraca             | Zastosowanie                           |
| -------------------------------------- | ------------------ | -------------------------------------- |
| `cometapi(modelId)`                    | `LanguageModelV2`  | Generowanie tekstu i Streaming (skrót) |
| `cometapi.chatModel(modelId)`          | `LanguageModelV2`  | Chat completions                       |
| `cometapi.completionModel(modelId)`    | `LanguageModelV2`  | Uzupełnianie tekstu                    |
| `cometapi.languageModel(modelId)`      | `LanguageModelV2`  | Alias dla `chatModel`                  |
| `cometapi.textEmbeddingModel(modelId)` | `EmbeddingModelV2` | Embeddings tekstu                      |
| `cometapi.imageModel(modelId)`         | `ImageModelV2`     | Generowanie obrazów                    |

Przeglądaj pełną listę dostępnych model ID na stronie [Models page](/pl/overview/models).

<AccordionGroup>
  <Accordion title="Wskazówki i rozwiązywanie problemów">
    * **Wybór modelu**: Każdy model z [katalogu modeli CometAPI](/pl/overview/models) działa z odpowiadającą mu metodą modelu — modele czatu przez `cometapi()`, modele embedding przez `textEmbeddingModel()`, modele obrazów przez `imageModel()`.
    * **Dostrajanie odpowiedzi**: Przekaż `temperature`, `maxTokens` i `topP` bezpośrednio do `generateText()` lub `streamText()`, np. `generateText(\{..., temperature: 0.7\})`.
    * **Obsługa błędów**: Opakuj wywołania w `try/catch`, aby obsługiwać błędy uwierzytelniania, limity szybkości lub problemy z siecią.
    * **Bezpieczeństwo**: Nigdy nie zapisuj kluczy API w systemie kontroli wersji. Używaj zmiennych środowiskowych lub menedżera sekretów.
    * **Limity szybkości**: Monitoruj użycie w [konsoli CometAPI](https://www.cometapi.com/console).
  </Accordion>
</AccordionGroup>

## Powiązane zasoby

* [CometAPI AI SDK Provider na GitHub](https://github.com/cometapi-dev/ai-sdk-provider)
* [@cometapi/ai-sdk-provider na npm](https://www.npmjs.com/package/@cometapi/ai-sdk-provider)
* [Dokumentacja AI SDK](https://ai-sdk.dev/docs)
* [Szybki start CometAPI](/pl/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": "Używanie AI SDK z CometAPI",
        "description": "Skorzystaj z tego przewodnika, aby skonfigurować AI SDK z CometAPI, ustawiając bazowy URL, klucz API oraz opcje model lub provider.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-1",
            "position": 1,
            "name": "Zainstaluj provider",
            "text": "Wykonaj krok Zainstaluj provider w przewodniku Używanie AI SDK z CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-2",
            "position": 2,
            "name": "Ustaw klucz API",
            "text": "Zapisz klucz API CometAPI w zmiennej środowiskowej lub polu ustawień używanym przez integrację."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-3",
            "position": 3,
            "name": "Zaimportuj provider",
            "text": "Wykonaj krok Zaimportuj provider w przewodniku Używanie AI SDK z CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Dokumentacja CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integracje",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Używanie AI SDK z CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/ai-sdk"
          }
        ]
      }
    ]
    }
    `}
</script>
