mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-16 23:01:06 +02:00
feat: add Requesty as a model provider
Add Requesty (https://requesty.ai), an OpenAI-compatible LLM router, as a model provider by mirroring the existing OpenRouter integration. Backend: - app/services/requesty_model_normalizer.py: normalizes Requesty's /v1/models catalogue, mapping its flat capability booleans (supports_tool_calling/ supports_vision/supports_image_generation) and context_window field onto the shared normalized shape (Requesty differs from OpenRouter's architecture + supported_parameters + context_length layout) - provider_registry.py: Requesty ProviderSpec (OpenAI-compatible, base URL https://router.requesty.ai/v1, REQUESTY_API_KEY bearer auth) - model_connection_service.py: key verification + live model discovery - quality_score.py: Requesty score entry - unit tests mirroring the OpenRouter normalizer coverage Frontend: - Requesty provider icon + registration, metadata entry, and base-url hint Signed-off-by: Thibault Jaigu <thibault.jaigu@gmail.com>
This commit is contained in:
parent
e32413588e
commit
2ff7ea4cb6
10 changed files with 273 additions and 2 deletions
|
|
@ -29,6 +29,7 @@ import {
|
|||
QwenIcon,
|
||||
RecraftIcon,
|
||||
ReplicateIcon,
|
||||
RequestyIcon,
|
||||
SambaNovaIcon,
|
||||
TogetherAiIcon,
|
||||
VertexAiIcon,
|
||||
|
|
@ -117,6 +118,8 @@ export function getProviderIcon(
|
|||
return <RecraftIcon className={cn(className)} />;
|
||||
case "REPLICATE":
|
||||
return <ReplicateIcon className={cn(className)} />;
|
||||
case "REQUESTY":
|
||||
return <RequestyIcon className={cn(className)} />;
|
||||
case "SAMBANOVA":
|
||||
return <SambaNovaIcon className={cn(className)} />;
|
||||
case "TOGETHER_AI":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue