feat: add GPU service uapi registration script

This commit is contained in:
yumoqing 2026-07-27 12:06:32 +08:00
parent 91bbee9a14
commit e79ddaab51

66
scripts/init_uapi_gpu.py Normal file
View File

@ -0,0 +1,66 @@
import asyncio, uuid
from sqlor.dbpools import DBPools
from appPublic.jsonConfig import getConfig
async def main():
config = getConfig('.')
DBPools(config.databases)
db = DBPools()
async with db.sqlorContext('rag') as sor:
upapps = [
('rag-vdb', 'VDB向量库', 'Milvus向量数据库', 'https://vectordb.opencomputing.net', ''),
('rag-reranker', 'Reranker重排', 'BGE Reranker重排序服务', 'https://reranker.opencomputing.net', ''),
('rag-face', '人脸服务', '人脸检测/识别/比对', 'https://face.opencomputing.net', ''),
('rag-graph', '图数据库', 'Neo4j图数据库', 'https://graphdb.opencomputing.net', ''),
('rag-ner', 'NER实体识别', '命名实体识别服务', 'https://entities.opencomputing.net', ''),
('rag-embedding', 'CLIP向量化', 'CLIP模型向量化服务', 'https://embedding.opencomputing.net', ''),
]
for uid, name, desc, baseurl, myappid in upapps:
await sor.sqlExe(
"INSERT IGNORE INTO upapp (id, name, description, baseurl, myappid) "
"VALUES (${id}$, ${name}$, ${desc}$, ${baseurl}$, ${myappid}$)",
{"id": uid, "name": name, "desc": desc, "baseurl": baseurl, "myappid": myappid})
print(f'upapp: {len(upapps)} inserted')
apis = [
# VDB
('vdb-upsert', 'rag-vdb', 'upsert', '向量插入', 'POST', '/v1/upsert',
'{"collectionName": "{{collection}}", "data": {{json.dumps(data)}}}'),
('vdb-search', 'rag-vdb', 'search', '向量检索', 'POST', '/v1/search',
'{"collectionName": "{{collection}}", "vector": {{json.dumps(vector)}}, "topK": {{top_k}}}'),
('vdb-delete', 'rag-vdb', 'delete', '向量删除', 'POST', '/v1/delete',
'{"colname": "{{colname}}", "ids": {{json.dumps(ids)}}}'),
# Reranker
('reranker-rerank', 'rag-reranker', 'rerank', '文本重排序', 'POST', '/api/rerank',
'{"query": "{{query}}", "documents": {{json.dumps(documents)}}}'),
# Face
('face-detect', 'rag-face', 'detect', '人脸检测', 'POST', '/api/detect',
'{"image_url": "{{image_url}}"}'),
('face-recognize', 'rag-face', 'recognize', '人脸识别', 'POST', '/api/recognize',
'{"image_url": "{{image_url}}", "face_id": "{{face_id}}"}'),
('face-compare', 'rag-face', 'compare', '人脸比对', 'POST', '/api/compare',
'{"image_url1": "{{image_url1}}", "image_url2": "{{image_url2}}"}'),
# Graph
('graph-save', 'rag-graph', 'save', '保存图', 'POST', '/api/graph/save',
'{"graph": "{{graph}}", "data": {{json.dumps(data)}}}'),
('graph-query', 'rag-graph', 'query', '查询图', 'POST', '/api/graph/query',
'{"graph": "{{graph}}", "query": "{{query}}"}'),
('graph-delete', 'rag-graph', 'delete', '删除图', 'POST', '/api/graph/delete',
'{"graph": "{{graph}}"}'),
# NER
('ner-entities', 'rag-ner', 'entities', '实体识别', 'POST', '/api/entities',
'{"text": "{{text}}"}'),
# Embedding
('emb-embed', 'rag-embedding', 'embed', '文本向量化', 'POST', '/api/embed',
'{"texts": {{json.dumps(texts)}}, "model": "{{model}}"}'),
]
for aid, upappid, name, title, method, path, data in apis:
await sor.sqlExe(
"INSERT IGNORE INTO uapi (id, upappid, name, title, httpmethod, path, data) "
"VALUES (${id}$, ${upappid}$, ${name}$, ${title}$, ${method}$, ${path}$, ${data}$)",
{"id": aid, "upappid": upappid, "name": name, "title": title,
"method": method, "path": path, "data": data})
print(f'uapi: {len(apis)} inserted')
asyncio.run(main())