add documents
This commit is contained in:
315
docs/api/chat_client.md
Normal file
315
docs/api/chat_client.md
Normal file
@@ -0,0 +1,315 @@
|
||||
# ChatClient
|
||||
|
||||
The `ChatClient` provides methods for chat completions and conversation management.
|
||||
|
||||
## Initialization
|
||||
|
||||
```python
|
||||
from fastgpt_client import ChatClient
|
||||
|
||||
client = ChatClient(
|
||||
api_key="fastgpt-xxxxx",
|
||||
base_url="http://localhost:3000"
|
||||
)
|
||||
```
|
||||
|
||||
## Methods
|
||||
|
||||
### create_chat_completion
|
||||
|
||||
Create a chat completion (synchronous or streaming).
|
||||
|
||||
```python
|
||||
client.create_chat_completion(
|
||||
messages: list[dict],
|
||||
stream: bool = False,
|
||||
chatId: str | None = None,
|
||||
detail: bool = False,
|
||||
variables: dict[str, Any] | None = None,
|
||||
responseChatItemId: str | None = None
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `messages` | `list[dict]` | Yes | Array of message objects with `role` and `content` |
|
||||
| `stream` | `bool` | No | Whether to stream the response (default: `False`) |
|
||||
| `chatId` | `str` | No | Chat ID for conversation context |
|
||||
| `detail` | `bool` | No | Whether to return detailed execution data (default: `False`) |
|
||||
| `variables` | `dict` | No | Template variables for substitution |
|
||||
| `responseChatItemId` | `str` | No | Custom ID for the response message |
|
||||
|
||||
**Example:**
|
||||
|
||||
```python
|
||||
response = client.create_chat_completion(
|
||||
messages=[
|
||||
{"role": "user", "content": "Hello!"},
|
||||
{"role": "assistant", "content": "Hi there!"},
|
||||
{"role": "user", "content": "How are you?"}
|
||||
],
|
||||
stream=False
|
||||
)
|
||||
result = response.json()
|
||||
print(result['choices'][0]['message']['content'])
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### get_chat_histories
|
||||
|
||||
Get chat histories for an application.
|
||||
|
||||
```python
|
||||
client.get_chat_histories(
|
||||
appId: str,
|
||||
offset: int = 0,
|
||||
pageSize: int = 20,
|
||||
source: Literal["api", "online", "share", "test"] = "api"
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `offset` | `int` | No | Offset for pagination (default: `0`) |
|
||||
| `pageSize` | `int` | No | Number of records per page (default: `20`) |
|
||||
| `source` | `str` | No | Source filter (default: `"api"`) |
|
||||
|
||||
**Example:**
|
||||
|
||||
```python
|
||||
response = client.get_chat_histories(
|
||||
appId="app-123",
|
||||
offset=0,
|
||||
pageSize=20,
|
||||
source="api"
|
||||
)
|
||||
data = response.json()
|
||||
for chat in data['data']['list']:
|
||||
print(f"{chat['title']}: {chat['chatId']}")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### get_chat_init
|
||||
|
||||
Get chat initialization information.
|
||||
|
||||
```python
|
||||
client.get_chat_init(
|
||||
appId: str,
|
||||
chatId: str
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `chatId` | `str` | Yes | Chat ID |
|
||||
|
||||
---
|
||||
|
||||
### get_chat_records
|
||||
|
||||
Get chat records for a specific chat.
|
||||
|
||||
```python
|
||||
client.get_chat_records(
|
||||
appId: str,
|
||||
chatId: str,
|
||||
offset: int = 0,
|
||||
pageSize: int = 10,
|
||||
loadCustomFeedbacks: bool = False
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `chatId` | `str` | Yes | Chat ID |
|
||||
| `offset` | `int` | No | Offset for pagination (default: `0`) |
|
||||
| `pageSize` | `int` | No | Number of records per page (default: `10`) |
|
||||
| `loadCustomFeedbacks` | `bool` | No | Whether to load custom feedbacks (default: `False`) |
|
||||
|
||||
---
|
||||
|
||||
### get_record_detail
|
||||
|
||||
Get detailed execution data for a specific record.
|
||||
|
||||
```python
|
||||
client.get_record_detail(
|
||||
appId: str,
|
||||
chatId: str,
|
||||
dataId: str
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `chatId` | `str` | Yes | Chat ID |
|
||||
| `dataId` | `str` | Yes | Record ID |
|
||||
|
||||
---
|
||||
|
||||
### update_chat_history
|
||||
|
||||
Update chat history (title or pin status).
|
||||
|
||||
```python
|
||||
client.update_chat_history(
|
||||
appId: str,
|
||||
chatId: str,
|
||||
customTitle: str | None = None,
|
||||
top: bool | None = None
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `chatId` | `str` | Yes | Chat ID |
|
||||
| `customTitle` | `str` | No | Custom title for the chat |
|
||||
| `top` | `bool` | No | Whether to pin the chat |
|
||||
|
||||
---
|
||||
|
||||
### delete_chat_history
|
||||
|
||||
Delete a chat history.
|
||||
|
||||
```python
|
||||
client.delete_chat_history(
|
||||
appId: str,
|
||||
chatId: str
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `chatId` | `str` | Yes | Chat ID |
|
||||
|
||||
---
|
||||
|
||||
### clear_chat_histories
|
||||
|
||||
Clear all chat histories for an application.
|
||||
|
||||
```python
|
||||
client.clear_chat_histories(
|
||||
appId: str
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
|
||||
---
|
||||
|
||||
### delete_chat_record
|
||||
|
||||
Delete a single chat record.
|
||||
|
||||
```python
|
||||
client.delete_chat_record(
|
||||
appId: str,
|
||||
chatId: str,
|
||||
contentId: str
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `chatId` | `str` | Yes | Chat ID |
|
||||
| `contentId` | `str` | Yes | Content ID of the record |
|
||||
|
||||
---
|
||||
|
||||
### send_feedback
|
||||
|
||||
Send feedback for a chat message (like/dislike).
|
||||
|
||||
```python
|
||||
client.send_feedback(
|
||||
appId: str,
|
||||
chatId: str,
|
||||
dataId: str,
|
||||
userGoodFeedback: str | None = None,
|
||||
userBadFeedback: str | None = None
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `chatId` | `str` | Yes | Chat ID |
|
||||
| `dataId` | `str` | Yes | Message ID |
|
||||
| `userGoodFeedback` | `str` | No | Positive feedback text |
|
||||
| `userBadFeedback` | `str` | No | Negative feedback text |
|
||||
|
||||
**Example:**
|
||||
|
||||
```python
|
||||
# Like a message
|
||||
client.send_feedback(
|
||||
appId="app-123",
|
||||
chatId="chat-123",
|
||||
dataId="msg-123",
|
||||
userGoodFeedback="Great answer!"
|
||||
)
|
||||
|
||||
# Dislike a message
|
||||
client.send_feedback(
|
||||
appId="app-123",
|
||||
chatId="chat-123",
|
||||
dataId="msg-123",
|
||||
userBadFeedback="Not helpful"
|
||||
)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### get_suggested_questions
|
||||
|
||||
Get suggested questions based on chat context.
|
||||
|
||||
```python
|
||||
client.get_suggested_questions(
|
||||
appId: str,
|
||||
chatId: str,
|
||||
questionGuide: dict[str, Any] | None = None
|
||||
) -> httpx.Response
|
||||
```
|
||||
|
||||
**Parameters:**
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
|-----------|------|----------|-------------|
|
||||
| `appId` | `str` | Yes | Application ID |
|
||||
| `chatId` | `str` | Yes | Chat ID |
|
||||
| `questionGuide` | `dict` | No | Custom configuration for question guide |
|
||||
Reference in New Issue
Block a user