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

# 大規模言語モデル

## モデルの機能

大規模言語モデル（LLM）は、ディープラーニングと自然言語処理技術に基づく人工知能モデルです。大量のテキストデータでトレーニングされており、人間の言語を理解、生成、処理できます。主に以下の機能を備えています。

* **テキスト生成**

  コンテキストに基づいて論理的に一貫したテキストコンテンツを生成し、必要に応じて出力スタイルを調整できます。
* **言語理解**

  入力テキストの意味を正確に理解し、コンテキストを踏まえた対話をサポートします。
* **テキスト翻訳**

  言語をまたいだ生成と理解の能力を備えており、異なる言語間のテキスト翻訳を実現できます。
* **知識問答**

  豊富な知識を備えており、文化、科学、歴史など、さまざまな分野の質問に回答できます。
* **コード理解と生成**

  コード（Python、Java、C++ など）を理解して生成でき、コードエラーの識別やコード提案などをサポートします。
* **テキスト分類と要約**

  複雑な文章を理解し、情報の分類と抽出を行えます。また、テキストの要点を抽出して自動要約できます。

## モデルの選定

[JieKou AI](https://jiekou.ai/#model-library) では、プラットフォームがサポートする大規模言語モデルの一覧を確認し、モデルの基本概要や価格などの情報を参照できます。特定のモデルをクリックすると詳細ページが開き、必要に応じてオンラインで試用できます。具体的なタスクに基づいて十分に試用したうえで、モデルのパフォーマンスを比較し、適切なモデルを選択できます。

## API 呼び出し

JieKou AI は OpenAI API 標準と互換性のある API サービスを提供しており、既存のアプリケーションに簡単に統合できます。

* [ChatCompletion](https://platform.openai.com/docs/api-reference/chat)。streaming モードと通常モードをサポートします。
* [Completion](https://platform.openai.com/docs/api-reference/completions)。streaming モードと通常モードをサポートします。

すでに OpenAI の ChatCompletion または Completion API を使用している場合は、ベース URL を `https://api.highwayapi.ai/openai` に設定し、API キーを取得して設定し、必要に応じてモデル名を更新するだけで、大規模言語モデル API サービスに接続できます。

<Tip>
  API キーの取得方法については、[API キーの管理](/ja/docs/support/quickstart)を参照してください。
</Tip>

### コード例

#### Python

<CodeGroup>
  ```python ChatCompletion theme={null}
  from openai import OpenAI

  client = OpenAI(
      base_url="https://api.highwayapi.ai/openai",
      api_key="<Your API Key>",
  )

  model = "deepseek/deepseek-r1"
  stream = True  # または False
  max_tokens = 512

  chat_completion_res = client.chat.completions.create(
      model=model,
      messages=[
          {
              "role": "system",
              "content": "あなたはプロフェッショナルな AI ドキュメントアシスタントです。",
          },
          {
              "role": "user",
              "content": "JieKou AI が提供するモデルはどのようなシーンで利用できますか？",
          }
      ],
      stream=stream,
      max_tokens=max_tokens,
  )

  if stream:
      for chunk in chat_completion_res:
          print(chunk.choices[0].delta.content or "", end="")
  else:
      print(chat_completion_res.choices[0].message.content)
  ```

  ```python Completion theme={null}
  from openai import OpenAI

  client = OpenAI(
      base_url="https://api.highwayapi.ai/openai",
      api_key="<Your API Key>",
  )

  model = "deepseek/deepseek-r1"
  stream = True  # または False
  max_tokens = 512

  completion_res = client.completions.create(
      model=model,
      prompt="JieKou AI が提供するモデルはどのようなシーンで利用できますか？",
      stream=stream,
      max_tokens=max_tokens,
  )

  if stream:
      for chunk in completion_res:
          print(chunk.choices[0].text or "", end="")
  else:
      print(completion_res.choices[0].text)
  ```
</CodeGroup>

#### Curl

<CodeGroup>
  ```bash ChatCompletion theme={null}
  export API_KEY="<Your API Key>"

  curl "https://api.highwayapi.ai/openai/v1/chat/completions" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${API_KEY}" \
    -d '{
      "model": "deepseek/deepseek-r1",
      "messages": [
          {
              "role": "system",
              "content": "あなたはプロフェッショナルな AI ドキュメントアシスタントです。"
          },
         {
              "role": "user",
              "content": "JieKou AI が提供するモデルはどのようなシーンで利用できますか？"
          }
      ],
      "max_tokens": 512
  }'
  ```

  ```bash Completion theme={null}
  export API_KEY="<Your API Key>"

  curl "https://api.highwayapi.ai/openai/v1/completions" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${API_KEY}" \
    -d '{
      "model": "deepseek/deepseek-r1",
      "prompt": "JieKou AI が提供するモデルはどのようなシーンで利用できますか？",
      "max_tokens": 512
  }'
  ```
</CodeGroup>

### 主要パラメータ

#### 基本パラメータ

`model`：呼び出すモデルです。[JieKou AI](https://jiekou.ai/#model-library) で、プラットフォームがサポートする大規模言語モデルの一覧を確認できます。

#### メッセージロール

> ChatCompletion にのみ適用されます。

`messages`：大規模モデルとやり取りする際の入出力です。各メッセージはいずれかのロールに属します。メッセージはより良い出力を得るのに役立ちます。より良い結果を得るために、さまざまな方法を試すことができます。

* `content`：メッセージの内容。
* `role`：メッセージ作成者のロール。
  * `system`：AI のロールを設定し、モデルに演じるべき役割や振る舞いを伝えます。
  * `user`：ユーザーがモデルに入力するテキスト。
  * `assistant`：モデルが生成した応答。ユーザーはあらかじめ例を入力して、現在のリクエストにどのように応答すべきかをモデルに伝えることもできます。
* `name`：任意。同じロールのメッセージ作成者を区別するために使用します。

#### プロンプト

> Completion にのみ適用されます。

`prompt`：補完生成のためのプロンプトです。ユーザーが大規模言語モデルに入力するテキスト情報で、解決したい問題や完了したいタスクをモデルに明確に伝えるために使用します。また、モデルが要件を理解し、関連性が高く正確なコンテンツを生成するための基盤でもあります。

#### 生成の制御

パラメータの組み合わせを変えることで、モデルに特定の要件により合ったコンテンツを生成させることができます。

**テキストの多様性**

> `temperature` と `top_p` はどちらも生成テキストの多様性を制御できます。どちらか一方のみを設定することを推奨します。設定値が大きいほど、生成されるテキストはより多様になります。値が小さいほど、生成されるテキストはより決定的になります。

* `temperature`：サンプリング温度。生成テキストのランダム性を調整します。
* `top_p`：核サンプリング。候補語の累積確率を制御します。
* `top_k`：候補語の数を制限します。

**コンテンツの重複性**

* `presence_penalty`：存在ペナルティ。モデルがテキストを生成する際のコンテンツの重複度を制御します。ある Token がテキスト内にすでに出現している場合、ペナルティが与えられ、モデルがより多くの新しい Token を導入しやすくなります。
* `frequency_penalty`：確率ペナルティ。生成テキスト内で特定の語が出現する頻度を制御します。Token がテキスト内に出現するたびにペナルティを与えることで、それらの Token が将来の生成で出現する確率を下げ、モデルが同じ Token を繰り返し使用するのを防ぎます。
* `repetition_penalty`：反復ペナルティ値。反復を抑制または促進するために使用します。

#### 出力制限

* `max_tokens`：1 回のリクエストで返される最大 Token 数です。モデルが生成した Token 数が `max_tokens` の値を超える場合、切り詰められたコンテンツが返されます。
* `stream`：出力をストリーミング出力にするかどうかを制御します。出力内容が多いモデルでは、出力が長すぎてタイムアウトするのを防ぐため、ストリーミング出力に設定することを推奨します。
  * `true`：ストリーミング出力。生成しながら出力し、モデルが一部のコンテンツを生成するたびに断片を返します。
  * `false`：モデルがすべてのコンテンツを生成し終えてから、結果を一括で返します。
* `stop`：終了文字。モデルが生成したテキストに `stop` で設定した文字列が含まれると、モデルは出力を停止します。
