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

# チャット補完

> PHP SDK で /chat/completions を呼び出します。

**メソッド**: `generateText()`, `createChatCompletion()`

### 例

```php theme={null}
<?php

require 'vendor/autoload.php';

use Phaseo\Sdk\Phaseo;

$apiKey = getenv('PHASEO_API_KEY');
$client = new Phaseo(apiKey: $apiKey);

$response = $client->createChatCompletion([
    'model' => 'openai/gpt-4o-mini',
    'messages' => [[
        'role' => 'user',
        'content' => 'Write a limerick about lighthouses.',
    ]],
    'temperature' => 0.5
]);
echo $response['choices'][0]['message']['content'];
```

### 主なパラメーター

* `model`（必須）：対象モデルの ID。
* `messages`（必須）：`system|user|assistant|tool` のロールを持つ順序付きメッセージ。コンテンツには MessageContent オブジェクトを使用します。
* サンプリング：`temperature`（0～2）、`top_p`（0～1）、`top_k`（>=1）、`seed`（int、任意）。
* 長さとペナルティ：`max_output_tokens`（int）、`presence_penalty` と `frequency_penalty`（-2～2）、`stop`（string|string\[]）。
* ツール：`tools`（定義）、`tool_choice`（自動/なし/特定のツール）、`max_tool_calls`（int）、`parallel_tool_calls`（bool）。
* Logprobs：`logprobs`（bool）、`top_logprobs`（0～20）。
* 出力：`response_format`（json/text）、meta ブロックを含める `meta`（bool）、`stream`（bool）、`service_tier`。
* Gateway の追加オプション：使用量をリクエストする `usage`（bool）。

### 戻り値

ChatCompletionsResponse の JSON オブジェクト。

```json theme={null}
{
	"id": "chatcmpl-123",
	"object": "chat.completion",
	"created": 1677652288,
	"model": "gpt-3.5-turbo-0125",
	"choices": [
		{
			"index": 0,
			"message": {
				"role": "assistant",
				"content": "Hello there, how may I assist you today?"
			},
			"finish_reason": "stop"
		}
	],
	"usage": {
		"prompt_tokens": 9,
		"completion_tokens": 12,
		"total_tokens": 21
	}
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.