From 700e74cdf2c1f7064e4ae79353ee4202b06c2748 Mon Sep 17 00:00:00 2001 From: ObjectNotFound Date: Tue, 10 Dec 2024 11:30:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=9B=AE=E5=BD=95=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SearchAgent/README.md | 57 --- SearchAgent/Searchagent.py | 370 ------------------ SearchAgent/agent.png | Bin 36180 -> 0 bytes SearchAgent/modelSet.py | 16 - SearchAgent/promptSet.py | 193 --------- SearchAgent/requirements.txt | 9 - {euler-copilot-helm => deploy}/README.md | 0 .../chart/agents/.helmignore | 0 .../chart/agents/Chart.yaml | 0 .../agents/configs/ai-infra-agent/.env.yaml | 0 .../agents/configs/rca-agent/config.json | 0 .../configs/rca-agent/request_config.json | 0 .../chart/agents/configs/tune/.env.yaml | 0 .../chart/agents/configs/tune/app_config.yaml | 0 .../agents/configs/tune/knob_rag_config.json | 0 .../agents/configs/tune/optimize_config.yaml | 0 .../chart/agents/templates/NOTES.txt | 0 .../ai-infra-agent/ai-infra-deployment.yaml | 0 .../ai-infra-agent/ai-infra-secret.yaml | 0 .../ai-infra-agent/ai-infra-service.yaml | 0 .../templates/rca-agent/rca-agent-config.yaml | 0 .../rca-agent/rca-agent-deployment.yaml | 0 .../rca-agent/rca-agent-service.yaml | 0 .../templates/tune/tune-deployment.yaml | 0 .../agents/templates/tune/tune-secret.yaml | 0 .../agents/templates/tune/tune-service.yaml | 0 .../chart/agents/values.yaml | 0 .../chart/authhub/.helmignore | 0 .../chart/authhub/Chart.yaml | 0 .../authhub/configs/backend/aops-config.yml | 0 .../chart/authhub/configs/backend/authhub.yml | 0 .../authhub/configs/web/authhub.nginx.conf | 0 .../chart/authhub/templates/NOTES.txt | 0 .../backend/authhub-backend-deployment.yaml | 0 .../backend/authhub-backend-secret.yaml | 0 .../backend/authhub-backend-service.yaml | 0 .../templates/web/authhub-web-deployment.yaml | 0 .../templates/web/authhub-web-ingress.yaml | 0 .../templates/web/authhub-web-secret.yaml | 0 .../templates/web/authhub-web-service.yaml | 0 .../chart/authhub/values.yaml | 0 .../chart/databases/.helmignore | 0 .../chart/databases/Chart.yaml | 0 .../chart/databases/configs/mysql/init.sql | 0 .../chart/databases/configs/pgsql/init.sql | 0 .../chart/databases/templates/NOTES.txt | 0 .../templates/mysql/mysql-deployment.yaml | 0 .../databases/templates/mysql/mysql-pvc.yaml | 0 .../templates/mysql/mysql-secret.yaml | 0 .../templates/mysql/mysql-service.yaml | 0 .../templates/pgsql/pgsql-deployment.yaml | 0 .../databases/templates/pgsql/pgsql-pvc.yaml | 0 .../templates/pgsql/pgsql-secret.yaml | 0 .../templates/pgsql/pgsql-service.yaml | 0 .../templates/redis/redis-deployment.yaml | 0 .../templates/redis/redis-secret.yaml | 0 .../templates/redis/redis-service.yaml | 0 .../chart/databases/values.yaml | 0 .../chart/euler_copilot/.helmignore | 0 .../chart/euler_copilot/Chart.yaml | 0 .../euler_copilot/configs/framework/.env | 0 .../chart/euler_copilot/configs/rag/.env | 0 .../configs/rag/prompt_template.yaml | 0 .../euler_copilot/configs/vectorize/.env | 0 .../chart/euler_copilot/configs/web/.env | 0 .../chart/euler_copilot/templates/NOTES.txt | 0 .../framework/framework-deployment.yaml | 0 .../templates/framework/framework-secret.yaml | 0 .../framework/framework-service.yaml | 0 .../templates/rag/rag-deployment.yaml | 0 .../templates/rag/rag-secret.yaml | 0 .../templates/rag/rag-service.yaml | 0 .../vectorize/vectorize-deployment.yaml | 0 .../templates/vectorize/vectorize-secret.yaml | 0 .../vectorize/vectorize-service.yaml | 0 .../templates/web/web-config.yaml | 0 .../templates/web/web-deployment.yaml | 0 .../templates/web/web-ingress.yaml | 0 .../templates/web/web-service.yaml | 0 .../chart/euler_copilot/values.yaml | 0 .../chart/witchaind/.helmignore | 0 .../chart/witchaind/Chart.yaml | 0 .../chart/witchaind/configs/backend/.env | 0 .../witchaind/configs/backend/prompt.yaml | 0 .../witchaind/configs/backend/stop_words.txt | 0 .../chart/witchaind/configs/web/.env | 0 .../chart/witchaind/templates/NOTES.txt | 0 .../backend/witchaind-backend-deployment.yaml | 0 .../backend/witchaind-backend-secret.yaml | 0 .../backend/witchaind-backend-service.yaml | 0 .../templates/minio/minio-deployment.yaml | 0 .../witchaind/templates/minio/minio-pvc.yaml | 0 .../templates/minio/minio-service.yaml | 0 .../templates/redis/redis-deployment.yaml | 0 .../templates/redis/redis-secret.yaml | 0 .../templates/redis/redis-service.yaml | 0 .../templates/web/witchaind-web-config.yaml | 0 .../web/witchaind-web-deployment.yaml | 0 .../templates/web/witchaind-web-ingress.yaml | 0 .../templates/web/witchaind-web-service.yaml | 0 .../chart/witchaind/values.yaml | 0 .../chart_ssl/traefik-config.yml | 0 .../chart_ssl/traefik-secret.yaml | 0 .../chart_ssl/traefik-tlsstore.yaml | 0 .../scripts/check_env.sh | 0 .../scripts/download_file.sh | 0 .../scripts/get_log.sh | 0 .../scripts/install_tools.sh | 0 .../scripts/prepare_docker.sh | 0 euler-copilot-plugins/.gitignore | 1 - euler-copilot-plugins/README.en.md | 36 -- euler-copilot-plugins/README.md | 37 -- .../euler-copilot-rca/flows/demarcation.yaml | 0 .../euler-copilot-rca/flows/detection.yaml | 0 .../euler-copilot-rca/flows/inspection.yaml | 0 .../flows/show_profiling.yaml | 0 .../euler-copilot-rca/openapi.yaml | 0 .../euler-copilot-rca/plugin.json | 0 .../flows/data_collection.yaml | 0 .../flows/performance_analysis.yaml | 0 .../flows/performance_tuning.yaml | 0 .../euler-copilot-tune/openapi.yaml | 0 .../euler-copilot-tune/plugin.json | 0 123 files changed, 719 deletions(-) delete mode 100644 SearchAgent/README.md delete mode 100644 SearchAgent/Searchagent.py delete mode 100644 SearchAgent/agent.png delete mode 100644 SearchAgent/modelSet.py delete mode 100644 SearchAgent/promptSet.py delete mode 100644 SearchAgent/requirements.txt rename {euler-copilot-helm => deploy}/README.md (100%) rename {euler-copilot-helm => deploy}/chart/agents/.helmignore (100%) rename {euler-copilot-helm => deploy}/chart/agents/Chart.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/configs/ai-infra-agent/.env.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/configs/rca-agent/config.json (100%) rename {euler-copilot-helm => deploy}/chart/agents/configs/rca-agent/request_config.json (100%) rename {euler-copilot-helm => deploy}/chart/agents/configs/tune/.env.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/configs/tune/app_config.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/configs/tune/knob_rag_config.json (100%) rename {euler-copilot-helm => deploy}/chart/agents/configs/tune/optimize_config.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/NOTES.txt (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/ai-infra-agent/ai-infra-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/ai-infra-agent/ai-infra-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/ai-infra-agent/ai-infra-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/rca-agent/rca-agent-config.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/rca-agent/rca-agent-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/rca-agent/rca-agent-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/tune/tune-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/tune/tune-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/templates/tune/tune-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/agents/values.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/.helmignore (100%) rename {euler-copilot-helm => deploy}/chart/authhub/Chart.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/configs/backend/aops-config.yml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/configs/backend/authhub.yml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/configs/web/authhub.nginx.conf (100%) rename {euler-copilot-helm => deploy}/chart/authhub/templates/NOTES.txt (100%) rename {euler-copilot-helm => deploy}/chart/authhub/templates/backend/authhub-backend-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/templates/backend/authhub-backend-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/templates/backend/authhub-backend-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/templates/web/authhub-web-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/templates/web/authhub-web-ingress.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/templates/web/authhub-web-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/templates/web/authhub-web-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/authhub/values.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/.helmignore (100%) rename {euler-copilot-helm => deploy}/chart/databases/Chart.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/configs/mysql/init.sql (100%) rename {euler-copilot-helm => deploy}/chart/databases/configs/pgsql/init.sql (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/NOTES.txt (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/mysql/mysql-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/mysql/mysql-pvc.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/mysql/mysql-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/mysql/mysql-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/pgsql/pgsql-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/pgsql/pgsql-pvc.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/pgsql/pgsql-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/pgsql/pgsql-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/redis/redis-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/redis/redis-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/templates/redis/redis-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/databases/values.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/.helmignore (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/Chart.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/configs/framework/.env (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/configs/rag/.env (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/configs/rag/prompt_template.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/configs/vectorize/.env (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/configs/web/.env (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/NOTES.txt (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/framework/framework-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/framework/framework-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/framework/framework-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/rag/rag-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/rag/rag-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/rag/rag-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/vectorize/vectorize-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/vectorize/vectorize-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/vectorize/vectorize-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/web/web-config.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/web/web-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/web/web-ingress.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/templates/web/web-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/euler_copilot/values.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/.helmignore (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/Chart.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/configs/backend/.env (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/configs/backend/prompt.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/configs/backend/stop_words.txt (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/configs/web/.env (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/NOTES.txt (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/backend/witchaind-backend-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/backend/witchaind-backend-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/backend/witchaind-backend-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/minio/minio-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/minio/minio-pvc.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/minio/minio-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/redis/redis-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/redis/redis-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/redis/redis-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/web/witchaind-web-config.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/web/witchaind-web-deployment.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/web/witchaind-web-ingress.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/templates/web/witchaind-web-service.yaml (100%) rename {euler-copilot-helm => deploy}/chart/witchaind/values.yaml (100%) rename {euler-copilot-helm => deploy}/chart_ssl/traefik-config.yml (100%) rename {euler-copilot-helm => deploy}/chart_ssl/traefik-secret.yaml (100%) rename {euler-copilot-helm => deploy}/chart_ssl/traefik-tlsstore.yaml (100%) rename {euler-copilot-helm => deploy}/scripts/check_env.sh (100%) rename {euler-copilot-helm => deploy}/scripts/download_file.sh (100%) rename {euler-copilot-helm => deploy}/scripts/get_log.sh (100%) rename {euler-copilot-helm => deploy}/scripts/install_tools.sh (100%) rename {euler-copilot-helm => deploy}/scripts/prepare_docker.sh (100%) delete mode 100644 euler-copilot-plugins/.gitignore delete mode 100644 euler-copilot-plugins/README.en.md delete mode 100644 euler-copilot-plugins/README.md rename {euler-copilot-plugins => plugins}/euler-copilot-rca/flows/demarcation.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-rca/flows/detection.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-rca/flows/inspection.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-rca/flows/show_profiling.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-rca/openapi.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-rca/plugin.json (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-tune/flows/data_collection.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-tune/flows/performance_analysis.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-tune/flows/performance_tuning.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-tune/openapi.yaml (100%) rename {euler-copilot-plugins => plugins}/euler-copilot-tune/plugin.json (100%) diff --git a/SearchAgent/README.md b/SearchAgent/README.md deleted file mode 100644 index d092114c..00000000 --- a/SearchAgent/README.md +++ /dev/null @@ -1,57 +0,0 @@ -### 项目简介 - -本项目是一个基于搜索引擎的信息获取系统,通过搜索引擎为模型检索所需的信息。系统利用大语言模型(LLM)将用户问题拆解为子问题,结合搜索引擎并行获取相关内容,最终生成针对用户问题的精准摘要。该项目可补充现有的 RAG(Retrieval-Augmented Generation)和 `chat_to_db` 模块,特别适用于处理涉及最新信息或本地文档库未包含的内容。 - -### 项目流程图 - -![项目流程图](agent.png) - -1. **输入问题与子问题拆解** - - - 系统接收用户的问题,使用大语言模型将其拆解为多个子问题,增加搜索的广度和深度。 - -2. **并行搜索** - - - 系统将主问题和子问题通过搜索引擎并行搜索,获取相关网页的标题和链接,并过滤无效链接。 - -3. **基于 TF-IDF 筛选最优标题** - - - 使用 TF-IDF 和余弦相似度计算标题与问题的相关性,筛选出最优的链接,并去重,确保搜索结果的质量。 - -4. **网页爬取与内容过滤** - - - 爬取筛选出的网页内容,过滤乱码、广告页面和无效内容,仅保留有效的文本信息,提升信息的准确性。 - -5. **生成摘要** - - - 将爬取的内容与原问题和子问题整合,使用大语言模型生成针对问题的精准摘要,并返回给用户。 - -### 可调节参数 - -运行程序时,可以通过命令行参数调整程序的行为: - -- `--qury`:所提问的问题(默认值:"请问NLP是什么?")。 -- `--model_path`:模型路径(默认值:`"/home/nfs02/model/Qwen1.5-14B-Chat"`)。 -- `--max_new_tokens`:生成文本的最大长度,控制摘要的字数(默认值:`500`)。 -- `--summary`:是否生成总结,布尔值,`True` 或 `False`(默认值:`True`)。 -- `--splitQFlag`:是否将问题拆解为子问题,布尔值,`True` 或 `False`(默认值:`True`)。 -- `--mainTopn`:主问题的 Top N 网页选择,用于控制爬取的网页数量(默认值:`3`)。 -- `--subTopn`:子问题的 Top N 网页选择(默认值:`1`)。 - -### 安装与运行 - -1. **克隆项目仓库:** - - ```bash - git clone https://gitee.com/hupeng2023/open-source-summer.git - cd repo(请修改为对应目录) - -2. **安装依赖:** - - ```bash - pip install -r requirements.txt - -3. **运行程序:** - - ```bash - python main.py --query "请问NLP是什么?" diff --git a/SearchAgent/Searchagent.py b/SearchAgent/Searchagent.py deleted file mode 100644 index cd57145e..00000000 --- a/SearchAgent/Searchagent.py +++ /dev/null @@ -1,370 +0,0 @@ -import requests -from bs4 import BeautifulSoup -from promptSet import prompt,user_agent_pool -import torch -import re -import random -import concurrent.futures -from urllib.parse import urlparse -from collections import Counter -from sklearn.feature_extraction.text import TfidfVectorizer -from sklearn.metrics.pairwise import cosine_similarity -from typing import List, Optional -from readability import Document -import chardet -import time -from modelSet import getModel -import argparse - -TIMEOUT=1.5 # 网页请求超时时间 -MAX_TOKENS=4000 # 网页+问题的输入文本最大长度 -black_list: Optional[List[str]] = [ - 'enoN', 'researchgate.net','zhihu.com' # 知乎爬不下来,知乎好像有api。 -] - -video_sites = [ - "youtube.com", "vimeo.com", "dailymotion.com", "youku.com", - "bilibili.com", "v.qq.com", "iqiyi.com", "netflix.com", - "hulu.com", "primevideo.com" -] - -all_filtered_sites = list(set(video_sites + black_list)) - -def is_video_site(url): - """判断链接是否属于常见视频网站""" - parsed_url = urlparse(url) - domain = parsed_url.netloc - return any(filtered_site in domain for filtered_site in all_filtered_sites) - -def filtByTFIDF(query, results, top_n=1): - # 计算TF-IDF特征,去选择最相关的结果 - titles=[result["title"] for result in results] - vectorizer = TfidfVectorizer().fit_transform([query] + titles) - vectors = vectorizer.toarray() - - # 计算相似度 - cosine_similarities = cosine_similarity(vectors[0:1], vectors[1:]).flatten() - - # 根据相似度对结果进行排序 - sorted_indices = cosine_similarities.argsort()[::-1][:top_n] - filtered_results = [results[i] for i in sorted_indices] - - return filtered_results - - -def baidu_search(query, max_results=5, top_n=1,timeout=TIMEOUT): - """从百度搜索中获取搜索结果并过滤无关链接""" - # 构建百度搜索的URL - url = f"https://www.baidu.com/s?wd={query}" - - # 发送GET请求 - headers = { - "User-Agent": random.choice(user_agent_pool)} - try: - response = requests.get(url, headers=headers,timeout=timeout) - except requests.RequestException as e: - print(f"无法访问 {url}: {e}") - return [] - - # 解析HTML内容 - soup = BeautifulSoup(response.text, "html.parser") - - # 提取搜索结果标题和链接 - results = [] - for item in soup.find_all('h3', class_='t'): - if len(results) >= max_results: - break - title = item.get_text() - link = item.a['href'] - - # 过滤掉常见视频网站的链接 - if not is_video_site(link): - results.append({"title": title, "link": link, "query": query}) - - if len(results) <= top_n: - return results - - return filtByTFIDF(query, results, top_n=top_n) - - - -def decodeQList(output_text): - # 使用正则表达式匹配列表中的每个子问题 - # 假设子问题列表格式为 ["子问题1", "子问题2", ...] - try: - pattern = r'"\s*(.*?)\s*"' - matches = re.findall(pattern, output_text) - # 提取出每个子问题并返回一个列表 - sub_questions = [match for match in matches] - return sub_questions - except Exception as e: - # 捕获所有异常并打印错误信息 - print(f"发生错误: {e}") - return [] - - -def splitQ(query): - # 使用模型生成文本 - context=prompt['splitQ'].format(question=query) - response = getModelResultByLLM(context) - # Print the response text - query_list = decodeQList(response) - query_list = [query] + query_list - query_list = list(Counter(query_list).keys()) - print(query_list) - return query_list - - -def fetch_page_content_old(link): - headers = { - "User-Agent": random.choice(user_agent_pool) - } - try: - response = requests.get(link, headers=headers) - response.raise_for_status() # 检查请求是否成功 - soup = BeautifulSoup(response.text, "html.parser") - - # 选取主要内容的可能标签 - main_content = soup.find('article') or soup.find('div', class_='content') or soup.find('div', class_='main') or soup.find('div', class_='article-body') - - # 如果找不到指定的内容块,则使用

标签作为默认内容 - if main_content: - paragraphs = main_content.find_all('p') - else: - paragraphs = soup.find_all('p') - - # 过滤掉可能的无关内容 - content = '\n'.join([p.get_text() for p in paragraphs if p.get_text(strip=True)]) - - return content.strip() if content else None - - except requests.RequestException as e: - print(f"无法访问 {link}: {e}") - return None - -def is_page_valid(text, threshold=0.8): - # 过滤乱码和无效内容的网页 - # 使用正则表达式匹配中文字符 - chinese_pattern = re.compile(r'[\u4e00-\u9fff]') - # 匹配数字 - digit_pattern = re.compile(r'\d') - # 匹配英语字母 - english_pattern = re.compile(r'[a-zA-Z]') - # 匹配中英文常见标点符号 - punctuation_pattern = re.compile(r'[,。?!:;、“”‘’《》〈〉【】\[\](),.!?\'":;]') - - # 确保文本不为空 - if not text or len(text) == 0: - return False # 如果文本为空,认为是乱码 - - total_count = len(text) - - # 统计中文、数字、英语字符和标点符号的数量 - valid_count = ( - len(chinese_pattern.findall(text)) + - len(digit_pattern.findall(text)) + - len(english_pattern.findall(text)) + - len(punctuation_pattern.findall(text)) - ) - - # 计算有效字符比例 - valid_ratio = valid_count / total_count - - # 如果有效字符比例超过阈值,则返回True表示内容有效,否则返回False - return valid_ratio >= threshold - - -def clean_html_content(html_content): - # 去除 HTML 标签 - soup = BeautifulSoup(html_content, "html.parser") - text = soup.get_text() - - # 移除多余的空行和空格 - text = re.sub(r'\n+', '\n', text) - text = re.sub(r'\s+', ' ', text).strip() - - # 去除常见的符号和无关内容 - text = re.sub(r'[<>|*{}]', '', text) - - return text - - -def fetch_page_content(url,timeout=TIMEOUT): - headers = { - "User-Agent": random.choice(user_agent_pool), - "Accept-Language": "en-US,en;q=0.9", - "Accept-Encoding": "gzip, deflate, br", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", - "Connection": "keep-alive", - } - try: - with requests.Session() as session: - session.headers.update(headers) - - # 使用Session获取页面内容 - response = session.get(url, timeout=timeout) - response.raise_for_status() # 检查请求是否成功 - detected_encoding = chardet.detect(response.content)['encoding'] - if detected_encoding: - response.encoding = detected_encoding # 设置检测到的编码 - doc = Document(response.text) - content = doc.summary() - # 清理内容 - cleaned_content = clean_html_content(content) - except requests.RequestException as e: - print(f"Error fetching content from {url}: {e}") - return None - return cleaned_content - - -# 检查是否为重定向链接并返回最终的链接(如果有重定向) -def resolve_redirect(link): - try: - # 检查是否为重定向链接 - response = requests.head(link, allow_redirects=False) - if 300 <= response.status_code < 400: - # 重定向链接,获取重定向目标 - redirect_url = response.headers.get('Location') - if redirect_url: - return redirect_url # 返回重定向后的目标链接 - return link # 如果没有重定向,返回原始链接 - except Exception as e: - print(f"Error checking redirection for {link}: {e}") - return link # 出错时返回原始链接 - -def cleanResults(search_results,redirect=True): - # 排除重复的link和None值 - filtered_results = [] - if not redirect: - for loc,result in enumerate(search_results): - if result is None or result["link"] in [res["link"] for res in filtered_results]: - continue - filtered_results.append(result) - # 并行检查重定向并替换链接 - else: - with concurrent.futures.ThreadPoolExecutor() as executor: - resolved_links = executor.map(lambda result: resolve_redirect(result["link"]), search_results) - # 遍历 search_results,并根据返回的 resolved_links 更新链接 - for result, final_link in zip(search_results, resolved_links): - if any(site in final_link for site in black_list + video_sites): - continue - - # 检查重复的链接 - if final_link in [res["link"] for res in filtered_results]: - continue - - # 更新结果中的链接为重定向目标(如果有) - result["link"] = final_link - filtered_results.append(result) - return filtered_results - -def search(query,mainTopn=3,subTopn=1,summary=True,splitQFlag=True): - # 拆分问题为子问题,增加上原问题并去重 - if splitQFlag: - query_list = splitQ(query) - else: - query_list = [query] - - # 使用并行的方式搜索每个子问题 - search_results = [] - top_nSet=[mainTopn] + [subTopn]*(len(query_list)-1) - with concurrent.futures.ThreadPoolExecutor() as executor: - results = executor.map(lambda loc_q: baidu_search(loc_q[1], max_results=5, top_n=top_nSet[loc_q[0]]), enumerate(query_list)) - for result in results: - search_results.extend(result) - - print(search_results) - # 过滤掉重复的链接和None值 - search_results=cleanResults(search_results) - - # 并行爬取每个链接的内容 - page_contents = [] - with concurrent.futures.ThreadPoolExecutor() as executor: - links = [result["link"] for result in search_results] - contents = executor.map(fetch_page_content, links) - # 将结果按顺序添加回 search_results 中 - for result, content in zip(search_results, contents): - if content and is_page_valid (content): - result["content"] = content - page_contents.append(result) - - - if summary: - return summaryResultByLLM(page_contents) - return page_contents - - -def getModelResultByLLM(text,max_tokens=MAX_TOKENS): - # 使用模型生成文本 - text=text[:min(max_tokens, len(text))] - text = tokenizer.apply_chat_template( - [{"role": "user", "content": text}], - tokenize=False, - add_generation_prompt=True - ) - model_inputs = tokenizer([text], return_tensors="pt")['input_ids'].to(device) - # input_text= tokenizer.decode(model_inputs[0], skip_special_tokens=True) - # print(f"输入文本: {input_text}") - # 在不更新梯度的情况下生成结果 - with torch.no_grad(): - generated_ids = model.module.generate( - input_ids=model_inputs, - max_new_tokens=max_new_tokens, - ) - - # 确保正确计算生成的token,并排除输入部分 - generated_ids = [ - output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs, generated_ids) - ] - - # 将生成的token ID解码为可读文本 - response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] - - return response - -def summaryResultByLLM(page_contents): - # 将搜索结果和子问题拼接成一个文本,并使用模型筛选关键信息 - link=[content["link"] for content in page_contents] - main_query = page_contents[0]['query'] - mainAnswer = "" - subq="" - answer="" - query =None - for loc, content in enumerate(page_contents): - if content['query'] == main_query: - mainAnswer+=prompt['pageItem'].format(id=loc, content=content['content']) - elif content['query'] == query: - answer+=prompt['pageItem'].format(id=loc, content=content['content']) - else: - if query: - subq+=prompt['subq'].format(subq=query,answers=answer,subqLast=prompt['subq']) - query = content['query'] - answer=prompt['pageItem'].format(id=loc, content=content['content']) - if query: - if subq!="": - subq=subq.format(subq=query,answers=answer,subqLast="") - else: - subq=prompt['subq'].format(subq=query,answers=answer,subqLast="") - context=prompt['summary'].format(question=main_query,answers=mainAnswer,subq=subq) - infrence_time = time.time() - response=getModelResultByLLM(context) - infrence_time = time.time()-infrence_time - print(f"总结推理时间: {infrence_time:.2f}秒") - return response, link - -if __name__ == "__main__": - parser = argparse.ArgumentParser(description="解析模型相关参数的示例。") - parser.add_argument('--qury', type=str, default="请问NLP是什么?", help='所提问的问题') - parser.add_argument('--model_path', type=str, default="/home/nfs02/model/Qwen1.5-14B-Chat", help='模型路径') - parser.add_argument('--max_new_tokens', type=int, default=500, help='生成文本的最大长度') - parser.add_argument('--summary', type=bool, default=True, help='是否生成总结') - parser.add_argument('--splitQFlag', type=bool, default=True, help='是否分割子问题') - parser.add_argument('--mainTopn', type=int, default=3, help='主任务的 top n 网页选择') - parser.add_argument('--subTopn', type=int, default=1, help='子任务的 top n 网页选择') - args = parser.parse_args() - - model_path = args.model_path - model, tokenizer, device = getModel(model_path) - - max_new_tokens = args.max_new_tokens - print(search(args.qury,mainTopn=args.mainTopn,subTopn=args.subTopn,summary=args.summary,splitQFlag=args.splitQFlag)) \ No newline at end of file diff --git a/SearchAgent/agent.png b/SearchAgent/agent.png deleted file mode 100644 index 2d30b4c70e9fd62ed31ae47d8c7c93742ffc0170..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36180 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 S7Y>A}EIxYZ7>ao?= 1: - print(f"使用 {torch.cuda.device_count()} 块 GPU!") - model = torch.nn.DataParallel(model) - # 如果有GPU可用,使用GPU,否则使用CPU cuda - device = torch.device("cuda" if torch.cuda.is_available() else "cpu") - model.to(device) - return model, tokenizer, device \ No newline at end of file diff --git a/SearchAgent/promptSet.py b/SearchAgent/promptSet.py deleted file mode 100644 index 8df7704b..00000000 --- a/SearchAgent/promptSet.py +++ /dev/null @@ -1,193 +0,0 @@ -prompt={} -prompt['splitQ'] = """ -现在是2024年,你是一个拆分问题的智能助手,负责将"需拆分问题"拆分为可通过搜索回答的子问题。 - -## 任务介绍 -将问题拆分为多个单一、具体的子问题,便于搜索获取答案。每个子问题应涉及一个特定的知识点、时间、地点、人物或事件。请避免复合问题(如多个知识点的问题或者多个事物的比较加筛选)或重复提问(提问已经提问过的问题)。子问题必须完整独立,避免使用模糊表达,如"该组织,以上内容"。 - - -## 返回格式 -返回一个列表,每个元素为一个子问题。如果不可拆分,请返回空列表。 - -## 样例 -样例问题:什么是生成式 AI? -答案:["生成式模型定义", "生成式模型的运作原理是什么?", "生成式模型的应用有哪些?"] -样例问题:中国的2023年的GDP是多少? -答案:[] - -需拆分问题:{question} -""" - -prompt['summary'] = """ -根据问题和拆解出的子问题,筛选有助于回答问题的网页内容,并在300字内总结。每个关键点需标明网页ID,格式为`[[int]]`,多个ID用`[[id_1]][[id_2]]`表示。 - -- 回答需逻辑清晰、结构分明,易于理解。 -- 确保每个关键点引用对应的搜索结果来源,保持专业、严谨的表达。 -- 回答必须完整,避免使用模糊表达,如"基于上述内容",最终展示的内容不包含网页内容。 -- 统一语法和词汇,保持文档一致性和连贯性。 -- 由于网页过长,网页内容可能被截断,请专注于抽取关键信息。 - -用户问题:{question} {answers} {subq} -""" - - -prompt['subq'] = "\n子问题:{subq} {answers} {subqLast}" - -prompt['pageItem'] = "\n搜索到的网页ID:{id} 网页内容:{content}" - - - -user_agent_pool = [ # User-Agent池 - # Cent Browser 4.3.9.248,Chromium 86.0.4240.198,2021.01 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36', - - # Edge - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38', - # 2021.09 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.44', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.47', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.31', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.37', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Edg/94.0.992.38', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.47', - # 2021.10 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.50', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.30', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.44', - # 2021.11 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.53', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 Edg/96.0.1054.29', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.34', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.41', - # 2021.12 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.43', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36 Edg/96.0.1054.53', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55', - # 2022.01 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.62', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.76', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43', - # 2022.02 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.50', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.55', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.56', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.62', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.30', - # 2022.03 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.39', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.52', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29', - # 2022.04 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.39', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.44', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.50', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36 Edg/101.0.1210.32', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36 Edg/101.0.1210.39', - # 2022.05 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.47', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36 Edg/101.0.1210.53', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.30', - # 2022.06 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.33', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.39', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.41', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.124 Safari/537.36 Edg/102.0.1245.44', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44', - # 2022.07 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.71', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.77', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47', - # 2022.08 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.63', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.27', - # 2022.09 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.33', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.42', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.50', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.34', - # 2022.10 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.37', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.42', - - # Chrome - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36', - # 2021.10 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36', - # 2021.11 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36', - # 2021.12 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36', - # 2022.01 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36', - # 2022.02 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36', - # 2022.03 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36', - # 2022.04 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36', - # 2022.05 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.115 Safari/537.36', - # 2022.06 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36', - # 2022.07 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36', - # 2022.08 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.54 Safari/537.36', - # 2022.09 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.102 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.127 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5249.91 Safari/537.36', - # 2022.10 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5249.103 Safari/537.36', - - # Chrome Beta - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.41 Safari/537.36', - # 2021.09 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.17 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.32 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.40 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.49 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.18 Safari/537.36', - # 2021.10 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.27 Safari/537.36', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.35 Safari/537.36', - # 2021.11 - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36' -] \ No newline at end of file diff --git a/SearchAgent/requirements.txt b/SearchAgent/requirements.txt deleted file mode 100644 index ccbe4dca..00000000 --- a/SearchAgent/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -torch -transformers==4.41.0 -scikit-learn -requests -beautifulsoup4 -lxml -readability -chardet - diff --git a/euler-copilot-helm/README.md b/deploy/README.md similarity index 100% rename from euler-copilot-helm/README.md rename to deploy/README.md diff --git a/euler-copilot-helm/chart/agents/.helmignore b/deploy/chart/agents/.helmignore similarity index 100% rename from euler-copilot-helm/chart/agents/.helmignore rename to deploy/chart/agents/.helmignore diff --git a/euler-copilot-helm/chart/agents/Chart.yaml b/deploy/chart/agents/Chart.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/Chart.yaml rename to deploy/chart/agents/Chart.yaml diff --git a/euler-copilot-helm/chart/agents/configs/ai-infra-agent/.env.yaml b/deploy/chart/agents/configs/ai-infra-agent/.env.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/configs/ai-infra-agent/.env.yaml rename to deploy/chart/agents/configs/ai-infra-agent/.env.yaml diff --git a/euler-copilot-helm/chart/agents/configs/rca-agent/config.json b/deploy/chart/agents/configs/rca-agent/config.json similarity index 100% rename from euler-copilot-helm/chart/agents/configs/rca-agent/config.json rename to deploy/chart/agents/configs/rca-agent/config.json diff --git a/euler-copilot-helm/chart/agents/configs/rca-agent/request_config.json b/deploy/chart/agents/configs/rca-agent/request_config.json similarity index 100% rename from euler-copilot-helm/chart/agents/configs/rca-agent/request_config.json rename to deploy/chart/agents/configs/rca-agent/request_config.json diff --git a/euler-copilot-helm/chart/agents/configs/tune/.env.yaml b/deploy/chart/agents/configs/tune/.env.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/configs/tune/.env.yaml rename to deploy/chart/agents/configs/tune/.env.yaml diff --git a/euler-copilot-helm/chart/agents/configs/tune/app_config.yaml b/deploy/chart/agents/configs/tune/app_config.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/configs/tune/app_config.yaml rename to deploy/chart/agents/configs/tune/app_config.yaml diff --git a/euler-copilot-helm/chart/agents/configs/tune/knob_rag_config.json b/deploy/chart/agents/configs/tune/knob_rag_config.json similarity index 100% rename from euler-copilot-helm/chart/agents/configs/tune/knob_rag_config.json rename to deploy/chart/agents/configs/tune/knob_rag_config.json diff --git a/euler-copilot-helm/chart/agents/configs/tune/optimize_config.yaml b/deploy/chart/agents/configs/tune/optimize_config.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/configs/tune/optimize_config.yaml rename to deploy/chart/agents/configs/tune/optimize_config.yaml diff --git a/euler-copilot-helm/chart/agents/templates/NOTES.txt b/deploy/chart/agents/templates/NOTES.txt similarity index 100% rename from euler-copilot-helm/chart/agents/templates/NOTES.txt rename to deploy/chart/agents/templates/NOTES.txt diff --git a/euler-copilot-helm/chart/agents/templates/ai-infra-agent/ai-infra-deployment.yaml b/deploy/chart/agents/templates/ai-infra-agent/ai-infra-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/ai-infra-agent/ai-infra-deployment.yaml rename to deploy/chart/agents/templates/ai-infra-agent/ai-infra-deployment.yaml diff --git a/euler-copilot-helm/chart/agents/templates/ai-infra-agent/ai-infra-secret.yaml b/deploy/chart/agents/templates/ai-infra-agent/ai-infra-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/ai-infra-agent/ai-infra-secret.yaml rename to deploy/chart/agents/templates/ai-infra-agent/ai-infra-secret.yaml diff --git a/euler-copilot-helm/chart/agents/templates/ai-infra-agent/ai-infra-service.yaml b/deploy/chart/agents/templates/ai-infra-agent/ai-infra-service.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/ai-infra-agent/ai-infra-service.yaml rename to deploy/chart/agents/templates/ai-infra-agent/ai-infra-service.yaml diff --git a/euler-copilot-helm/chart/agents/templates/rca-agent/rca-agent-config.yaml b/deploy/chart/agents/templates/rca-agent/rca-agent-config.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/rca-agent/rca-agent-config.yaml rename to deploy/chart/agents/templates/rca-agent/rca-agent-config.yaml diff --git a/euler-copilot-helm/chart/agents/templates/rca-agent/rca-agent-deployment.yaml b/deploy/chart/agents/templates/rca-agent/rca-agent-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/rca-agent/rca-agent-deployment.yaml rename to deploy/chart/agents/templates/rca-agent/rca-agent-deployment.yaml diff --git a/euler-copilot-helm/chart/agents/templates/rca-agent/rca-agent-service.yaml b/deploy/chart/agents/templates/rca-agent/rca-agent-service.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/rca-agent/rca-agent-service.yaml rename to deploy/chart/agents/templates/rca-agent/rca-agent-service.yaml diff --git a/euler-copilot-helm/chart/agents/templates/tune/tune-deployment.yaml b/deploy/chart/agents/templates/tune/tune-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/tune/tune-deployment.yaml rename to deploy/chart/agents/templates/tune/tune-deployment.yaml diff --git a/euler-copilot-helm/chart/agents/templates/tune/tune-secret.yaml b/deploy/chart/agents/templates/tune/tune-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/tune/tune-secret.yaml rename to deploy/chart/agents/templates/tune/tune-secret.yaml diff --git a/euler-copilot-helm/chart/agents/templates/tune/tune-service.yaml b/deploy/chart/agents/templates/tune/tune-service.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/templates/tune/tune-service.yaml rename to deploy/chart/agents/templates/tune/tune-service.yaml diff --git a/euler-copilot-helm/chart/agents/values.yaml b/deploy/chart/agents/values.yaml similarity index 100% rename from euler-copilot-helm/chart/agents/values.yaml rename to deploy/chart/agents/values.yaml diff --git a/euler-copilot-helm/chart/authhub/.helmignore b/deploy/chart/authhub/.helmignore similarity index 100% rename from euler-copilot-helm/chart/authhub/.helmignore rename to deploy/chart/authhub/.helmignore diff --git a/euler-copilot-helm/chart/authhub/Chart.yaml b/deploy/chart/authhub/Chart.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/Chart.yaml rename to deploy/chart/authhub/Chart.yaml diff --git a/euler-copilot-helm/chart/authhub/configs/backend/aops-config.yml b/deploy/chart/authhub/configs/backend/aops-config.yml similarity index 100% rename from euler-copilot-helm/chart/authhub/configs/backend/aops-config.yml rename to deploy/chart/authhub/configs/backend/aops-config.yml diff --git a/euler-copilot-helm/chart/authhub/configs/backend/authhub.yml b/deploy/chart/authhub/configs/backend/authhub.yml similarity index 100% rename from euler-copilot-helm/chart/authhub/configs/backend/authhub.yml rename to deploy/chart/authhub/configs/backend/authhub.yml diff --git a/euler-copilot-helm/chart/authhub/configs/web/authhub.nginx.conf b/deploy/chart/authhub/configs/web/authhub.nginx.conf similarity index 100% rename from euler-copilot-helm/chart/authhub/configs/web/authhub.nginx.conf rename to deploy/chart/authhub/configs/web/authhub.nginx.conf diff --git a/euler-copilot-helm/chart/authhub/templates/NOTES.txt b/deploy/chart/authhub/templates/NOTES.txt similarity index 100% rename from euler-copilot-helm/chart/authhub/templates/NOTES.txt rename to deploy/chart/authhub/templates/NOTES.txt diff --git a/euler-copilot-helm/chart/authhub/templates/backend/authhub-backend-deployment.yaml b/deploy/chart/authhub/templates/backend/authhub-backend-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/templates/backend/authhub-backend-deployment.yaml rename to deploy/chart/authhub/templates/backend/authhub-backend-deployment.yaml diff --git a/euler-copilot-helm/chart/authhub/templates/backend/authhub-backend-secret.yaml b/deploy/chart/authhub/templates/backend/authhub-backend-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/templates/backend/authhub-backend-secret.yaml rename to deploy/chart/authhub/templates/backend/authhub-backend-secret.yaml diff --git a/euler-copilot-helm/chart/authhub/templates/backend/authhub-backend-service.yaml b/deploy/chart/authhub/templates/backend/authhub-backend-service.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/templates/backend/authhub-backend-service.yaml rename to deploy/chart/authhub/templates/backend/authhub-backend-service.yaml diff --git a/euler-copilot-helm/chart/authhub/templates/web/authhub-web-deployment.yaml b/deploy/chart/authhub/templates/web/authhub-web-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/templates/web/authhub-web-deployment.yaml rename to deploy/chart/authhub/templates/web/authhub-web-deployment.yaml diff --git a/euler-copilot-helm/chart/authhub/templates/web/authhub-web-ingress.yaml b/deploy/chart/authhub/templates/web/authhub-web-ingress.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/templates/web/authhub-web-ingress.yaml rename to deploy/chart/authhub/templates/web/authhub-web-ingress.yaml diff --git a/euler-copilot-helm/chart/authhub/templates/web/authhub-web-secret.yaml b/deploy/chart/authhub/templates/web/authhub-web-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/templates/web/authhub-web-secret.yaml rename to deploy/chart/authhub/templates/web/authhub-web-secret.yaml diff --git a/euler-copilot-helm/chart/authhub/templates/web/authhub-web-service.yaml b/deploy/chart/authhub/templates/web/authhub-web-service.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/templates/web/authhub-web-service.yaml rename to deploy/chart/authhub/templates/web/authhub-web-service.yaml diff --git a/euler-copilot-helm/chart/authhub/values.yaml b/deploy/chart/authhub/values.yaml similarity index 100% rename from euler-copilot-helm/chart/authhub/values.yaml rename to deploy/chart/authhub/values.yaml diff --git a/euler-copilot-helm/chart/databases/.helmignore b/deploy/chart/databases/.helmignore similarity index 100% rename from euler-copilot-helm/chart/databases/.helmignore rename to deploy/chart/databases/.helmignore diff --git a/euler-copilot-helm/chart/databases/Chart.yaml b/deploy/chart/databases/Chart.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/Chart.yaml rename to deploy/chart/databases/Chart.yaml diff --git a/euler-copilot-helm/chart/databases/configs/mysql/init.sql b/deploy/chart/databases/configs/mysql/init.sql similarity index 100% rename from euler-copilot-helm/chart/databases/configs/mysql/init.sql rename to deploy/chart/databases/configs/mysql/init.sql diff --git a/euler-copilot-helm/chart/databases/configs/pgsql/init.sql b/deploy/chart/databases/configs/pgsql/init.sql similarity index 100% rename from euler-copilot-helm/chart/databases/configs/pgsql/init.sql rename to deploy/chart/databases/configs/pgsql/init.sql diff --git a/euler-copilot-helm/chart/databases/templates/NOTES.txt b/deploy/chart/databases/templates/NOTES.txt similarity index 100% rename from euler-copilot-helm/chart/databases/templates/NOTES.txt rename to deploy/chart/databases/templates/NOTES.txt diff --git a/euler-copilot-helm/chart/databases/templates/mysql/mysql-deployment.yaml b/deploy/chart/databases/templates/mysql/mysql-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/mysql/mysql-deployment.yaml rename to deploy/chart/databases/templates/mysql/mysql-deployment.yaml diff --git a/euler-copilot-helm/chart/databases/templates/mysql/mysql-pvc.yaml b/deploy/chart/databases/templates/mysql/mysql-pvc.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/mysql/mysql-pvc.yaml rename to deploy/chart/databases/templates/mysql/mysql-pvc.yaml diff --git a/euler-copilot-helm/chart/databases/templates/mysql/mysql-secret.yaml b/deploy/chart/databases/templates/mysql/mysql-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/mysql/mysql-secret.yaml rename to deploy/chart/databases/templates/mysql/mysql-secret.yaml diff --git a/euler-copilot-helm/chart/databases/templates/mysql/mysql-service.yaml b/deploy/chart/databases/templates/mysql/mysql-service.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/mysql/mysql-service.yaml rename to deploy/chart/databases/templates/mysql/mysql-service.yaml diff --git a/euler-copilot-helm/chart/databases/templates/pgsql/pgsql-deployment.yaml b/deploy/chart/databases/templates/pgsql/pgsql-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/pgsql/pgsql-deployment.yaml rename to deploy/chart/databases/templates/pgsql/pgsql-deployment.yaml diff --git a/euler-copilot-helm/chart/databases/templates/pgsql/pgsql-pvc.yaml b/deploy/chart/databases/templates/pgsql/pgsql-pvc.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/pgsql/pgsql-pvc.yaml rename to deploy/chart/databases/templates/pgsql/pgsql-pvc.yaml diff --git a/euler-copilot-helm/chart/databases/templates/pgsql/pgsql-secret.yaml b/deploy/chart/databases/templates/pgsql/pgsql-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/pgsql/pgsql-secret.yaml rename to deploy/chart/databases/templates/pgsql/pgsql-secret.yaml diff --git a/euler-copilot-helm/chart/databases/templates/pgsql/pgsql-service.yaml b/deploy/chart/databases/templates/pgsql/pgsql-service.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/pgsql/pgsql-service.yaml rename to deploy/chart/databases/templates/pgsql/pgsql-service.yaml diff --git a/euler-copilot-helm/chart/databases/templates/redis/redis-deployment.yaml b/deploy/chart/databases/templates/redis/redis-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/redis/redis-deployment.yaml rename to deploy/chart/databases/templates/redis/redis-deployment.yaml diff --git a/euler-copilot-helm/chart/databases/templates/redis/redis-secret.yaml b/deploy/chart/databases/templates/redis/redis-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/redis/redis-secret.yaml rename to deploy/chart/databases/templates/redis/redis-secret.yaml diff --git a/euler-copilot-helm/chart/databases/templates/redis/redis-service.yaml b/deploy/chart/databases/templates/redis/redis-service.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/templates/redis/redis-service.yaml rename to deploy/chart/databases/templates/redis/redis-service.yaml diff --git a/euler-copilot-helm/chart/databases/values.yaml b/deploy/chart/databases/values.yaml similarity index 100% rename from euler-copilot-helm/chart/databases/values.yaml rename to deploy/chart/databases/values.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/.helmignore b/deploy/chart/euler_copilot/.helmignore similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/.helmignore rename to deploy/chart/euler_copilot/.helmignore diff --git a/euler-copilot-helm/chart/euler_copilot/Chart.yaml b/deploy/chart/euler_copilot/Chart.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/Chart.yaml rename to deploy/chart/euler_copilot/Chart.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/configs/framework/.env b/deploy/chart/euler_copilot/configs/framework/.env similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/configs/framework/.env rename to deploy/chart/euler_copilot/configs/framework/.env diff --git a/euler-copilot-helm/chart/euler_copilot/configs/rag/.env b/deploy/chart/euler_copilot/configs/rag/.env similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/configs/rag/.env rename to deploy/chart/euler_copilot/configs/rag/.env diff --git a/euler-copilot-helm/chart/euler_copilot/configs/rag/prompt_template.yaml b/deploy/chart/euler_copilot/configs/rag/prompt_template.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/configs/rag/prompt_template.yaml rename to deploy/chart/euler_copilot/configs/rag/prompt_template.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/configs/vectorize/.env b/deploy/chart/euler_copilot/configs/vectorize/.env similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/configs/vectorize/.env rename to deploy/chart/euler_copilot/configs/vectorize/.env diff --git a/euler-copilot-helm/chart/euler_copilot/configs/web/.env b/deploy/chart/euler_copilot/configs/web/.env similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/configs/web/.env rename to deploy/chart/euler_copilot/configs/web/.env diff --git a/euler-copilot-helm/chart/euler_copilot/templates/NOTES.txt b/deploy/chart/euler_copilot/templates/NOTES.txt similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/NOTES.txt rename to deploy/chart/euler_copilot/templates/NOTES.txt diff --git a/euler-copilot-helm/chart/euler_copilot/templates/framework/framework-deployment.yaml b/deploy/chart/euler_copilot/templates/framework/framework-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/framework/framework-deployment.yaml rename to deploy/chart/euler_copilot/templates/framework/framework-deployment.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/framework/framework-secret.yaml b/deploy/chart/euler_copilot/templates/framework/framework-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/framework/framework-secret.yaml rename to deploy/chart/euler_copilot/templates/framework/framework-secret.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/framework/framework-service.yaml b/deploy/chart/euler_copilot/templates/framework/framework-service.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/framework/framework-service.yaml rename to deploy/chart/euler_copilot/templates/framework/framework-service.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/rag/rag-deployment.yaml b/deploy/chart/euler_copilot/templates/rag/rag-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/rag/rag-deployment.yaml rename to deploy/chart/euler_copilot/templates/rag/rag-deployment.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/rag/rag-secret.yaml b/deploy/chart/euler_copilot/templates/rag/rag-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/rag/rag-secret.yaml rename to deploy/chart/euler_copilot/templates/rag/rag-secret.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/rag/rag-service.yaml b/deploy/chart/euler_copilot/templates/rag/rag-service.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/rag/rag-service.yaml rename to deploy/chart/euler_copilot/templates/rag/rag-service.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/vectorize/vectorize-deployment.yaml b/deploy/chart/euler_copilot/templates/vectorize/vectorize-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/vectorize/vectorize-deployment.yaml rename to deploy/chart/euler_copilot/templates/vectorize/vectorize-deployment.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/vectorize/vectorize-secret.yaml b/deploy/chart/euler_copilot/templates/vectorize/vectorize-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/vectorize/vectorize-secret.yaml rename to deploy/chart/euler_copilot/templates/vectorize/vectorize-secret.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/vectorize/vectorize-service.yaml b/deploy/chart/euler_copilot/templates/vectorize/vectorize-service.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/vectorize/vectorize-service.yaml rename to deploy/chart/euler_copilot/templates/vectorize/vectorize-service.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/web/web-config.yaml b/deploy/chart/euler_copilot/templates/web/web-config.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/web/web-config.yaml rename to deploy/chart/euler_copilot/templates/web/web-config.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/web/web-deployment.yaml b/deploy/chart/euler_copilot/templates/web/web-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/web/web-deployment.yaml rename to deploy/chart/euler_copilot/templates/web/web-deployment.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/web/web-ingress.yaml b/deploy/chart/euler_copilot/templates/web/web-ingress.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/web/web-ingress.yaml rename to deploy/chart/euler_copilot/templates/web/web-ingress.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/templates/web/web-service.yaml b/deploy/chart/euler_copilot/templates/web/web-service.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/templates/web/web-service.yaml rename to deploy/chart/euler_copilot/templates/web/web-service.yaml diff --git a/euler-copilot-helm/chart/euler_copilot/values.yaml b/deploy/chart/euler_copilot/values.yaml similarity index 100% rename from euler-copilot-helm/chart/euler_copilot/values.yaml rename to deploy/chart/euler_copilot/values.yaml diff --git a/euler-copilot-helm/chart/witchaind/.helmignore b/deploy/chart/witchaind/.helmignore similarity index 100% rename from euler-copilot-helm/chart/witchaind/.helmignore rename to deploy/chart/witchaind/.helmignore diff --git a/euler-copilot-helm/chart/witchaind/Chart.yaml b/deploy/chart/witchaind/Chart.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/Chart.yaml rename to deploy/chart/witchaind/Chart.yaml diff --git a/euler-copilot-helm/chart/witchaind/configs/backend/.env b/deploy/chart/witchaind/configs/backend/.env similarity index 100% rename from euler-copilot-helm/chart/witchaind/configs/backend/.env rename to deploy/chart/witchaind/configs/backend/.env diff --git a/euler-copilot-helm/chart/witchaind/configs/backend/prompt.yaml b/deploy/chart/witchaind/configs/backend/prompt.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/configs/backend/prompt.yaml rename to deploy/chart/witchaind/configs/backend/prompt.yaml diff --git a/euler-copilot-helm/chart/witchaind/configs/backend/stop_words.txt b/deploy/chart/witchaind/configs/backend/stop_words.txt similarity index 100% rename from euler-copilot-helm/chart/witchaind/configs/backend/stop_words.txt rename to deploy/chart/witchaind/configs/backend/stop_words.txt diff --git a/euler-copilot-helm/chart/witchaind/configs/web/.env b/deploy/chart/witchaind/configs/web/.env similarity index 100% rename from euler-copilot-helm/chart/witchaind/configs/web/.env rename to deploy/chart/witchaind/configs/web/.env diff --git a/euler-copilot-helm/chart/witchaind/templates/NOTES.txt b/deploy/chart/witchaind/templates/NOTES.txt similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/NOTES.txt rename to deploy/chart/witchaind/templates/NOTES.txt diff --git a/euler-copilot-helm/chart/witchaind/templates/backend/witchaind-backend-deployment.yaml b/deploy/chart/witchaind/templates/backend/witchaind-backend-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/backend/witchaind-backend-deployment.yaml rename to deploy/chart/witchaind/templates/backend/witchaind-backend-deployment.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/backend/witchaind-backend-secret.yaml b/deploy/chart/witchaind/templates/backend/witchaind-backend-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/backend/witchaind-backend-secret.yaml rename to deploy/chart/witchaind/templates/backend/witchaind-backend-secret.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/backend/witchaind-backend-service.yaml b/deploy/chart/witchaind/templates/backend/witchaind-backend-service.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/backend/witchaind-backend-service.yaml rename to deploy/chart/witchaind/templates/backend/witchaind-backend-service.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/minio/minio-deployment.yaml b/deploy/chart/witchaind/templates/minio/minio-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/minio/minio-deployment.yaml rename to deploy/chart/witchaind/templates/minio/minio-deployment.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/minio/minio-pvc.yaml b/deploy/chart/witchaind/templates/minio/minio-pvc.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/minio/minio-pvc.yaml rename to deploy/chart/witchaind/templates/minio/minio-pvc.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/minio/minio-service.yaml b/deploy/chart/witchaind/templates/minio/minio-service.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/minio/minio-service.yaml rename to deploy/chart/witchaind/templates/minio/minio-service.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/redis/redis-deployment.yaml b/deploy/chart/witchaind/templates/redis/redis-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/redis/redis-deployment.yaml rename to deploy/chart/witchaind/templates/redis/redis-deployment.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/redis/redis-secret.yaml b/deploy/chart/witchaind/templates/redis/redis-secret.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/redis/redis-secret.yaml rename to deploy/chart/witchaind/templates/redis/redis-secret.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/redis/redis-service.yaml b/deploy/chart/witchaind/templates/redis/redis-service.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/redis/redis-service.yaml rename to deploy/chart/witchaind/templates/redis/redis-service.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/web/witchaind-web-config.yaml b/deploy/chart/witchaind/templates/web/witchaind-web-config.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/web/witchaind-web-config.yaml rename to deploy/chart/witchaind/templates/web/witchaind-web-config.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/web/witchaind-web-deployment.yaml b/deploy/chart/witchaind/templates/web/witchaind-web-deployment.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/web/witchaind-web-deployment.yaml rename to deploy/chart/witchaind/templates/web/witchaind-web-deployment.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/web/witchaind-web-ingress.yaml b/deploy/chart/witchaind/templates/web/witchaind-web-ingress.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/web/witchaind-web-ingress.yaml rename to deploy/chart/witchaind/templates/web/witchaind-web-ingress.yaml diff --git a/euler-copilot-helm/chart/witchaind/templates/web/witchaind-web-service.yaml b/deploy/chart/witchaind/templates/web/witchaind-web-service.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/templates/web/witchaind-web-service.yaml rename to deploy/chart/witchaind/templates/web/witchaind-web-service.yaml diff --git a/euler-copilot-helm/chart/witchaind/values.yaml b/deploy/chart/witchaind/values.yaml similarity index 100% rename from euler-copilot-helm/chart/witchaind/values.yaml rename to deploy/chart/witchaind/values.yaml diff --git a/euler-copilot-helm/chart_ssl/traefik-config.yml b/deploy/chart_ssl/traefik-config.yml similarity index 100% rename from euler-copilot-helm/chart_ssl/traefik-config.yml rename to deploy/chart_ssl/traefik-config.yml diff --git a/euler-copilot-helm/chart_ssl/traefik-secret.yaml b/deploy/chart_ssl/traefik-secret.yaml similarity index 100% rename from euler-copilot-helm/chart_ssl/traefik-secret.yaml rename to deploy/chart_ssl/traefik-secret.yaml diff --git a/euler-copilot-helm/chart_ssl/traefik-tlsstore.yaml b/deploy/chart_ssl/traefik-tlsstore.yaml similarity index 100% rename from euler-copilot-helm/chart_ssl/traefik-tlsstore.yaml rename to deploy/chart_ssl/traefik-tlsstore.yaml diff --git a/euler-copilot-helm/scripts/check_env.sh b/deploy/scripts/check_env.sh similarity index 100% rename from euler-copilot-helm/scripts/check_env.sh rename to deploy/scripts/check_env.sh diff --git a/euler-copilot-helm/scripts/download_file.sh b/deploy/scripts/download_file.sh similarity index 100% rename from euler-copilot-helm/scripts/download_file.sh rename to deploy/scripts/download_file.sh diff --git a/euler-copilot-helm/scripts/get_log.sh b/deploy/scripts/get_log.sh similarity index 100% rename from euler-copilot-helm/scripts/get_log.sh rename to deploy/scripts/get_log.sh diff --git a/euler-copilot-helm/scripts/install_tools.sh b/deploy/scripts/install_tools.sh similarity index 100% rename from euler-copilot-helm/scripts/install_tools.sh rename to deploy/scripts/install_tools.sh diff --git a/euler-copilot-helm/scripts/prepare_docker.sh b/deploy/scripts/prepare_docker.sh similarity index 100% rename from euler-copilot-helm/scripts/prepare_docker.sh rename to deploy/scripts/prepare_docker.sh diff --git a/euler-copilot-plugins/.gitignore b/euler-copilot-plugins/.gitignore deleted file mode 100644 index 62c89355..00000000 --- a/euler-copilot-plugins/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.idea/ \ No newline at end of file diff --git a/euler-copilot-plugins/README.en.md b/euler-copilot-plugins/README.en.md deleted file mode 100644 index 1fb8f0d5..00000000 --- a/euler-copilot-plugins/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# euler-copilot-plugins - -#### Description -插件仓库 - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/euler-copilot-plugins/README.md b/euler-copilot-plugins/README.md deleted file mode 100644 index f5b1800b..00000000 --- a/euler-copilot-plugins/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# euler-copilot-plugins - -#### 介绍 -插件仓库 - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/euler-copilot-plugins/euler-copilot-rca/flows/demarcation.yaml b/plugins/euler-copilot-rca/flows/demarcation.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-rca/flows/demarcation.yaml rename to plugins/euler-copilot-rca/flows/demarcation.yaml diff --git a/euler-copilot-plugins/euler-copilot-rca/flows/detection.yaml b/plugins/euler-copilot-rca/flows/detection.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-rca/flows/detection.yaml rename to plugins/euler-copilot-rca/flows/detection.yaml diff --git a/euler-copilot-plugins/euler-copilot-rca/flows/inspection.yaml b/plugins/euler-copilot-rca/flows/inspection.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-rca/flows/inspection.yaml rename to plugins/euler-copilot-rca/flows/inspection.yaml diff --git a/euler-copilot-plugins/euler-copilot-rca/flows/show_profiling.yaml b/plugins/euler-copilot-rca/flows/show_profiling.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-rca/flows/show_profiling.yaml rename to plugins/euler-copilot-rca/flows/show_profiling.yaml diff --git a/euler-copilot-plugins/euler-copilot-rca/openapi.yaml b/plugins/euler-copilot-rca/openapi.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-rca/openapi.yaml rename to plugins/euler-copilot-rca/openapi.yaml diff --git a/euler-copilot-plugins/euler-copilot-rca/plugin.json b/plugins/euler-copilot-rca/plugin.json similarity index 100% rename from euler-copilot-plugins/euler-copilot-rca/plugin.json rename to plugins/euler-copilot-rca/plugin.json diff --git a/euler-copilot-plugins/euler-copilot-tune/flows/data_collection.yaml b/plugins/euler-copilot-tune/flows/data_collection.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-tune/flows/data_collection.yaml rename to plugins/euler-copilot-tune/flows/data_collection.yaml diff --git a/euler-copilot-plugins/euler-copilot-tune/flows/performance_analysis.yaml b/plugins/euler-copilot-tune/flows/performance_analysis.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-tune/flows/performance_analysis.yaml rename to plugins/euler-copilot-tune/flows/performance_analysis.yaml diff --git a/euler-copilot-plugins/euler-copilot-tune/flows/performance_tuning.yaml b/plugins/euler-copilot-tune/flows/performance_tuning.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-tune/flows/performance_tuning.yaml rename to plugins/euler-copilot-tune/flows/performance_tuning.yaml diff --git a/euler-copilot-plugins/euler-copilot-tune/openapi.yaml b/plugins/euler-copilot-tune/openapi.yaml similarity index 100% rename from euler-copilot-plugins/euler-copilot-tune/openapi.yaml rename to plugins/euler-copilot-tune/openapi.yaml diff --git a/euler-copilot-plugins/euler-copilot-tune/plugin.json b/plugins/euler-copilot-tune/plugin.json similarity index 100% rename from euler-copilot-plugins/euler-copilot-tune/plugin.json rename to plugins/euler-copilot-tune/plugin.json -- Gitee