> 技术文档 > 搭建一个AI搜索引擎(一)_from serpapi import baidusearch

搭建一个AI搜索引擎(一)_from serpapi import baidusearch


文章目录

  • 前言
  • 一、Lepton Search源码
  • 二、什么是RAG?
    • 1.要素
  • 三、百度API调用
  • 四、调用LLM接口
    • 4.1 kimi调用
    • 4.2 本地实现llama-3
    • 4.2.1 安装ollama
    • 4.3 安装及运行llama3
    • 4.4 对话
  • 总结

前言

学习参考搭建一个AI搜索引擎


一、Lepton Search源码

https://github.com/leptonai/search_with_lepton

二、什么是RAG?

1.要素

检索(Retrieve):拿用户 query 调搜索引擎 API,拿到搜素结果;
增强(Augmented):设置提示词,把检索结果作为挂载上下文;
生成(Generation):大模型回答问题,标注引用来源;

三、百度API调用

https://serpapi.com/baidu-organic-results
代码如下(示例):
首先需要安装

pip install google-search-results

尝试以下代码

from serpapi import BaiduSearch# params = {# \"engine\": \"baidu\",# \"q\": \"Coffee\",# \"api_key\": \"secret_api_key\"# }# search = BaiduSearch(params)# results = search.get_dict()# organic_results = results[\"organic_results\"]search = BaiduSearch({\"q\": \"Coffee\"})data = search.get_dict()

四、调用LLM接口

4.1 kimi调用

https://github.com/LLM-Red-Team/kimi-free-api

4.2 本地实现llama-3

参考https://mp.weixin.qq.com/s/_buwT8dEhtYL_UIxVKP3BA

4.2.1 安装ollama

https://ollama.com/download
无法选择安装目录,自动安装到C:\\Users\\Administrator\\AppData\\Local\\Programs\\Ollama下了。。。

4.3 安装及运行llama3

https://ollama.com/library
搭建一个AI搜索引擎(一)_from serpapi import baidusearch

8B Parameters
70B Parameters

ollama run llama3:8bollama run llama3:70b

如果执行ollama run llama3默认是8b的

4.4 对话

使用python调用
https://github.com/ollama/ollama-python

import ollamaresponse = ollama.chat(model=\'llama3\', messages=[ { \'role\': \'user\', \'content\': \'请用中文回答\',//如果需要用中文回答需要先执行 }, { \'role\': \'user\', \'content\': \'为什么天空是蓝色的?\', }])print(response[\'message\'][\'content\'])

以下为回答内容

天空为什么是蓝色的?这是一个长期激烈讨论的科学问题。然而,我们现在已经有了相对完整的答案。主要原因是地球大气层中的某些分子吸收和散射光子的结果。所谓「散射」,指的是光子遇到气体分子或颗粒时,改变其方向和能量,从而被吸收或散发。在日光中,包含了各种颜色的光子(红、橙、黄、绿、蓝、紫等)。当这些光子穿过大气层时,遇到 nitrogen (N2) 和 oxygen (O2) 分子的吸收和散射作用。由于这两个气 体分子的吸收谱特性,我们看到的天空是蓝色的。具体来说:1.红色光子(600-700 nanometers)被氧气(O2)吸收,无法到达我们的眼睛。2.橙色光子(500-600 nanometers)和黄色光子(400-500 nanometers)部分被氮气(N2)和氧气(O2)吸收,但仍有余量到达我们的眼睛。3.绿色光子(400-500 nanometers)基本被氮气(N2)吸收,很少到达我们的眼睛。4.蓝色光子(450-495 nanometers)和紫色光子(380-450 nanometers)部分被氮气(N2)吸收,但仍有余量到达我们的眼睛。由于红色、橙色和绿色光子的缺失,我们看到的天空是蓝色的。这就是我们为什么天空是蓝色的。

总结

持续学习中。。