当前位置: 首页 > news >正文

让本地大模型对话时有联网搜索功能 - yi

 

联网搜索功能,需要调用外网付费API。本示例,使用 

https://api.bochaai.com/v1/web-search
 
 
示例:
 
import requests
import os
from openai import OpenAI
from dotenv import load_dotenv
import sys
sys.path.append('PT.Common')
from LLM import LLM# 加载.env文件中的环境变量
load_dotenv()# 从环境变量获取API密钥
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "YOUR-OPENAI-API-KEY")
BOCHA_API_KEY = os.getenv("BOCHA_API_KEY", "YOUR-BOCHA-API-KEY")def bocha_websearch(query: str, count: int = 10) -> str:"""使用Bocha Web Search API 进行网页搜索。参数:- query: 搜索关键词- count: 返回的搜索结果数量返回:- 搜索结果的详细信息"""url = 'https://api.bochaai.com/v1/web-search'headers = {'Authorization': f'Bearer {BOCHA_API_KEY}','Content-Type': 'application/json'}data = {"query": query,"freshness": "noLimit",  # 搜索的时间范围"summary": True,  # 是否返回长文本摘要"count": count}response = requests.post(url, headers=headers, json=data)if response.status_code == 200:json_response = response.json()try:if json_response["code"] != 200 or not json_response["data"]:return f"搜索API请求失败,原因是: {json_response.get('msg', '未知错误')}"webpages = json_response["data"]["webPages"]["value"]if not webpages:return "未找到相关结果。"formatted_results = ""for idx, page in enumerate(webpages, start=1):formatted_results += (f"引用: {idx}\n"f"标题: {page['name']}\n"f"URL: {page['url']}\n"f"摘要: {page['summary']}\n"f"网站名称: {page['siteName']}\n"f"网站图标: {page['siteIcon']}\n"f"发布时间: {page['dateLastCrawled']}\n\n")return formatted_results.strip()except Exception as e:return f"搜索API请求失败,原因是:搜索结果解析失败 {str(e)}"else:return f"搜索API请求失败,状态码: {response.status_code}, 错误信息: {response.text}"# 初始化自定义LLM客户端
try:client = LLM()
except ValueError as e:print(f"初始化LLM客户端失败: {e}")print("请确保在.env文件中设置了LLM_MODEL_ID、LLM_API_KEY和LLM_BASE_URL")exit(1)# 用户问题
user_question = "九阳电热毯 在市场竞争中的优劣势"# 调用Bocha搜索工具获取相关信息
print("正在搜索相关信息...")
search_results = bocha_websearch(user_question)print("搜索结果:")
print(search_results)if "搜索API请求失败" in search_results or "未找到相关结果" in search_results:print(search_results)
else:# 构造提示词,结合搜索结果prompt = f"""基于以下搜索结果,请总结产品亮点:搜索结果:{search_results}请以清晰、简洁的方式总结产品的主要亮点。"""print("正在生成回答...")# 使用自定义LLM客户端生成回答messages = [{"role": "system", "content": "你是一个专业的分析师,能够从搜索结果中提取关键信息并总结。"},{"role": "user", "content": prompt}]completion = client.think(messages)print("回答:")print(completion)

 

 

 

http://www.jsqmd.com/news/69071/

相关文章:

  • 文献检索网站
  • 7T 文件保存 图像导出
  • 这是新建的随笔,第二篇
  • 学术规划精准!博士留学中介适配PhD申请节奏
  • 3-1 GPIO输出
  • 2025年口碑好的电动阀门用户口碑最好的厂家榜
  • 2025 年制杯机类制造商深度盘点(12 月版):纸杯机、全伺服机型、纸碗机、杯盖机及纸盘机维护与产效指南
  • 2026北京婚内财产协议靠谱律师排行榜 权威测评与专业推荐
  • 十大留学机构终极盘点:谁能为你的申请注入“灵魂”?
  • 2025权威测评儿童去屑止痒洗发水TOP榜!温和清洁长效止痒更安心
  • 2025年皮带真空脱水机批发厂家权威推荐榜单:真空带式脱水机/真空皮带脱水机/带式脱水机源头厂家精选
  • 2025博士申请十大机构实测:学术引航,申请不迷路
  • 北京建设工程律师事务所口碑排行榜:2026胜诉率权威测评七大靠谱事务所
  • 《ESP32-S3使用指南—IDF版 V1.6》第五十四章 TCPServer实验
  • 2025年乳化机设备订制厂家权威推荐榜单:高剪切混合乳化机‌/真空制膏机‌/实验室乳化机源头厂家精选
  • 集成 react-resizable
  • 文书深度打磨!留学机构排名TOP10适配名校偏好
  • 集成 react-resizable
  • 2025年12月软件开发公司权威推荐榜:小程序开发、APP开发,创新技术团队与高效交付实力深度解析
  • 2025年青岛初三辅导班机构权威推荐榜单:高一辅导班‌/高二辅导班‌/高三辅导班源头机构精选
  • nim语言遍历文件夹
  • 混沌系统控制、庞加莱截面分析、分岔图绘制及微分方程求解的实现方案
  • 多重比较校正
  • 2025年等截面薄壁四点接触球轴承定做厂家权威推荐榜单:公制等截面轴承‌/转台轴承现货‌/转台轴承构造源头厂家精选
  • 小动物影像分析资源
  • 2025年12月方形散热风扇,小型散热风扇,高速散热风扇厂家权威推荐,技术实力与市场口碑深度解析​
  • 微算法科技(NASDAQ MLGO)部署后量子加密算法,保护链上数据传输
  • 【自用-nim语言】批量删除文件夹里的.png图片命令行(语言版本2.2.2)
  • 快递单号生成器-谷歌扩展程序
  • 高效解决海外仓一件代发业务,海外仓管理系统破解方案!