feat: add FastAPI manager API compatibility baseline

This commit is contained in:
Tyke Chen
2026-07-20 17:00:13 +08:00
parent 7c58fa37b2
commit 804ddb51f2
140 changed files with 47169 additions and 1 deletions
@@ -0,0 +1,63 @@
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.data.redis.serializer.RedisSerializer;
import cn.hutool.json.JSONObject;
import xiaozhi.modules.model.entity.ModelConfigEntity;
import xiaozhi.modules.sys.vo.SysDictDataItem;
import xiaozhi.modules.timbre.vo.TimbreDetailsVO;
public final class RedisCodecVectors {
private RedisCodecVectors() {}
private static void vector(String name, Object value) {
RedisSerializer<Object> serializer = RedisSerializer.json();
byte[] bytes = serializer.serialize(value);
Object decoded = serializer.deserialize(bytes);
System.out.println(name + "\t" + new String(bytes, StandardCharsets.UTF_8)
+ "\t" + (decoded == null ? "null" : decoded.getClass().getName()));
}
public static void main(String[] args) {
vector("string", "hello");
vector("integer", Integer.valueOf(7));
vector("long", Long.valueOf(2147483648L));
vector("boolean", Boolean.TRUE);
Map<String, Object> map = new HashMap<>();
map.put("text", "hello");
map.put("number", Long.valueOf(2147483648L));
map.put("list", new ArrayList<>(List.of("a", "b")));
Map<String, Object> nested = new HashMap<>();
nested.put("enabled", Boolean.TRUE);
map.put("nested", nested);
vector("map", map);
vector("list", new ArrayList<>(List.of("a", Long.valueOf(2147483648L), nested)));
vector("date", new Date(0));
TimbreDetailsVO timbre = new TimbreDetailsVO();
timbre.setId("voice-1");
timbre.setName("sample");
timbre.setSort(2L);
vector("pojo", timbre);
ModelConfigEntity model = new ModelConfigEntity();
model.setId("model-1");
model.setModelType("LLM");
JSONObject config = new JSONObject();
config.set("type", "openai");
config.set("api_key", "secret");
model.setConfigJson(config);
vector("model-pojo", model);
SysDictDataItem item = new SysDictDataItem();
item.setName("China");
item.setKey("+86");
vector("dict-list", new ArrayList<>(List.of(item)));
}
}