浏览代码

Fix: uploading in chat box issue. (#6547)

### What problem does this PR solve?

#6228

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
tags/v0.18.0
Kevin Hu 7 个月前
父节点
当前提交
cc8029a732
没有帐户链接到提交者的电子邮件
共有 3 个文件被更改,包括 24 次插入8 次删除
  1. 3
    1
      rag/llm/__init__.py
  2. 7
    0
      rag/llm/cv_model.py
  3. 14
    7
      rag/nlp/search.py

+ 3
- 1
rag/llm/__init__.py 查看文件

@@ -106,7 +106,8 @@ from .cv_model import (
TogetherAICV,
YiCV,
HunyuanCV,
AnthropicCV
AnthropicCV,
SILICONFLOWCV
)

from .rerank_model import (
@@ -200,6 +201,7 @@ CvModel = {
"01.AI": YiCV,
"Tencent Hunyuan": HunyuanCV,
"Anthropic": AnthropicCV,
"SILICONFLOW": SILICONFLOWCV,
}

ChatModel = {

+ 7
- 0
rag/llm/cv_model.py 查看文件

@@ -833,6 +833,13 @@ class YiCV(GptV4):
super().__init__(key, model_name, lang, base_url)


class SILICONFLOWCV(GptV4):
def __init__(self, key, model_name, lang="Chinese", base_url="https://api.siliconflow.cn/v1",):
if not base_url:
base_url = "https://api.siliconflow.cn/v1"
super().__init__(key, model_name, lang, base_url)


class HunyuanCV(Base):
def __init__(self, key, model_name, lang="Chinese", base_url=None):
from tencentcloud.common import credential

+ 14
- 7
rag/nlp/search.py 查看文件

@@ -119,13 +119,17 @@ class Dealer:

# If result is empty, try again with lower min_match
if total == 0:
matchText, _ = self.qryr.question(qst, min_match=0.1)
filters.pop("doc_ids", None)
matchDense.extra_options["similarity"] = 0.17
res = self.dataStore.search(src, highlightFields, filters, [matchText, matchDense, fusionExpr],
orderBy, offset, limit, idx_names, kb_ids, rank_feature=rank_feature)
total = self.dataStore.getTotal(res)
logging.debug("Dealer.search 2 TOTAL: {}".format(total))
if filters.get("doc_id"):
res = self.dataStore.search(src, [], filters, [], orderBy, offset, limit, idx_names, kb_ids)
total = self.dataStore.getTotal(res)
else:
matchText, _ = self.qryr.question(qst, min_match=0.1)
filters.pop("doc_id", None)
matchDense.extra_options["similarity"] = 0.17
res = self.dataStore.search(src, highlightFields, filters, [matchText, matchDense, fusionExpr],
orderBy, offset, limit, idx_names, kb_ids, rank_feature=rank_feature)
total = self.dataStore.getTotal(res)
logging.debug("Dealer.search 2 TOTAL: {}".format(total))

for k in keywords:
kwds.add(k)
@@ -375,6 +379,9 @@ class Dealer:
dim = len(sres.query_vector)
vector_column = f"q_{dim}_vec"
zero_vector = [0.0] * dim
if doc_ids:
similarity_threshold = 0
page_size = 30
for i in idx:
if sim[i] < similarity_threshold:
break

正在加载...
取消
保存