mirror of
https://github.com/wassname/openrouter-python-sdk-retry-errors.git
synced 2026-07-29 11:23:49 +08:00
78 lines
29 KiB
Markdown
78 lines
29 KiB
Markdown
# Chat
|
|
(*chat*)
|
|
|
|
## Overview
|
|
|
|
### Available Operations
|
|
|
|
* [send](#send) - Create a chat completion
|
|
|
|
## send
|
|
|
|
Sends a request for a model response for the given chat conversation. Supports both streaming and non-streaming modes.
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="sendChatCompletionRequest" method="post" path="/chat/completions" -->
|
|
```python
|
|
from openrouter import OpenRouter
|
|
import os
|
|
|
|
|
|
with OpenRouter(
|
|
api_key=os.getenv("OPENROUTER_API_KEY", ""),
|
|
) as open_router:
|
|
|
|
res = open_router.chat.send(messages=[], stream=False)
|
|
|
|
with res as event_stream:
|
|
for event in event_stream:
|
|
# handle event
|
|
print(event, flush=True)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `messages` | List[[components.Message](../../components/message.md)] | :heavy_check_mark: | N/A |
|
|
| `provider` | [OptionalNullable[components.ChatGenerationParamsProvider]](../../components/chatgenerationparamsprovider.md) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. |
|
|
| `plugins` | List[[components.ChatGenerationParamsPluginUnion](../../components/chatgenerationparamspluginunion.md)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. |
|
|
| `route` | [OptionalNullable[components.Route]](../../components/route.md) | :heavy_minus_sign: | N/A |
|
|
| `user` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
|
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow) for observability. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 128 characters. |
|
|
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A |
|
|
| `models` | List[*str*] | :heavy_minus_sign: | N/A |
|
|
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A |
|
|
| `logit_bias` | Dict[str, *float*] | :heavy_minus_sign: | N/A |
|
|
| `logprobs` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A |
|
|
| `top_logprobs` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A |
|
|
| `max_completion_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A |
|
|
| `max_tokens` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A |
|
|
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | N/A |
|
|
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A |
|
|
| `reasoning` | [Optional[components.Reasoning]](../../components/reasoning.md) | :heavy_minus_sign: | N/A |
|
|
| `response_format` | [Optional[components.ChatGenerationParamsResponseFormatUnion]](../../components/chatgenerationparamsresponseformatunion.md) | :heavy_minus_sign: | N/A |
|
|
| `seed` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A |
|
|
| `stop` | [OptionalNullable[components.ChatGenerationParamsStop]](../../components/chatgenerationparamsstop.md) | :heavy_minus_sign: | N/A |
|
|
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A |
|
|
| `stream_options` | [OptionalNullable[components.ChatStreamOptions]](../../components/chatstreamoptions.md) | :heavy_minus_sign: | N/A |
|
|
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A |
|
|
| `tool_choice` | *Optional[Any]* | :heavy_minus_sign: | N/A |
|
|
| `tools` | List[[components.ToolDefinitionJSON](../../components/tooldefinitionjson.md)] | :heavy_minus_sign: | N/A |
|
|
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A |
|
|
| `debug` | [Optional[components.Debug]](../../components/debug.md) | :heavy_minus_sign: | N/A |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.SendChatCompletionRequestResponse](../../operations/sendchatcompletionrequestresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| ----------------------------- | ----------------------------- | ----------------------------- |
|
|
| errors.ChatError | 400, 401, 429 | application/json |
|
|
| errors.ChatError | 500 | application/json |
|
|
| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* | |