bugfix
This commit is contained in:
parent
fa20715d63
commit
e35fc0545f
@ -20,9 +20,25 @@ class BaseEmbedding:
|
||||
device = torch.device("mps")
|
||||
self.model = self.model.to(device)
|
||||
|
||||
def embedding(self, doc):
|
||||
es = self.model.encode([doc])[0]
|
||||
return es.tolist()
|
||||
def embeddings(self, input):
|
||||
es = self.model.encode(input)
|
||||
data = []
|
||||
for i, e in enumerate(es):
|
||||
d = {
|
||||
"object": "embedding",
|
||||
"index": i,
|
||||
"embedding": e.tolist()
|
||||
}
|
||||
data.append(d)
|
||||
return {
|
||||
"object": "list",
|
||||
"data": data,
|
||||
"model": self.model_id.split('/')[-1],
|
||||
"usage": {
|
||||
"prompt_tokens": 0,
|
||||
"total_tokens": 0
|
||||
}
|
||||
}
|
||||
|
||||
def similarity(self, qvector, dcovectors):
|
||||
s = self.model.similarity([qvector], docvectors)
|
||||
|
@ -16,14 +16,35 @@ from aiohttp_session import get_session
|
||||
|
||||
def init():
|
||||
rf = RegisterFunction()
|
||||
rf.register('embedding', embedding)
|
||||
rf.register('embeddings', embeddings)
|
||||
|
||||
async def embedding(request, params_kw, *params, **kw):
|
||||
debug(f'{params_kw.doc=}')
|
||||
async def docs(request, params_kw, *params, **kw):
|
||||
txt = """embeddings api:
|
||||
path: /v1/embeddings
|
||||
headers: {
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
data: {
|
||||
"input": "this is a test"
|
||||
}
|
||||
or {
|
||||
"input":[
|
||||
"this is first sentence",
|
||||
"this is second setence"
|
||||
]
|
||||
}
|
||||
async def embeddings(request, params_kw, *params, **kw):
|
||||
debug(f'{params_kw.input=}')
|
||||
se = ServerEnv()
|
||||
engine = se.engine
|
||||
f = awaitify(engine.embedding)
|
||||
arr = await f(params_kw.doc)
|
||||
f = awaitify(engine.embeddings)
|
||||
input = params_kw.input
|
||||
if input is None:
|
||||
e = exception(f'input is None')
|
||||
raise e
|
||||
if isinstance(input, str):
|
||||
input = [input]
|
||||
arr = await f(input)
|
||||
debug(f'{arr=}, type(arr)')
|
||||
return arr
|
||||
|
||||
|
3
test/chat/Qwen3-0.6B
Executable file
3
test/chat/Qwen3-0.6B
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
~/models/tsfm.env/bin/python -m llmengine.server -w ~/models/tsfm -p 9999 ~/models/Qwen/Qwen3-0.6B
|
3
test/chat/Qwen3-Embedding-0.6B
Executable file
3
test/chat/Qwen3-Embedding-0.6B
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
~/models/tsfm.env/bin/python -m llmengine.embedding -w ~/models/tsfm -p 9998 ~/models/Qwen/Qwen3-Embedding-0.6B
|
51
test/chat/conf/config.json
Normal file
51
test/chat/conf/config.json
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
"filesroot":"$[workdir]$/files",
|
||||
"logger":{
|
||||
"name":"llmengine",
|
||||
"levelname":"info",
|
||||
"logfile":"$[workdir]$/logs/llmengine.log"
|
||||
},
|
||||
"website":{
|
||||
"paths":[
|
||||
["$[workdir]$/wwwroot",""]
|
||||
],
|
||||
"client_max_size":10000,
|
||||
"host":"0.0.0.0",
|
||||
"port":9995,
|
||||
"coding":"utf-8",
|
||||
"ssl_gg":{
|
||||
"crtfile":"$[workdir]$/conf/www.bsppo.com.pem",
|
||||
"keyfile":"$[workdir]$/conf/www.bsppo.com.key"
|
||||
},
|
||||
"indexes":[
|
||||
"index.html",
|
||||
"index.ui"
|
||||
],
|
||||
"startswiths":[
|
||||
{
|
||||
"leading":"/idfile",
|
||||
"registerfunction":"idfile"
|
||||
},{
|
||||
"leading": "/v1/chat/completions",
|
||||
"registerfunction": "chat_completions"
|
||||
}
|
||||
],
|
||||
"processors":[
|
||||
[".tmpl","tmpl"],
|
||||
[".app","app"],
|
||||
[".ui","bui"],
|
||||
[".dspy","dspy"],
|
||||
[".md","md"]
|
||||
],
|
||||
"rsakey_oops":{
|
||||
"privatekey":"$[workdir]$/conf/rsa_private_key.pem",
|
||||
"publickey":"$[workdir]$/conf/rsa_public_key.pem"
|
||||
},
|
||||
"session_max_time":3000,
|
||||
"session_issue_time":2500,
|
||||
"session_redis_notuse":{
|
||||
"url":"redis://127.0.0.1:6379"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
6
test/chat/conf/speakers.json
Normal file
6
test/chat/conf/speakers.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"ymq": {
|
||||
"ref_text": "\u8f7b\u91cf\u5e94\u7528\u670d\u52a1\u5668\u5907\u6848\u6761\u4ef6\uff1a\u8d2d\u4e70\u65f6\u957f\u57283\u4e2a\u6708\u53ca\u4ee5\u4e0a",
|
||||
"ref_audio": "/data/ymq/py/f5tts/files/87/103/66/49/record.wav"
|
||||
}
|
||||
}
|
3627
test/chat/logs/llmengine.log
Normal file
3627
test/chat/logs/llmengine.log
Normal file
File diff suppressed because one or more lines are too long
3
test/embeddings/Qwen3-Embedding-0.6B
Executable file
3
test/embeddings/Qwen3-Embedding-0.6B
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
~/models/tsfm.env/bin/python -m llmengine.embedding -w ~/models/embedding -p 9998 ~/models/Qwen/Qwen3-Embedding-0.6B
|
51
test/embeddings/conf/config.json
Normal file
51
test/embeddings/conf/config.json
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
"filesroot":"$[workdir]$/files",
|
||||
"logger":{
|
||||
"name":"llmengine",
|
||||
"levelname":"info",
|
||||
"logfile":"$[workdir]$/logs/llmengine.log"
|
||||
},
|
||||
"website":{
|
||||
"paths":[
|
||||
["$[workdir]$/wwwroot",""]
|
||||
],
|
||||
"client_max_size":10000,
|
||||
"host":"0.0.0.0",
|
||||
"port":9995,
|
||||
"coding":"utf-8",
|
||||
"ssl_gg":{
|
||||
"crtfile":"$[workdir]$/conf/www.bsppo.com.pem",
|
||||
"keyfile":"$[workdir]$/conf/www.bsppo.com.key"
|
||||
},
|
||||
"indexes":[
|
||||
"index.html",
|
||||
"index.ui"
|
||||
],
|
||||
"startswiths":[
|
||||
{
|
||||
"leading":"/idfile",
|
||||
"registerfunction":"idfile"
|
||||
},{
|
||||
"leading": "/v1/embeddings",
|
||||
"registerfunction": "embeddings"
|
||||
}
|
||||
],
|
||||
"processors":[
|
||||
[".tmpl","tmpl"],
|
||||
[".app","app"],
|
||||
[".ui","bui"],
|
||||
[".dspy","dspy"],
|
||||
[".md","md"]
|
||||
],
|
||||
"rsakey_oops":{
|
||||
"privatekey":"$[workdir]$/conf/rsa_private_key.pem",
|
||||
"publickey":"$[workdir]$/conf/rsa_public_key.pem"
|
||||
},
|
||||
"session_max_time":3000,
|
||||
"session_issue_time":2500,
|
||||
"session_redis_notuse":{
|
||||
"url":"redis://127.0.0.1:6379"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
0
test/embeddings/logs/llmengine.log
Normal file
0
test/embeddings/logs/llmengine.log
Normal file
Loading…
Reference in New Issue
Block a user