style(docs): 更新变更日志,添加网络搜索和绘制图片选项说明

- 在变更日志中新增网络搜索和绘制图片的选项,提供工具调用的相关信息
- 优化知识库架构,提升文档的可读性和完整性
This commit is contained in:
Wenjie Zhang 2025-10-02 19:59:35 +08:00
parent c0a69fc891
commit af4bb9f48e
14 changed files with 26 additions and 27 deletions

View File

@ -28,6 +28,7 @@
- [x] 补充 embedding 模型和 reranker 模型的配置说明
- [ ] 支持 MinerU 的解析方法
- [x] 优化 knowledge 文件夹下面的架构
- [ ] Options 中添加网络搜索和绘制图片的选项,分别是用来调用工具
📝 **Base**

View File

@ -6,8 +6,8 @@ from langchain_core.tools import tool
from src.agents.common.toolkits.mysql import get_mysql_tools
from src.agents.common.tools import get_buildin_tools
from src.utils import logger
from src.storage.minio import upload_image_to_minio
from src.utils import logger
@tool

View File

@ -1,12 +1,12 @@
import os
from ..config import config
from .implementations.chroma import ChromaKB
from .graph import GraphDatabase
from .factory import KnowledgeBaseFactory
from .manager import KnowledgeBaseManager
from .graph import GraphDatabase
from .implementations.chroma import ChromaKB
from .implementations.lightrag import LightRagKB
from .implementations.milvus import MilvusKB
from .manager import KnowledgeBaseManager
# 注册知识库类型
KnowledgeBaseFactory.register("chroma", ChromaKB, {"description": "基于 ChromaDB 的轻量级向量知识库,适合开发和小规模"})

View File

@ -7,7 +7,7 @@
"""
from .chroma import ChromaKB
from .milvus import MilvusKB
from .lightrag import LightRagKB
from .milvus import MilvusKB
__all__ = ["ChromaKB", "MilvusKB", "LightRagKB"]

View File

@ -7,6 +7,7 @@ import chromadb
from chromadb.config import Settings
from chromadb.utils.embedding_functions import OpenAIEmbeddingFunction
from src.knowledge.base import KnowledgeBase
from src.knowledge.indexing import process_file_to_markdown, process_url_to_markdown
from src.knowledge.utils.kb_utils import (
get_embedding_config,
@ -14,7 +15,6 @@ from src.knowledge.utils.kb_utils import (
split_text_into_chunks,
split_text_into_qa_chunks,
)
from src.knowledge.base import KnowledgeBase
from src.utils import logger

View File

@ -9,9 +9,9 @@ from lightrag.utils import EmbeddingFunc, setup_logger
from neo4j import GraphDatabase
from pymilvus import connections, utility
from src.knowledge.base import KnowledgeBase
from src.knowledge.indexing import process_file_to_markdown, process_url_to_markdown
from src.knowledge.utils.kb_utils import get_embedding_config, prepare_item_metadata
from src.knowledge.base import KnowledgeBase
from src.utils import hashstr, logger
LIGHTRAG_LLM_PROVIDER = os.getenv("LIGHTRAG_LLM_PROVIDER", "siliconflow")

View File

@ -6,6 +6,7 @@ from typing import Any
from pymilvus import Collection, CollectionSchema, DataType, FieldSchema, connections, db, utility
from src.knowledge.base import KnowledgeBase
from src.knowledge.indexing import process_file_to_markdown, process_url_to_markdown
from src.knowledge.utils.kb_utils import (
get_embedding_config,
@ -13,7 +14,6 @@ from src.knowledge.utils.kb_utils import (
split_text_into_chunks,
split_text_into_qa_chunks,
)
from src.knowledge.base import KnowledgeBase
from src.models.embed import OtherEmbedding
from src.utils import hashstr, logger

View File

@ -3,8 +3,8 @@ import json
import os
from datetime import datetime
from src.knowledge.factory import KnowledgeBaseFactory
from src.knowledge.base import KBNotFoundError, KnowledgeBase
from src.knowledge.factory import KnowledgeBaseFactory
from src.utils import logger

View File

@ -3,18 +3,17 @@ from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
# 导入所有模型,确保它们被注册到 Base.metadata
# 导入数据库管理器
from src.storage.db.manager import db_manager # noqa: E402
from src.storage.db.models import ( # noqa: E402, F401
User,
OperationLog,
Thread,
KnowledgeDatabase,
KnowledgeFile,
KnowledgeNode,
OperationLog,
Thread,
User,
) # noqa: E402
# 导入数据库管理器
from src.storage.db.manager import db_manager # noqa: E402
__all__ = [
"Base",
"User",

View File

@ -5,8 +5,8 @@ from contextlib import contextmanager
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from src.storage.db.models import Base, User
from src import config
from src.storage.db.models import Base, User
from src.utils import logger
try:

View File

@ -1,9 +1,9 @@
import time
from sqlalchemy import JSON, Column, DateTime, ForeignKey, Integer, String, Text
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

View File

@ -5,8 +5,7 @@ MinIO 存储模块
# 导出核心功能
from .client import MinIOClient, StorageError, UploadResult, get_minio_client, upload_image_to_minio
from .utils import get_file_size, generate_unique_filename
from .utils import generate_unique_filename, get_file_size
# 为了向后兼容,导出常用的函数
__all__ = [

View File

@ -9,7 +9,6 @@ from io import BytesIO
from minio import Minio
from minio.error import S3Error
from src.utils import logger

View File

@ -645,7 +645,7 @@ watch(() => props.isOpen, (newVal) => {
position: sticky;
bottom: 16px;
padding: 12px 0;
border-top: 1px solid var(--gray-200);
border-top: 1px solid var(--gray-100);
background: #fff;
// min-width: 400px;
z-index: 10;
@ -689,6 +689,7 @@ watch(() => props.isOpen, (newVal) => {
}
.config-form-content {
margin-bottom: 100px;
.config-form {
.config-alert {
margin-bottom: 16px;
@ -798,7 +799,7 @@ watch(() => props.isOpen, (newVal) => {
justify-content: space-between;
align-items: center;
padding: 6px 12px;
background: var(--gray-50);
background: var(--gray-20);
border-radius: 8px;
border: 1px solid var(--gray-200);
margin-bottom: 8px;
@ -808,7 +809,7 @@ watch(() => props.isOpen, (newVal) => {
align-items: center;
gap: 8px;
font-size: 13px;
color: var(--gray-700);
color: var(--gray-900);
.tools-count {
color: var(--gray-900);
@ -825,7 +826,7 @@ watch(() => props.isOpen, (newVal) => {
.select-tools-btn {
background: var(--main-color);
border: none;
border-radius: 6px;
border-radius: 4px;
height: 28px;
font-size: 12px;
font-weight: 500;
@ -845,9 +846,9 @@ watch(() => props.isOpen, (newVal) => {
.tool-tag {
margin: 0;
padding: 4px 8px;
border-radius: 4px;
background: var(--gray-100);
border: 1px solid var(--gray-300);
border-radius: 12px;
background: var(--gray-50);
border: 1px solid var(--gray-200);
color: var(--gray-900);
font-size: 12px;