Open yuntian123456 opened 1 year ago
目前还不太清楚浏览器里是否能直接获取搜索引擎结果,后续再加吧
https://github.com/circlestarzero/EX-chatGPT 这个实现了联网功能,调用的是谷歌的接口,每天有20次免费的机会,可以参考一下~
https://github.com/circlestarzero/EX-chatGPT 这个实现了联网功能,调用的是谷歌的接口,每天有20次免费的机会,可以参考一下~
写错了,谷歌搜索引擎的api每天应该是100次免费机会
我不懂,问下了chatgpt,给出了这样的答案哈哈
https://github.com/qunash/chatgpt-advanced 这个插件也是可以参考一下的
这些功能langchain js 都有 连sql 都有 大模型也有
当然在js圈子看不到的 这个库最早来自于py 上面说的功能都是agents里的功能
川虎的实现逻辑,我估计是这样的,gui调搜索引擎搜索关键词,然后以一定规则爬取某些网页,和网页的内容,然后喂给gpt,所以川虎会有以下两种情况。 1、就算不填key,开了联网功能后,gui也会回复内容,就是gui调用搜索引擎搜索出的内容 2、结果不稳定,不知道他的抓取规则是什么,每次问爬的网站都不一样。
@Yidadaa
我是直接扔给chatgpt对话框google网址,让它帮我搜索
川虎用的是duckduckgo这个库获取的搜索结果
https://chat1.aichatos.com/#/chat/1681292288748 这个网址实现了联网功能,但我不知道它是怎么实现的。比川虎的结果更清晰好用
https://chat1.aichatos.com/#/chat/1681292288748 这个网址实现了联网功能,但我不知道它是怎么实现的。比川虎的结果更清晰好用
https://chat1.aichatos.com/#/chat/1681292288748 这个网址实现了联网功能,但我不知道它是怎么实现的。比川虎的结果更清晰好用
这个作者有个ddg的仓库,大概率应该也是用的ddg的引擎。
https://github.com/circlestarzero/EX-chatGPT 这个实现了联网功能,调用的是谷歌的接口,每天有20次免费的机会,可以参考一下~
这个是真厉害,希望能实现。
https://chat1.aichatos.com/#/chat/1681292288748 这个网址实现了联网功能,但我不知道它是怎么实现的。比川虎的结果更清晰好用
这个作者有个ddg的仓库,大概率应该也是用的ddg的引擎。
我怀疑是 别人在 chatgpt-web 的基础上做了二开吧
https://chat1.aichatos.com/#/chat/1681292288748 这个网址实现了联网功能,但我不知道它是怎么实现的。比川虎的结果更清晰好用
我刚才去试了一下,这样
https://github.com/Significant-Gravitas/Auto-GPT 这个是通过Google 的Custom Search API搜索
https://github.com/circlestarzero/EX-chatGPT/blob/main/chatGPTEx/prompts/APIExtraPrompt.txt 试用prompt返回api的json对象就可以了
https://chat1.aichatos.com/#/chat/1681292288748 这个网址实现了联网功能,但我不知道它是怎么实现的。比川虎的结果更清晰好用
这个作者有个ddg的仓库,大概率应该也是用的ddg的引擎。
我怀疑是 别人在 chatgpt-web 的基础上做了二开吧
是做二开的,加上了一些自己的功能,并且把自己的收款码放进去了(狗头)
https://github.com/Hk-Gosuto/ChatGPT-Next-Web
我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着
prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的
先部署个 https://github.com/binjie09/duckduckgo-api
然后加个环境变量 WEB_SEARCH_BASE_URL
指向 duckduckgo-api
的 URL 就行了
开关如图:
@Hk-Gosuto 效果如何,能否提供几个问答的截图?
@Hk-Gosuto 效果如何,能否提供几个问答的截图?
效果取决于duckduckgo本身返回的内容,默认只取了3条结果 部分场景返回的数据来源标注的有点问题,如图3,虽然标记了引用但没关联url
效果很不错
效果很不错
应该是搜索接口没配置好,确定下 WEB_SEARCH_BASE_URL
环境变量是否配置有误,可以在问问题的时候看下接口 /api/web-search
是否正常返回,正常的返回内容如下:
[
{
"body": "北京天气预报,北京7天天气预报,北京15天天气预报,北京天气查询 北京 城区 今天 7天 8-15天 40天 雷达图 2日(今天) 晴转多云 29 / 16℃ <3级 3日(明天) 多云 27 / 16℃ <3级 4日(后天) 阴转小雨 22 / 14℃ <3级 5日(周五) 多云 26 / 14℃ 3-4级转<3级 6日(周六) 多云转晴 23 / 12℃ <3级 7日(周日) 晴 24 / 12℃ <3级 8日(周一) 晴转多云 26 / 14℃ <3级 分时段预报 生活指数 蓝天预报 天气资讯 湖南今明天雨水在线北部局地有暴雨 4日开始降水增强 中国天气网湖南站 2023-05-02 11:25 哈尔滨:满城春色关不住 百花齐放醉游人 中国天气网 2023-05-02 09:09",
"href": "http://www.weather.com.cn/weather/101010100.shtml",
"title": "北京天气预报,北京7天天气预报,北京15天天气预报,北京天气查询"
},
{
"body": "北京天气预报,北京7天天气预报,北京15天天气预报,北京天气查询 城区 今天 7天 8-15天 40天 雷达图 不限行 1日白天 晴 27°C <3级 日出 05:15 1日夜间 小雨 16°C <3级 日落 19:08 生活指数 少发 感冒指数 无明显降温,感冒机率较低。 适宜 运动指数 天气较好,尽情感受运动的快乐吧。 (粒/千平方毫米) 花粉过敏指数 暂无 舒适 穿衣指数 建议穿长袖衬衫单裤等服装。 不宜 洗车指数 有雨,雨水和泥水会弄脏爱车。 强 紫外线指数 涂擦SPF大于15、PA+防晒护肤品。 天气资讯 假期天气大转折! 华东华中由晴转雨 湖北安徽等地雨量或破5月极值 中国天气网 2023-05-01 16:05",
"href": "http://www.weather.com.cn/weather1d/101010100.shtml",
"title": "北京天气预报,北京7天天气预报,北京15天天气预报,北京天气查询"
},
{
"body": "每小时本地天气预报、天气情况、降水、露点、湿度、大风 - 尽在 Weather.com 和 The Weather Channel",
"href": "https://weather.com/zh-CN/weather/hourbyhour/l/71ca347e2948ee9490525aa5433fa91da6973ae51ea0f765fbe8e85b9f16c5df",
"title": "北京市每小时天气预报 - The Weather Channel | Weather.com"
}
]
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了开关如图:
我用自己的key在大佬你的网站里试了下,不开联网模式它还是乱回答,而且生成的主题名字也乱七八糟的
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了开关如图:
同一个对话,先开搜索问一个“你好”,回答没问题,关搜索问“北京今天天气怎么样”,它还是在搜索,而且回答的是“你好”这个问题
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了 开关如图:同一个对话,先开搜索问一个“你好”,回答没问题,关搜索问“北京今天天气怎么样”,它还是在搜索,而且回答的是“你好”这个问题
未开启联网模式时消息传递错误的问题我修复了,你这个问题我没能复现。 建议把我的库作为联网功能正式发布前的临时替代方案吧,作为正式功能要考虑更多的问题,比如:连续对话时token超长、temperature参数对结果的影响、prompt优化等问题。
@Hk-Gosuto 我不会直接内置联网模式,联网搜索会作为插件推出
nice!期待,这就是所谓的如虎添翼了
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了开关如图:
直接拉下来用可以吗?需要做其他操作吗?
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了 开关如图:直接拉下来用可以吗?需要做其他操作吗?
vercel
部署 duckduckgo-api,记住生成的网址vercel
部署 ChatGPT-Next-Web,增加一个环境变量 WEB_SEARCH_BASE_URL
指向步骤 1 产生的地址
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了 开关如图:直接拉下来用可以吗?需要做其他操作吗?
- 在
vercel
部署 duckduckgo-api,记住生成的网址- 在
vercel
部署 ChatGPT-Next-Web,增加一个环境变量WEB_SEARCH_BASE_URL
指向步骤 1 产生的地址- 在每次对话中,点击图中的按钮开启联网搜索功能
好的,谢谢,我去试试
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了 开关如图:直接拉下来用可以吗?需要做其他操作吗?
- 在
vercel
部署 duckduckgo-api,记住生成的网址- 在
vercel
部署 ChatGPT-Next-Web,增加一个环境变量WEB_SEARCH_BASE_URL
指向步骤 1 产生的地址- 在每次对话中,点击图中的按钮开启联网搜索功能
很棒!搜索结果也挺靠谱的。
但是,时间怎么不太对。。。
我也写了一个,整合了一些插件,就是比较费token
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了 开关如图:直接拉下来用可以吗?需要做其他操作吗?
- 在
vercel
部署 duckduckgo-api,记住生成的网址- 在
vercel
部署 ChatGPT-Next-Web,增加一个环境变量WEB_SEARCH_BASE_URL
指向步骤 1 产生的地址- 在每次对话中,点击图中的按钮开启联网搜索功能
很棒!搜索结果也挺靠谱的。 但是,时间怎么不太对。。。
我试了一下,程序是根据duckduckgo搜索返回回复的,有可能是搜索引擎本身的缓存导致的,也可以修改prompt优化这部分功能。
还有后续么,目前chatgpt 开放插件功能了
前面那个时间不准的问题,可以试试搜索引擎设定搜索最近一个月的内容,这样精度会更高一些
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了开关如图:
NB,当时我使用chuanhuGPT他的实施搜索有问题啊,并不像你给的截图那样回答,还有个问题,gpt4能调吗,我是plus用户但使用key和4model会报错
我是直接扔给chatgpt对话框google网址,让它帮我搜索
不行,很抱歉,作为一个AI模型,我无法直接访问或浏览网页。但您可以尝试访问Google搜索页面,输入“流浪地球2上线时间”,然后查看搜索结果以获取相关信息。
同时,您还可以关注电影相关的官方消息来源,如电影制作公司、导演和演员的社交媒体帐户,以了解关于《流浪地球2》的最新发布信息。
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了开关如图:
@Hk-Gosuto duckduckgoapi用不了了 https://github.com/binjie09/duckduckgo-api/issues/7
https://github.com/Hk-Gosuto/ChatGPT-Next-Web 我在自己fork的仓库里试着加了联网搜索功能的代码,感兴趣的老哥可以先用着 prompt用 https://github.com/GaiZhenbiao/ChuanhuChatGPT 项目里改的 先部署个 https://github.com/binjie09/duckduckgo-api 然后加个环境变量
WEB_SEARCH_BASE_URL
指向duckduckgo-api
的 URL 就行了 开关如图:@Hk-Gosuto duckduckgoapi用不了了 https://github.com/binjie09/duckduckgo-api/issues/7
我fork了这个仓库并修复了不能搜索的问题,请使用我修改后的项目重新部署一个搜索服务: https://github.com/Hk-Gosuto/ddg-api
不行,很抱歉,作为一个AI模型,我无法直接访问或浏览网页。但您可以尝试访问Google搜索页面,输入“流浪地球2上线时间”,然后查看搜索结果以获取相关信息。
同时,您还可以关注电影相关的官方消息来源,如电影制作公司、导演和演员的社交媒体帐户,以了解关于《流浪地球2》的最新发布信息。
我修改的版本只是将问题扔到了搜索引擎并返回给AI来进行解析,想实现你想要的效果只能通过插件的形式来实现,让GPT自己选择调用不同的插件来处理不同的问题,关于是否能使用GPT-4,这个项目只是调用了官方的接口,与你账户是否为plus无关,API接口能力和plus是分开的,API的GPT-4能力需要申请加入waitlist,请参考:https://openai.com/waitlist/gpt-4-api
所以,哪位大佬二开了这个的功能?川虎大佬的界面不太喜欢。还是想咱们这边能开发个联网插件
不行,很抱歉,作为一个AI模型,我无法直接访问或浏览网页。但您可以尝试访问Google搜索页面,输入“流浪地球2上线时间”,然后查看搜索结果以获取相关信息。 同时,您还可以关注电影相关的官方消息来源,如电影制作公司、导演和演员的社交媒体帐户,以了解关于《流浪地球2》的最新发布信息。
我修改的版本只是将问题扔到了搜索引擎并返回给AI来进行解析,想实现你想要的效果只能通过插件的形式来实现,让GPT自己选择调用不同的插件来处理不同的问题,关于是否能使用GPT-4,这个项目只是调用了官方的接口,与你账户是否为plus无关,API接口能力和plus是分开的,API的GPT-4能力需要申请加入waitlist,请参考:https://openai.com/waitlist/gpt-4-api
duckduck go search results always show chinese language please tell me how to change it i want to change it to my country language.
https://openai.com/blog/function-calling-and-other-api-updates 现在chatgpt已经支持通过API的方式调用插件了,可以考虑直接加进插件功能里面。
不行,很抱歉,作为一个AI模型,我无法直接访问或浏览网页。但您可以尝试访问Google搜索页面,输入“流浪地球2上线时间”,然后查看搜索结果以获取相关信息。 同时,您还可以关注电影相关的官方消息来源,如电影制作公司、导演和演员的社交媒体帐户,以了解关于《流浪地球2》的最新发布信息。
我修改的版本只是将问题扔到了搜索引擎并返回给AI来进行解析,想实现你想要的效果只能通过插件的形式来实现,让GPT自己选择调用不同的插件来处理不同的问题,关于是否能使用GPT-4,这个项目只是调用了官方的接口,与你账户是否为plus无关,API接口能力和plus是分开的,API的GPT-4能力需要申请加入waitlist,请参考:https://openai.com/waitlist/gpt-4-api
duckduck go search results always show chinese language please tell me how to change it i want to change it to my country language.
please modify this prompt https://github.com/Hk-Gosuto/ChatGPT-Next-Web/blob/e672b8c7716962968c727ccf1eb92a3ae7205140/app/store/chat.ts#L302
实际上川虎实现ddg搜索的代码非常简单,经过简单的转换就可以实现为TypeScript代码,你可以在浏览器或者边缘函数中使用它 请注意这个get方法是我所编写的通用反代方法,你可以使用原生的fetch替换它 你可以在我的镜像站中查看使用效果: EasyChat
import { get } from "@/app/utils/http";
const reply_language =
"the same language as the question, such as English, 中文, 日本語, Español, Français, or Deutsch.";
const WEBSEARCH_PTOMPT_TEMPLATE =
"Web search results:\n" +
"\n" +
"{web_results}\n" +
"Current date: {current_date}\n" +
"\n" +
"Instructions: Using the provided web search results, write a comprehensive reply to the given query. Make sure to cite results using [[number](URL)] notation after the reference. If the provided search results refer to multiple subjects with the same name, write separate answers for each subject. Write the results to the next action_input\n" +
"Query: {query}\n" +
"Reply in {reply_language} And use the markdown syntax";
export const DdgSearch = async (
searchQuery: string,
region: string | undefined,
headers: Headers,
):Promise<string> => {
try {
const response = await get(
`https://duckduckgo.com/?q=${encodeURIComponent(searchQuery)}`,
{ ...headers },
);
const html = await response.text();
const regex = /vqd=["']([^"']+)["']/;
const match = regex.exec(html);
const vqd = match && match[1].replaceAll('"', "").replaceAll("'", "");
let safesearch_base = { On: 1, Moderate: -1, Off: -2 };
let PAGINATION_STEP = 25,
MAX_API_RESULTS = 200,
page = 1;
let payload = {
q: searchQuery,
l: region,
p: safesearch_base["On"],
s: Math.max(PAGINATION_STEP * (page - 1), 0),
df: new Date().getTime(),
o: "json",
vqd: vqd,
};
let res = await get(
"https://links.duckduckgo.com/d.js",
{ ...headers },
payload,
);
let result = await res.json();
let reference_results: any[] = [];
if (result["results"]) {
for (let row of result["results"]) {
if (!row["n"]) {
let body = row["a"];
if (body) {
let domain_name = row["i"];
reference_results.push([body,row["u"]]);
if (reference_results.length > 5) {
break;
}
}
}
}
}
return WEBSEARCH_PTOMPT_TEMPLATE.replace("{query}", searchQuery)
.replace(
"{web_results}",
reference_results.length > 0
? reference_results.join("\n\n")
: `no web result`,
)
.replace("{reply_language}", reply_language)
.replace(
"{current_date}",
new Date().toLocaleString("zh-CN", {hour12: false}),
)
} catch (e) {
console.log(e)
return `no web result`;
}
};
@Hk-Gosuto 您最近更新的这个链接:https://github.com/Hk-Gosuto/ddg-api 似乎还是无法正常部署,请查一下问题所在,谢谢!
在这个项目里发现有联网搜索功能,可以实现类似的功能吗? https://github.com/GaiZhenbiao/ChuanhuChatGPT