Переглянути джерело

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
Аккаунт користувача з таким Email не знайдено
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

Завантаження…
Відмінити
Зберегти