Explorar el Código

fix SILICONFLOW rerank error (#2980)

### What problem does this PR solve?

#2977

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
tags/v0.13.0
Kevin Hu hace 1 año
padre
commit
89d5b2414e
No account linked to committer's email address
Se han modificado 2 ficheros con 24 adiciones y 2 borrados
  1. 21
    2
      api/apps/chunk_app.py
  2. 3
    0
      rag/llm/rerank_model.py

+ 21
- 2
api/apps/chunk_app.py Ver fichero

@@ -320,9 +320,28 @@ def knowledge_graph():
for id in sres.ids[:2]:
ty = sres.field[id]["knowledge_graph_kwd"]
try:
obj[ty] = json.loads(sres.field[id]["content_with_weight"])
content_json = json.loads(sres.field[id]["content_with_weight"])
except Exception as e:
print(traceback.format_exc(), flush=True)
continue

if ty == 'mind_map':
node_dict = {}

def repeat_deal(content_json, node_dict):
if 'id' in content_json:
if content_json['id'] in node_dict:
node_name = content_json['id']
content_json['id'] += f"({node_dict[content_json['id']]})"
node_dict[node_name] += 1
else:
node_dict[content_json['id']] = 1
if 'children' in content_json and content_json['children']:
for item in content_json['children']:
repeat_deal(item, node_dict)

repeat_deal(content_json, node_dict)

obj[ty] = content_json

return get_json_result(data=obj)


+ 3
- 0
rag/llm/rerank_model.py Ver fichero

@@ -344,6 +344,9 @@ class SILICONFLOWRerank(Base):
self.base_url, json=payload, headers=self.headers
).json()
rank = np.zeros(len(texts), dtype=float)
if "results" not in response:
return rank, 0

for d in response["results"]:
rank[d["index"]] = d["relevance_score"]
return (

Cargando…
Cancelar
Guardar