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

# Vercel

[Vercel](https://vercel.com/) は、Web アプリケーションのデプロイとホスティングを行うためのプラットフォームです。開発者は Vercel を通じて、Web サイトやサーバーレス関数を容易に管理できます。

## 前提条件

* [SambaCloud アカウント](https://cloud.sambanova.ai/?utm_source=vercel\&utm_medium=external\&utm_campaign=cloud_signup)
* [SambaNova API キー](https://cloud.sambanova.ai/apis?utm_source=vercel\&utm_medium=external\&utm_campaign=cloud_signup)
* Node.js 18 以上

## セットアップ

SambaNova プロバイダーは `sambanova-ai-provider` モジュールとして提供されています。以下のコマンドでインストールできます。

<CodeGroup>
  ```npm npm theme={}
  npm install sambanova-ai-provider
  ```

  ```yarn yarn theme={}
  yarn add sambanova-ai-provider
  ```

  ```pnpm pnpm theme={}
  pnpm add sambanova-ai-provider
  ```
</CodeGroup>

### 環境変数

プロジェクトルートに `.env` ファイルを作成します。

```bash theme={}
SAMBANOVA_API_KEY=your-sambacloud-api-key
```

## プロバイダーインスタンス

デフォルトのプロバイダーインスタンス `sambanova` を `sambanova-ai-provider` からインポートできます。

```typescript theme={}
import { sambanova } from 'sambanova-ai-provider';
```

カスタマイズした設定が必要な場合は、`sambanova-ai-provider` から `createSambaNova` をインポートし、独自の設定でプロバイダーインスタンスを作成できます。

```typescript theme={}
import { createSambaNova } from 'sambanova-ai-provider';

const sambanova = createSambaNova({
  // Optional settings
});
```

以下の任意の設定を使用して、SambaNova プロバイダーインスタンスをカスタマイズできます。

* **baseURL** *string*

  API 呼び出しに使用する URL プレフィックスを変更します (例: プロキシサーバーを使用する場合)。デフォルトのプレフィックスは `https://api.sambanova.ai/v1` です。
* **apiKey** *string*

  `Authorization` ヘッダーで送信される API キーです。デフォルトでは、環境変数 `SAMBANOVA_API_KEY` が使用されます。
* **headers** *Record\<string,string>*

  リクエストに含めるカスタムヘッダーを指定します。
* **fetch** *(input: RequestInfo, init?: RequestInit) => Promise\<Response>*

  カスタム [fetch](https://developer.mozilla.org/en-US/docs/Web/API/fetch) 実装を指定します。デフォルトではグローバルの `fetch` 関数が使用されます。リクエストをインターセプトするミドルウェアとして利用したり、テストなどのためにカスタム fetch 実装を差し込んだりすることも可能です。

## モデル

プロバイダーインスタンスでは、任意の [SambaCloud モデル](/docs/ja/models/sambacloud-models)を使用できます。最初の引数にはモデル ID を指定します (例: `Meta-Llama-3.3-70B-Instruct`)。

```typescript theme={}
const model = sambanova('Meta-Llama-3.3-70B-Instruct');
```

## 使用例

SambaNova プロバイダーを使用したテキスト生成の基本的な例です。

```typescript theme={}
import { createSambaNova } from 'sambanova-ai-provider';
import { generateText } from 'ai';

const sambanova = createSambaNova({
  apiKey: 'YOUR_API_KEY',
});

const model = sambanova('Meta-Llama-3.3-70B-Instruct');

const { text } = await generateText({
  model,
  prompt: 'Hello, nice to meet you.',
});

console.log(text);
```

以下のような出力が得られます。

```text theme={}
Hello. Nice to meet you too. Is there something I can help you with or would you like to chat?
```

## fetch リクエストのインターセプト

fetch リクエストのインターセプトに対応しています。詳細は [Vercel AI SDK の fetch リクエストインターセプトの例](https://sdk.vercel.ai/examples/providers/intercepting-fetch-requests) をご覧ください。

### 使用例

```typescript theme={}
import { createSambaNova } from 'sambanova-ai-provider';
import { generateText } from 'ai';

const sambanovaProvider = createSambaNova({
  apiKey: 'YOUR_API_KEY',
  fetch: async (url, options) => {
    console.log('URL', url);
    console.log('Headers', JSON.stringify(options.headers, null, 2));
    console.log(`Body ${JSON.stringify(JSON.parse(options.body), null, 2)}`);
    return await fetch(url, options);
  },
});

const model = sambanovaProvider('Meta-Llama-3.3-70B-Instruct');

const { text } = await generateText({
  model,
  prompt: 'Hello, nice to meet you.',
});
```

### 出力例

```text theme={}
URL https://api.sambanova.ai/v1/chat/completions
Headers {
  "Content-Type": "application/json",
  "Authorization": "Bearer YOUR_API_KEY"
}
Body {
  "model": "Meta-Llama-3.3-70B-Instruct",
  "temperature": 0,
  "messages": [
    {
      "role": "user",
      "content": "Hello, nice to meet you."
    }
  ]
}
```

## トラブルシューティング

<AccordionGroup>
  <Accordion title="認証エラーまたは 401 Unauthorized">
    `.env` ファイルに `SAMBANOVA_API_KEY` が設定されており、[SambaNova API ダッシュボード](https://cloud.sambanova.ai/apis?utm_source=vercel\&utm_medium=external\&utm_campaign=cloud_signup) のキーと一致していることを確認してください。
  </Accordion>

  <Accordion title="Module not found: sambanova-ai-provider">
    `npm install sambanova-ai-provider` (または `yarn add` / `pnpm add`) を実行してください。使用しているパッケージマネージャーとインストールコマンドが一致していることを確認してください。
  </Accordion>

  <Accordion title="モデルが見つからない、または無効なモデル ID">
    モデル ID が正しいことを確認してください。有効な ID は [利用可能なモデル](/docs/ja/models/sambacloud-models) をご参照ください。
  </Accordion>
</AccordionGroup>
