修复 rewrite_query 的问题
This commit is contained in:
parent
23a11c8679
commit
6854a7812f
@ -17,7 +17,7 @@ RERANKER_LIST = _models["RERANKER_LIST"]
|
||||
class SimpleConfig(dict):
|
||||
|
||||
def __key(self, key):
|
||||
return "" if key is None else key.lower()
|
||||
return "" if key is None else key.lower() # 目前忘记了这里为什么要 lower 了,只能说配置项最好不要有大写的
|
||||
|
||||
def __str__(self):
|
||||
return json.dumps(self)
|
||||
@ -61,6 +61,7 @@ class Config(SimpleConfig):
|
||||
self.add_item("model_name", default=None, des="模型名称")
|
||||
self.add_item("embed_model", default="zhipu-embedding-3", des="Embedding 模型", choices=list(EMBED_MODEL_INFO.keys()))
|
||||
self.add_item("reranker", default="bge-reranker-v2-m3", des="Re-Ranker 模型", choices=list(RERANKER_LIST.keys()))
|
||||
self.add_item("use_rewrite_query", default="off", des="重写查询", choices=["off", "on", "hyde"])
|
||||
self.add_item("model_local_paths", default={}, des="本地模型路径")
|
||||
### <<< 默认配置结束
|
||||
|
||||
@ -113,7 +114,7 @@ class Config(SimpleConfig):
|
||||
self.valuable_model_provider = [k for k, v in self.model_provider_status.items() if v]
|
||||
assert len(self.valuable_model_provider) > 0, f"No model provider available, please check your `.env` file. API_KEY_LIST: {conds}"
|
||||
|
||||
|
||||
|
||||
|
||||
def load(self):
|
||||
"""根据传入的文件覆盖掉默认配置"""
|
||||
|
||||
@ -118,7 +118,11 @@ class Retriever:
|
||||
|
||||
def rewrite_query(self, query, history, refs):
|
||||
"""重写查询"""
|
||||
rewrite_query_span = refs["meta"].get("rewriteQuery", "off")
|
||||
if refs["meta"].get("mode") == "search": # 如果是搜索模式,就使用 meta 的配置,否则就使用全局的配置
|
||||
rewrite_query_span = refs["meta"].get("use_rewrite_query", "off")
|
||||
else:
|
||||
rewrite_query_span = refs["meta"]["config"].get("use_rewrite_query", "off")
|
||||
|
||||
if rewrite_query_span == "off":
|
||||
rewritten_query = query
|
||||
else:
|
||||
|
||||
@ -42,6 +42,7 @@ def chat_post(
|
||||
chunk = make_chunk("", "searching", history=None)
|
||||
yield chunk
|
||||
|
||||
meta["config"] = startup.config
|
||||
new_query, refs = startup.retriever(query, history_manager.messages, meta)
|
||||
refs_pool[cur_res_id] = refs
|
||||
else:
|
||||
|
||||
@ -81,9 +81,9 @@
|
||||
<div class="flex-center" @click="meta.use_web = !meta.use_web" v-if="configStore.config.enable_search_engine && meta.enable_retrieval">
|
||||
搜索引擎(Bing) <div @click.stop><a-switch v-model:checked="meta.use_web" /></div>
|
||||
</div>
|
||||
<div class="flex-center" v-if="configStore.config.enable_knowledge_base && meta.enable_retrieval">
|
||||
重写查询 <a-segmented v-model:value="meta.rewriteQuery" :options="['off', 'on', 'hyde']"/>
|
||||
</div>
|
||||
<!-- <div class="flex-center" v-if="configStore.config.enable_knowledge_base && meta.enable_retrieval">
|
||||
重写查询 <a-segmented v-model:value="meta.use_rewrite_query" :options="['off', 'on', 'hyde']"/>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -191,11 +191,7 @@ const panel = ref(null)
|
||||
const modelCard = ref(null)
|
||||
const examples = ref([
|
||||
'写一个冒泡排序',
|
||||
'肉碱的分子量是多少?直接回答',
|
||||
'总结大蒜的功效是什么?',
|
||||
'今天天气怎么样?',
|
||||
'吃饭吃出苍蝇可以索赔吗?',
|
||||
'帮我写一个请假条',
|
||||
'贾宝玉今年多少岁?',
|
||||
])
|
||||
|
||||
@ -211,7 +207,7 @@ const meta = reactive(JSON.parse(localStorage.getItem('meta')) || {
|
||||
use_graph: false,
|
||||
use_web: false,
|
||||
graph_name: "neo4j",
|
||||
rewriteQuery: "off",
|
||||
// use_rewrite_query: "off",
|
||||
selectedKB: null,
|
||||
stream: true,
|
||||
summary_title: true,
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
<div class="refs" v-if="showRefs">
|
||||
<div class="tags">
|
||||
<span class="item btn" @click="copyText(msg.text)"><CopyOutlined /></span>
|
||||
<span class="item btn" @click="likeThisResponse(msg)"><LikeOutlined /></span>
|
||||
<span class="item btn" @click="dislikeThisResponse(msg)"><DislikeOutlined /></span>
|
||||
<!-- <span class="item btn" @click="likeThisResponse(msg)"><LikeOutlined /></span> -->
|
||||
<!-- <span class="item btn" @click="dislikeThisResponse(msg)"><DislikeOutlined /></span> -->
|
||||
<span class="item"><GlobalOutlined /> {{ msg.model_name }}</span>
|
||||
<span
|
||||
class="item btn"
|
||||
|
||||
@ -132,7 +132,7 @@
|
||||
<div class="params-group">
|
||||
<div class="params-item col">
|
||||
<p>重写查询<small>(修改后需重新检索)</small>:</p>
|
||||
<a-segmented v-model:value="meta.rewriteQuery" :options="rewriteQueryOptions">
|
||||
<a-segmented v-model:value="meta.use_rewrite_query" :options="use_rewrite_queryOptions">
|
||||
<template #label="{ payload }">
|
||||
<div>
|
||||
<p style="margin: 4px 0">{{ payload.subTitle }}</p>
|
||||
@ -251,13 +251,13 @@ const meta = reactive({
|
||||
mode: 'search',
|
||||
maxQueryCount: 30,
|
||||
filter: true,
|
||||
rewriteQuery: 'off',
|
||||
use_rewrite_query: 'off',
|
||||
rerankThreshold: 0.1,
|
||||
distanceThreshold: 0.3,
|
||||
topK: 10,
|
||||
});
|
||||
|
||||
const rewriteQueryOptions = ref([
|
||||
const use_rewrite_queryOptions = ref([
|
||||
{ value: 'off', payload: { title: 'off', subTitle: '不启用' } },
|
||||
{ value: 'on', payload: { title: 'on', subTitle: '启用重写' } },
|
||||
{ value: 'hyde', payload: { title: 'hyde', subTitle: '伪文档生成' } },
|
||||
@ -546,10 +546,7 @@ watch(() => meta, () => {
|
||||
|
||||
// 添加示例查询
|
||||
const queryExamples = ref([
|
||||
'食品添加剂的安全性如何?',
|
||||
'如何识别和预防食物中毒?',
|
||||
'转基因食品对人体健康有什么影响?',
|
||||
'如何正确储存和处理生鲜食品?'
|
||||
'贾宝玉的丫鬟有哪些?',
|
||||
]);
|
||||
|
||||
// 使用示例查询的方法
|
||||
|
||||
@ -79,6 +79,21 @@
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<h3>检索配置</h3>
|
||||
<div class="section">
|
||||
<div class="card">
|
||||
<span class="label">{{ items?.use_rewrite_query.des }}</span>
|
||||
<a-select style="width: 200px"
|
||||
:value="configStore.config?.use_rewrite_query"
|
||||
@change="handleChange('use_rewrite_query', $event)"
|
||||
>
|
||||
<a-select-option
|
||||
v-for="(name, idx) in items?.use_rewrite_query.choices" :key="idx"
|
||||
:value="name">{{ name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="setting" v-if="state.section === 'model'">
|
||||
<h3>模型配置</h3>
|
||||
@ -161,10 +176,10 @@
|
||||
</div>
|
||||
<div class="model-provider-card" v-for="(item, key) in notModelKeys" :key="key">
|
||||
<div class="card-header">
|
||||
<h3>{{ modelNames[item].name }}</h3>
|
||||
<a :href="modelNames[item].url" target="_blank">详情</a>
|
||||
<h3 style="font-weight: 400">{{ modelNames[item].name }}</h3>
|
||||
<a :href="modelNames[item].url" target="_blank"><InfoCircleOutlined /></a>
|
||||
<div class="missing-keys">
|
||||
需配置 <span v-for="(key, idx) in modelNames[item].env" :key="idx">{{ key }}</span>
|
||||
<small>需配置</small> <span v-for="(key, idx) in modelNames[item].env" :key="idx">{{ key }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user