eosphoros-ai / DB-GPT

AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents

Home Page:https://docs.dbgpt.site

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[chatData] 相关数据库表检索

Anodiy opened this issue · comments

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Description

在chatData模式,后台应当检索top_5相关数据库表信息,并与提问一起交给LLM,
但实际上每次均未检索,而是提前返回空集,并使用数据库所有表信息填充。
在数据库表过多情况下,超过LLM的字符限制而导致无法正常使用对话。

Use case

18c2c1300d8c682ba6c7cf87f529941
这个是正常的吗?
所有的chatData都会先去pilot/data/vectordb的chroma.sqlite3查找表信息,
查找的条件是1024条计算的embedding向量,和限定top_5个结果,
重点是:我发现每次查询结果都为空
实际上最终是上图中代码片段拦下来了,实际没有查询,
这是为什么呢?local_persistent_hnsw.py中的query_vectors
似乎是缺了self的相关参数。这是正常情况吗?

理论上应该是chatData先去检索相关表,在将相关表信息和提问给大模型,
实际上是chatData没有进行检索,直接返回空,然后给数据库所有表信息。

我这边遇到的一个问题就是表太多,给全表就字符超量了,所以调试看源代码。

我想问的就是:chatData直接给全表信息而不是top5表是正常的吗?

Related issues

我看源代码,是有检索的,但似乎self参数缺失,导致未执行检索,后续默认使用了全表。不知道这只我个人机器问题,还是说大家都遇到了。如果原本就是全表正常的,那么希望增加检索相关表的功能。

Feature Priority

Medium

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

0.5.7重新导入数据库后正常了