feat: support base64 and upload image input modes in chat
Add a unified way to send images in chat: inline base64 data URLs (passed through natively) or auto-upload via image_input_mode="upload", which replaces inline data URLs with hosted URLs using upload_chat_image. - New fastgpt_client/images.py with content-part / data-URL helpers - image_input_mode + appId/outLinkAuthData params on create_chat_completion (sync and async); upload failures fall back to inline base64 - Tests covering helpers, both modes, validation, and fallback Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,14 @@ from fastgpt_client.exceptions import (
|
||||
StreamParseError,
|
||||
ValidationError,
|
||||
)
|
||||
from fastgpt_client.images import (
|
||||
decode_data_url,
|
||||
encode_image_data_url,
|
||||
image_part_from_bytes,
|
||||
image_part_from_path,
|
||||
image_url_part,
|
||||
is_data_url,
|
||||
)
|
||||
from fastgpt_client.streaming import aiter_stream_events, iter_stream_events
|
||||
from fastgpt_client.stream_types import FastGPTInteractiveEvent, FastGPTStreamEvent
|
||||
|
||||
@@ -41,6 +49,13 @@ __all__ = [
|
||||
"aiter_stream_events",
|
||||
"FastGPTStreamEvent",
|
||||
"FastGPTInteractiveEvent",
|
||||
# Image helpers
|
||||
"encode_image_data_url",
|
||||
"decode_data_url",
|
||||
"is_data_url",
|
||||
"image_url_part",
|
||||
"image_part_from_bytes",
|
||||
"image_part_from_path",
|
||||
]
|
||||
|
||||
__version__ = "0.1.0"
|
||||
|
||||
Reference in New Issue
Block a user