全面人工智能工具生态系统 | 原创,AI翻译
目录
- Jina AI
- 用于Jina AI集成的Python脚本
- 通过
r.jina.ai
获取URL内容 - 使用
s.jina.ai
处理搜索查询 - Base64编码与API认证
- Tavily AI
- 专为LLM应用设计的AI搜索API
- 设置与API密钥注册
- Python客户端实现
- 搜索请求示例及使用方式
- Open WebUI
- 本地AI界面安装指南
- 服务器设置与配置
- 与Ollama本地模型的集成
- 安装时间与系统要求
- Tableau、Scale与Power BI
- 商业智能平台对比
- Tableau 13天试用体验
- Scale数据平台概览
- Microsoft Power BI功能特点
- 使用OpenRouter
- 支持中国发行的Visa信用卡
- 模型排行榜与趋势分析
- LLM应用场景分类
- 香港用户访问Anthropic API需VPN
- ElevenLabs AI
- 文本转语音API集成
- 声音克隆功能
- 多语言音频生成
- 音频转换的Python脚本
Jina AI
该Python脚本通过API密钥和命令行参数与Jina AI服务交互,支持两大功能:获取URL内容和执行搜索查询。脚本从环境变量中读取Jina API密钥确保服务安全访问,使用requests
库发起HTTP请求,base64
解码搜索查询,并打印Jina AI服务的响应。
import os
import requests
from dotenv import load_dotenv
import argparse
import base64
load_dotenv()
api_key = os.environ.get("JINA_API_KEY")
if not api_key:
raise ValueError("未设置JINA_API_KEY环境变量。")
parser = argparse.ArgumentParser()
parser.add_argument("--job", type=str, choices=['url', 'search'], help="执行任务(url或search)", required=True)
parser.add_argument("--input", type=str, help="任务输入内容", required=True)
args = parser.parse_args()
if args.job == 'url':
url = f'https://r.jina.ai/{args.input}'
headers = {'Authorization': f'Bearer {api_key}'}
print(f"URL: {url}")
print(f"请求头: {headers}")
response = requests.get(url, headers=headers)
print(response.text)
elif args.job == 'search':
question = base64.b64decode(args.input).decode('utf-8', errors='ignore')
url = f'https://s.jina.ai/{question}'
headers = {
'Authorization': f'Bearer {api_key}',
'X-Engine': 'direct',
'X-Retain-Images': 'none'
}
print(f"URL: {url}")
print(f"请求头: {headers}")
response = requests.get(url, headers=headers)
print(response.text)
else:
print("请指定--job参数为url或search")
Tavily AI
Tavily是专为LLM应用设计的AI搜索API,通过结合网络搜索与AI处理提供高相关性结果。
使用步骤:
- 在tavily.com注册获取API密钥
- 安装Python包
import os
from tavily import TavilyClient
TAVILY_API_KEY = os.getenv('TAVILY_API_KEY')
if TAVILY_API_KEY is None:
raise ValueError("未找到API密钥。请设置TAVILY_API_KEY环境变量。")
tavily_client = TavilyClient(api_key=TAVILY_API_KEY)
response = tavily_client.search("梅西是谁?")
print(response)
Open WebUI
- Open WebUI是款优秀工具
- 启动服务命令:
pip install open-webui
和open-webui serve
- 安装过程耗时约10分钟以上
- 与Ollama兼容良好
Tableau、Scale与Power BI
Tableau
注册后获知有13天试用期
来源:tableau.com
Scale
来源:scale.com
Power BI
使用OpenRouter
- 接受中国发行的Visa信用卡
- 排行榜页可查看热门趋势模型
- 分类展示用户如何应用LLM模型(如角色扮演、编程、营销、SEO、技术等)
- 香港用户仍需VPN访问Anthropic API
ElevenLabs AI
import os
import requests
from dotenv import load_dotenv
import argparse
import re
load_dotenv()
api_key = os.environ.get("ELEVENLABS_API_KEY")
if not api_key:
raise ValueError("未设置ELEVENLABS_API_KEY环境变量。")
parser = argparse.ArgumentParser()
parser.add_argument("--file", type=str, help="待转换的Markdown文件", required=False)
parser.add_argument("--text", type=str, help="待转换的文本", required=False)
parser.add_argument("--output", type=str, help="输出文件名", required=True)
parser.add_argument("--voice_id", type=str, default="21m00Tcm4TlvDq8iK2G8", help="使用的语音ID")
args = parser.parse_args()
if args.file:
try:
with open(args.file, 'r') as f:
content = f.read()
content = re.sub(r'---.*?---', '', content, flags=re.DOTALL)
text = content.strip()
except FileNotFoundError:
print(f"错误:文件未找到 - {args.file}")
exit(1)
except Exception as e:
print(f"读取文件出错:{e}")
exit(1)
elif args.text:
text = args.text
else:
print("错误:必须指定--file或--text参数")
exit(1)
url = f"https://api.elevenlabs.io/v1/text-to-speech/{args.voice_id}"
headers = {
"Accept": "audio/mpeg",
"Content-Type": "application/json",
"xi-api-key": api_key
}
data = {
"text": text,
"model_id": "eleven_flash_v2_5",
"voice_settings": {
"stability": 0.5,
"similarity_boost": 0.5
}
}
response = requests.post(url, json=data, headers=headers)
if response.status_code == 200:
with open(args.output, 'wb') as f:
f.write(response.content)
print(f"音频已保存至 {args.output}")
else:
print(f"错误:{response.status_code} - {response.text}")