mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
feat(docs): enhance LLM model configs API documentation with schema updates
- Add `model_type` field to database schema with supported values (text, vision, stt, tts, multimodal, embedding, reranking, other) - Add `name` field as table-level column for indexing and filtering - Add reserved JSONB fields for future extensibility - Update API request/response schemas to include `model_type` and `name` fields - Add new `LLMModelConfigWithSource` schema for detailed configuration responses - Update usage examples to reflect new required fields - Improve database constraints and indexing documentation
This commit is contained in:
1 parent
b968920a75
commit
d42fff49a5
6 files changed
+272
-58
No files matched your search
@@ -97,6 +97,8 @@ async def get_user_own_llm_model_configs(
|
||||
return [
|
||||
schemas.LLMModelConfigResponse(
|
||||
config_id=config.config_id,
|
||||
name=config.name,
|
||||
model_type=config.model_type,
|
||||
config=config.config,
|
||||
user_id=config.user_id,
|
||||
group_id=config.group_id,
|
||||
@@ -139,15 +141,20 @@ async def create_user_llm_model_config(
|
||||
raise ControllerNotFoundError(f"User '{user_id}' not found")
|
||||
|
||||
try:
|
||||
config_data = config_create.model_dump(exclude={"is_default"})
|
||||
# Extract config fields (excluding table-level fields)
|
||||
config_fields = config_create.model_dump(exclude={"name", "model_type", "is_default"})
|
||||
new_config = await llm_repo.create_user_config(
|
||||
user_id,
|
||||
config_data,
|
||||
config_create.name,
|
||||
config_create.model_type,
|
||||
config_fields,
|
||||
is_default=config_create.is_default
|
||||
)
|
||||
|
||||
return schemas.LLMModelConfigResponse(
|
||||
config_id=new_config.config_id,
|
||||
name=new_config.name,
|
||||
model_type=new_config.model_type,
|
||||
config=new_config.config,
|
||||
user_id=new_config.user_id,
|
||||
group_id=new_config.group_id,
|
||||
@@ -206,6 +213,8 @@ async def update_user_llm_model_config(
|
||||
|
||||
return schemas.LLMModelConfigResponse(
|
||||
config_id=updated_config.config_id,
|
||||
name=updated_config.name,
|
||||
model_type=updated_config.model_type,
|
||||
config=updated_config.config,
|
||||
user_id=updated_config.user_id,
|
||||
group_id=updated_config.group_id,
|
||||
@@ -293,6 +302,8 @@ async def set_user_default_llm_model_config(
|
||||
config = await llm_repo.get_user_config(config_id)
|
||||
return schemas.LLMModelConfigResponse(
|
||||
config_id=config.config_id,
|
||||
name=config.name,
|
||||
model_type=config.model_type,
|
||||
config=config.config,
|
||||
user_id=config.user_id,
|
||||
group_id=config.group_id,
|
||||
@@ -335,6 +346,8 @@ async def get_group_llm_model_configs(
|
||||
return [
|
||||
schemas.LLMModelConfigResponse(
|
||||
config_id=config.config_id,
|
||||
name=config.name,
|
||||
model_type=config.model_type,
|
||||
config=config.config,
|
||||
user_id=config.user_id,
|
||||
group_id=config.group_id,
|
||||
@@ -377,15 +390,20 @@ async def create_group_llm_model_config(
|
||||
raise ControllerNotFoundError(f"User group '{group_id}' not found")
|
||||
|
||||
try:
|
||||
config_data = config_create.model_dump(exclude={"is_default"})
|
||||
# Extract config fields (excluding table-level fields)
|
||||
config_fields = config_create.model_dump(exclude={"name", "model_type", "is_default"})
|
||||
new_config = await llm_repo.create_group_config(
|
||||
group_id,
|
||||
config_data,
|
||||
config_create.name,
|
||||
config_create.model_type,
|
||||
config_fields,
|
||||
is_default=config_create.is_default
|
||||
)
|
||||
|
||||
return schemas.LLMModelConfigResponse(
|
||||
config_id=new_config.config_id,
|
||||
name=new_config.name,
|
||||
model_type=new_config.model_type,
|
||||
config=new_config.config,
|
||||
user_id=new_config.user_id,
|
||||
group_id=new_config.group_id,
|
||||
@@ -444,6 +462,8 @@ async def update_group_llm_model_config(
|
||||
|
||||
return schemas.LLMModelConfigResponse(
|
||||
config_id=updated_config.config_id,
|
||||
name=updated_config.name,
|
||||
model_type=updated_config.model_type,
|
||||
config=updated_config.config,
|
||||
user_id=updated_config.user_id,
|
||||
group_id=updated_config.group_id,
|
||||
@@ -531,6 +551,8 @@ async def set_group_default_llm_model_config(
|
||||
config = await llm_repo.get_group_config(config_id)
|
||||
return schemas.LLMModelConfigResponse(
|
||||
config_id=config.config_id,
|
||||
name=config.name,
|
||||
model_type=config.model_type,
|
||||
config=config.config,
|
||||
user_id=config.user_id,
|
||||
group_id=config.group_id,
|
||||
|
||||
Reference in new issue
Block a user