Compare commits

..

No commits in common. "8cd80dcd9c678908eae665adc9d61b11ddcb3b05" and "c6bb3b4ffdd2f94fd654924cb65df77b49a9bfc9" have entirely different histories.

3 changed files with 2 additions and 46 deletions

2
.gitignore vendored
View File

@ -19,5 +19,3 @@
.idea/modules.xml
.idea/prettier.xml
.idea/vcs.xml
/.idea
/test_tool

View File

@ -14,7 +14,7 @@ search_local_knowledgebase:
# 搜索引擎工具配置项。推荐自己部署 searx 搜索引擎,国内使用最方便。
search_internet:
use: false
search_engine_name: zhipu_search
search_engine_name: tavily
search_engine_config:
bing:
bing_search_url: https://api.bing.microsoft.com/v7.0/search
@ -36,8 +36,6 @@ search_internet:
search_depth: advanced
include_raw_content: True
max_results: 1
zhipu_search:
zhipu_api_key: 'e2bdc39618624fd782ebcd721185645c.pcvcrTPFT69Jda8B'
top_k: 5
verbose: Origin
conclude_prompt: "<指令>这是搜索到的互联网信息,请你根据这些信息进行提取并有调理,简洁的回答问题。如果无法从中得到答案,请说 “无法搜索到能回答问题的内容”。

View File

@ -1,7 +1,5 @@
import uuid
from typing import Dict, List
import requests
from langchain.docstore.document import Document
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.utilities.bing_search import BingSearchAPIWrapper
@ -109,42 +107,15 @@ def tavily_search(text, config, top_k):
# print("=== 完整搜索返回值 ===")
# print(search_results)
return search_results
def zhipu_search(text, config):
api_key = config["zhipu_api_key"]
msg = [
{
"role": "user",
"content": text
}
]
tool = "web-search-pro"
url = "https://open.bigmodel.cn/api/paas/v4/tools"
request_id = str(uuid.uuid4())
data = {
"request_id": request_id,
"tool": tool,
"stream": False,
"messages": msg
}
resp = requests.post(
url,
json=data,
headers={'Authorization': api_key},
timeout=300
)
print(resp.content.decode())
return resp.content.decode()
SEARCH_ENGINES = {
"bing": bing_search,
"duckduckgo": duckduckgo_search,
"metaphor": metaphor_search,
"searx": searx_search,
"tavily": tavily_search,
"zhipu_search": zhipu_search
"tavily": tavily_search
}
# tavily的解析
# def search_result2docs_tavily(search_results) -> List[Document]:
# docs = []
@ -161,17 +132,6 @@ SEARCH_ENGINES = {
def search_result2docs(search_results, engine_name) -> List[Document]:
docs = []
if engine_name == "zhipu_search":
try:
results = search_results["choices"][0]["message"]["tool_calls"][1]["search_result"]
except (KeyError, IndexError) as e:
print(f"结构异常: {e}")
results = []
# 遍历并处理每个结果
for idx, result in enumerate(search_results, 1):
docs.append(result.get('content', '无内容'))
print(f"内容:\n{result.get('content', '无内容')}\n")
return docs
page_contents_key = "snippet" if engine_name != "tavily" else "content"
metadata_key = "link" if engine_name != "tavily" else "url"
for result in search_results: