[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tavily-ai--tavily-python":3,"tool-tavily-ai--tavily-python":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":23,"env_os":94,"env_gpu":95,"env_ram":94,"env_deps":96,"category_tags":101,"github_topics":102,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":110,"updated_at":111,"faqs":112,"releases":143},2509,"tavily-ai\u002Ftavily-python","tavily-python","The Tavily Python SDK allows for easy interaction with the Tavily API, offering the full range of our search, extract, crawl, map, and research functionalities directly from your Python programs. Easily integrate smart search, content extraction, and research capabilities into your applications, harnessing Tavily's powerful features.","tavily-python 是 Tavily AI 搜索平台的官方 Python 开发工具包，旨在帮助开发者轻松地将强大的网络搜索、内容提取及深度研究功能集成到 Python 应用程序中。它充当了本地代码与 Tavily API 之间的桥梁，让复杂的网络数据获取变得简单高效。\n\n在构建基于大语言模型（LLM）的应用时，开发者常面临传统搜索引擎结果杂乱、噪声多、难以直接用于模型上下文的问题。tavily-python 有效解决了这一痛点，它不仅能执行常规的网络搜索，还支持精确匹配查询、从指定 URL 批量提取纯净文本内容，甚至能直接生成适合检索增强生成（RAG）系统使用的结构化上下文信息。此外，其内置的问答搜索功能可直接返回简洁准确的答案，极大简化了事实性查询的处理流程。\n\n这款工具特别适合 AI 应用开发者、数据工程师以及从事自然语言处理的研究人员使用。如果你正在开发需要实时联网能力的智能助手、自动化研究代理或知识库系统，tavily-python 能提供高质量、低噪声的数据支持。其技术亮点在于专为 AI 优化的搜索算法，能够理解用户意图并过滤无关广告或SEO垃圾内容，确保返回信息的真","tavily-python 是 Tavily AI 搜索平台的官方 Python 开发工具包，旨在帮助开发者轻松地将强大的网络搜索、内容提取及深度研究功能集成到 Python 应用程序中。它充当了本地代码与 Tavily API 之间的桥梁，让复杂的网络数据获取变得简单高效。\n\n在构建基于大语言模型（LLM）的应用时，开发者常面临传统搜索引擎结果杂乱、噪声多、难以直接用于模型上下文的问题。tavily-python 有效解决了这一痛点，它不仅能执行常规的网络搜索，还支持精确匹配查询、从指定 URL 批量提取纯净文本内容，甚至能直接生成适合检索增强生成（RAG）系统使用的结构化上下文信息。此外，其内置的问答搜索功能可直接返回简洁准确的答案，极大简化了事实性查询的处理流程。\n\n这款工具特别适合 AI 应用开发者、数据工程师以及从事自然语言处理的研究人员使用。如果你正在开发需要实时联网能力的智能助手、自动化研究代理或知识库系统，tavily-python 能提供高质量、低噪声的数据支持。其技术亮点在于专为 AI 优化的搜索算法，能够理解用户意图并过滤无关广告或SEO垃圾内容，确保返回信息的真实性和相关性。通过简单的 pip 安装和几行代码，即可实现从“提问”到“获取可信答案”的全流程自动化，是构建现代 AI 驱动应用的理想基础设施组件。","# Tavily Python SDK\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ftavily-ai\u002Ftavily-python?style=social)](https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fstargazers)\n[![PyPI - Downloads](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Ftavily-python)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ftavily-python\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Ftavily-ai\u002Ftavily-python)](https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fblob\u002Fmain\u002FLICENSE)\n[![CI](https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Factions)\n\nThe Tavily Python wrapper allows for easy interaction with the Tavily API, offering the full range of our search, extract, crawl, map, and research functionalities directly from your Python programs. Easily integrate smart search, content extraction, and research capabilities into your applications, harnessing Tavily's powerful features.\n\n## Installing\n\n```bash\npip install tavily-python\n```\n\n# Tavily Search\n\nSearch lets you search the web for a given query.\n\n## Usage\n\nBelow are some code snippets that show you how to interact with our search API. The different steps and components of this code are explained in more detail in the API Methods section further down.\n\n### Getting and printing the full Search API response\n\n```python\nfrom tavily import TavilyClient\n\n# Step 1. Instantiating your TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Step 2. Executing a simple search query\nresponse = tavily_client.search(\"Who is Leo Messi?\")\n\n# Step 3. That's it! You've done a Tavily Search!\nprint(response)\n```\n\n### Using exact match to find specific names or phrases\n\n```python\nfrom tavily import TavilyClient\n\nclient = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Use exact_match=True to only return results containing the exact phrase(s) inside quotes\nresponse = client.search(\n    query='\"John Smith\" CEO Acme Corp',\n    exact_match=True\n)\nprint(response)\n```\n\nThis is equivalent to directly querying our REST API.\n\n### Generating context for a RAG Application\n\n```python\nfrom tavily import TavilyClient\n\n# Step 1. Instantiating your TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Step 2. Executing a context search query\ncontext = tavily_client.get_search_context(query=\"What happened during the Burning Man floods?\")\n\n# Step 3. That's it! You now have a context string that you can feed directly into your RAG Application\nprint(context)\n```\n\nThis is how you can generate precise and fact-based context for your RAG application in one line of code.\n\n### Getting a quick answer to a question\n\n```python\nfrom tavily import TavilyClient\n\n# Step 1. Instantiating your TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Step 2. Executing a Q&A search query\nanswer = tavily_client.qna_search(query=\"Who is Leo Messi?\")\n\n# Step 3. That's it! Your question has been answered!\nprint(answer)\n```\n\nThis is how you get accurate and concise answers to questions, in one line of code. Perfect for usage by LLMs!\n\n# Tavily Extract\n\nExtract web page content from one or more specified URLs.\n\n## Usage\n\nBelow are some code snippets that demonstrate how to interact with our Extract API. Each step and component of this code is explained in greater detail in the API Methods section below.\n\n### Extracting Raw Content from Multiple URLs using Tavily Extract API\n\n```python\nfrom tavily import TavilyClient\n\n# Step 1. Instantiating your TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Step 2. Defining the list of URLs to extract content from\nurls = [\n    \"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FArtificial_intelligence\",\n    \"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMachine_learning\",\n    \"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FData_science\",\n    \"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FQuantum_computing\",\n    \"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FClimate_change\"\n] # You can provide up to 20 URLs simultaneously\n\n# Step 3. Executing the extract request\nresponse = tavily_client.extract(urls=urls, include_images=True)\n\n# Step 4. Printing the extracted raw content\nfor result in response[\"results\"]:\n    print(f\"URL: {result['url']}\")\n    print(f\"Raw Content: {result['raw_content']}\")\n    print(f\"Images: {result['images']}\\n\")\n\n# Note that URLs that could not be extracted will be stored in response[\"failed_results\"]\n```\n\n# Tavily Crawl\n\nCrawl lets you traverse a website's content starting from a base URL.\n\n> **Note**: Crawl is currently available on an invite-only basis. For more information, please visit [crawl.tavily.com](https:\u002F\u002Fcrawl.tavily.com)\n\n## Usage\n\nBelow are some code snippets that demonstrate how to interact with our Crawl API. Each step and component of this code is explained in greater detail in the API Methods section below.\n\n### Crawling a website with instructions\n\n```python\nfrom tavily import TavilyClient\n\n# Step 1. Instantiating your TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Step 2. Defining the starting URL\nstart_url = \"https:\u002F\u002Fwikipedia.org\u002Fwiki\u002FLemon\"\n\n# Step 3. Executing the crawl request with instructions to surface only pages about citrus fruits\nresponse = tavily_client.crawl(\n    url=start_url,\n    max_depth=3,\n    limit=50,\n    instructions=\"Find all pages on citrus fruits\"\n)\n\n# Step 4. Printing pages matching the query\nfor result in response[\"results\"]:\n    print(f\"URL: {result['url']}\")\n    print(f\"Snippet: {result['raw_content'][:200]}...\\n\")\n\n```\n\n# Tavily Map\n\nMap lets you discover and visualize the structure of a website starting from a base URL.\n\n## Usage\n\nBelow are some code snippets that demonstrate how to interact with our Map API. Each step and component of this code is explained in greater detail in the API Methods section below.\n\n### Mapping a website with instructions\n\n```python\nfrom tavily import TavilyClient\n\n# Step 1. Instantiating your TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Step 2. Defining the starting URL\nstart_url = \"https:\u002F\u002Fwikipedia.org\u002Fwiki\u002FLemon\"\n\n# Step 3. Executing the map request with parameters to focus on specific pages\nresponse = tavily_client.map(\n    url=start_url,\n    max_depth=2,\n    limit=30,\n    instructions=\"Find pages on citrus fruits\"\n)\n\n# Step 4. Printing the site structure\nfor result in response[\"results\"]:\n    print(f\"URL: {result['url']}\")\n\n```\n\n# Tavily Research\n\nResearch lets you create comprehensive research reports on any topic, with automatic source gathering, analysis, and structured output.\n\n## Usage\n\nBelow are some code snippets that demonstrate how to interact with our Research API. Each step and component of this code is explained in greater detail in the API Methods section below.\n\n### Creating a research task and retrieving results\n\n```python\nfrom tavily import TavilyClient\n\n# Step 1. Instantiating your TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Step 2. Creating a research task\nresponse = tavily_client.research(\n    input=\"Research the latest developments in AI\",\n    model=\"pro\",\n    citation_format=\"apa\"\n)\n\n# Step 3. Retrieving the research results\nrequest_id = response[\"request_id\"]\nresult = tavily_client.get_research(request_id)\n\n# Step 4. Printing the research report\nprint(f\"Status: {result['status']}\")\nprint(f\"Content: {result['content']}\")\nprint(f\"Sources: {len(result['sources'])} sources found\")\n```\n\n### Streaming research results\n\n```python\nfrom tavily import TavilyClient\n\n# Step 1. Instantiating your TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# Step 2. Creating a streaming research task\nstream = tavily_client.research(\n    input=\"Research the latest developments in AI\",\n    model=\"pro\",\n    stream=True\n)\n\n# Step 3. Processing the stream as it arrives\nfor chunk in stream:\n    print(chunk.decode('utf-8'))\n```\n\n## Advanced: Custom Session \u002F Client Injection\n\nFor enterprise environments that proxy Tavily traffic through an API gateway (e.g., for centralized auth, logging, or policy enforcement), you can pass a pre-configured HTTP session instead of a Tavily API key.\n\n### Sync (custom `requests.Session`)\n\n```python\nimport requests\nfrom tavily import TavilyClient\n\n# Pre-configure a session with your gateway's auth\nsession = requests.Session()\nsession.headers[\"Authorization\"] = \"Bearer your-gateway-token\"\nsession.headers[\"X-Subscription-Key\"] = \"your-subscription-key\"\n\n# No Tavily API key needed — auth is handled by the session\nclient = TavilyClient(\n    session=session,\n    api_base_url=\"https:\u002F\u002Fyour-gateway.com\u002Ftavily\",\n)\n\nresponse = client.search(\"latest AI research\")\n```\n\n### Async (custom `httpx.AsyncClient`)\n\n```python\nimport httpx\nfrom tavily import AsyncTavilyClient\n\n# Pre-configure an async client with your gateway's auth\ncustom_client = httpx.AsyncClient(\n    headers={\"Authorization\": \"Bearer your-gateway-token\"},\n    base_url=\"https:\u002F\u002Fyour-gateway.com\u002Ftavily\",\n)\n\nclient = AsyncTavilyClient(client=custom_client)\n\nresponse = await client.search(\"latest AI research\")\n```\n\n**Key behaviors:**\n- If a custom session\u002Fclient is provided, `api_key` is optional\n- Custom session headers take precedence over SDK defaults (e.g., your `Authorization` won't be overwritten)\n- Custom session proxies take precedence over SDK proxy settings\n- The SDK will **not** close externally-provided sessions — you manage the lifecycle\n\n## Documentation\n\nFor a complete guide on how to use the different endpoints and their parameters, please head to our [Python API Reference](https:\u002F\u002Fdocs.tavily.com\u002Fsdk\u002Fpython\u002Freference).\n\n## Cost\n\nTavily is free for personal use for up to 1,000 credits per month.\nHead to the [Credits & Pricing](https:\u002F\u002Fdocs.tavily.com\u002Fdocumentation\u002Fapi-credits) in our documentation to learn more about how many API credits each request costs.\n\n## License\n\nThis project is licensed under the terms of the MIT license.\n\n## Contact\n\nIf you are encountering issues while using Tavily, please email us at support@tavily.com. We'll be happy to help you.\n\nIf you want to stay updated on the latest Tavily news and releases, head to our [Developer Community](https:\u002F\u002Fcommunity.tavily.com) to learn more!\n","# Tavily Python SDK\n\n[![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ftavily-ai\u002Ftavily-python?style=social)](https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fstargazers)\n[![PyPI - 下载量](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Ftavily-python)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ftavily-python\u002F)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Ftavily-ai\u002Ftavily-python)](https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fblob\u002Fmain\u002FLICENSE)\n[![CI](https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Factions)\n\nTavily Python 封装库使您能够轻松地与 Tavily API 进行交互，直接从您的 Python 程序中使用我们提供的完整搜索、提取、爬取、地图和研究功能。您可以轻松地将智能搜索、内容提取和研究能力集成到您的应用程序中，充分利用 Tavily 的强大功能。\n\n## 安装\n\n```bash\npip install tavily-python\n```\n\n# Tavily 搜索\n\n搜索功能允许您根据给定的查询在网络上进行搜索。\n\n## 使用方法\n\n以下是一些代码示例，展示了如何与我们的搜索 API 进行交互。这些代码的不同步骤和组件将在下面的 API 方法部分中更详细地说明。\n\n### 获取并打印完整的搜索 API 响应\n\n```python\nfrom tavily import TavilyClient\n\n# 第一步：实例化 TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# 第二步：执行一个简单的搜索查询\nresponse = tavily_client.search(\"谁是莱昂内尔·梅西？\")\n\n# 第三步：完成了！您已经成功进行了 Tavily 搜索！\nprint(response)\n```\n\n### 使用精确匹配查找特定名称或短语\n\n```python\nfrom tavily import TavilyClient\n\nclient = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# 使用 exact_match=True 仅返回包含引号内确切短语的结果\nresponse = client.search(\n    query='\"约翰·史密斯\" Acme 公司 CEO',\n    exact_match=True\n)\nprint(response)\n```\n\n这等同于直接查询我们的 REST API。\n\n### 为 RAG 应用程序生成上下文\n\n```python\nfrom tavily import TavilyClient\n\n# 第一步：实例化 TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# 第二步：执行上下文搜索查询\ncontext = tavily_client.get_search_context(query=\"燃烧人节洪水期间发生了什么？\")\n\n# 第三步：完成了！您现在拥有可以直接输入到 RAG 应用程序中的上下文字符串\nprint(context)\n```\n\n这就是如何通过一行代码为您的 RAG 应用程序生成精确且基于事实的上下文。\n\n### 快速回答问题\n\n```python\nfrom tavily import TavilyClient\n\n# 第一步：实例化 TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# 第二步：执行问答搜索查询\nanswer = tavily_client.qna_search(query=\"谁是莱昂内尔·梅西？\")\n\n# 第三步：完成了！您的问题已经得到了解答！\nprint(answer)\n```\n\n这就是如何通过一行代码获得准确而简洁的答案，非常适合用于大语言模型！\n\n# Tavily 提取\n\n从一个或多个指定的 URL 中提取网页内容。\n\n## 使用方法\n\n以下是一些代码示例，展示了如何与我们的提取 API 进行交互。这些代码的每个步骤和组件都将在下面的 API 方法部分中更详细地解释。\n\n### 使用 Tavily 提取 API 从多个 URL 提取原始内容\n\n```python\nfrom tavily import TavilyClient\n\n# 第一步：实例化 TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# 第二步：定义要提取内容的 URL 列表\nurls = [\n    \"https:\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F人工智能\",\n    \"https:\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F机器学习\",\n    \"https:\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F数据科学\",\n    \"https:\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F量子计算\",\n    \"https:\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F气候变化\"\n] # 您可以同时提供最多 20 个 URL\n\n# 第三步：执行提取请求\nresponse = tavily_client.extract(urls=urls, include_images=True)\n\n# 第四步：打印提取的原始内容\nfor result in response[\"results\"]:\n    print(f\"URL: {result['url']}\")\n    print(f\"原始内容: {result['raw_content']}\")\n    print(f\"图片: {result['images']}\\n\")\n\n# 请注意，无法提取的 URL 将存储在 response[\"failed_results\"] 中\n```\n\n# Tavily 爬取\n\n爬取功能允许您从一个基础 URL 开始遍历网站的内容。\n\n> **注意**：目前爬取功能仅限受邀用户使用。如需更多信息，请访问 [crawl.tavily.com](https:\u002F\u002Fcrawl.tavily.com)。\n\n## 使用方法\n\n以下是一些代码示例，展示了如何与我们的爬取 API 进行交互。这些代码的每个步骤和组件都将在下面的 API 方法部分中更详细地解释。\n\n### 使用指令爬取一个网站\n\n```python\nfrom tavily import TavilyClient\n\n# 第一步：实例化 TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# 第二步：定义起始 URL\nstart_url = \"https:\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F柠檬\"\n\n# 第三步：执行爬取请求，并指示仅显示关于柑橘类水果的页面\nresponse = tavily_client.crawl(\n    url=start_url,\n    max_depth=3,\n    limit=50,\n    instructions=\"查找所有关于柑橘类水果的页面\"\n)\n\n# 第四步：打印符合查询的页面\nfor result in response[\"results\"]:\n    print(f\"URL: {result['url']}\")\n    print(f\"摘要: {result['raw_content'][:200]}...\\n\")\n```\n\n# Tavily 地图\n\n地图功能允许您从一个基础 URL 开始发现并可视化网站的结构。\n\n## 使用方法\n\n以下是一些代码示例，展示了如何与我们的地图 API 进行交互。这些代码的每个步骤和组件都将在下面的 API 方法部分中更详细地解释。\n\n### 使用指令绘制网站地图\n\n```python\nfrom tavily import TavilyClient\n\n# 第一步：实例化 TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# 第二步：定义起始 URL\nstart_url = \"https:\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F柠檬\"\n\n# 第三步：执行地图请求，并设置参数以专注于特定页面\nresponse = tavily_client.map(\n    url=start_url,\n    max_depth=2,\n    limit=30,\n    instructions=\"查找关于柑橘类水果的页面\"\n)\n\n# 第四步：打印站点结构\nfor result in response[\"results\"]:\n    print(f\"URL: {result['url']}\")\n```\n\n# Tavily 研究\n\n研究功能允许您针对任何主题创建全面的研究报告，自动收集资料、分析并生成结构化的输出。\n\n## 使用方法\n\n以下是一些代码示例，展示了如何与我们的研究 API 进行交互。这些代码的每个步骤和组件都将在下面的 API 方法部分中更详细地解释。\n\n### 创建研究任务并获取结果\n\n```python\nfrom tavily import TavilyClient\n\n# 第一步：实例化 TavilyClient\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n\n# 步骤 2. 创建研究任务\nresponse = tavily_client.research(\n    input=\"研究人工智能的最新进展\",\n    model=\"pro\",\n    citation_format=\"apa\"\n)\n\n# 步骤 3. 获取研究结果\nrequest_id = response[\"request_id\"]\nresult = tavily_client.get_research(request_id)\n\n# 步骤 4. 打印研究报告\nprint(f\"状态: {result['status']}\")\nprint(f\"内容: {result['content']}\")\nprint(f\"来源: 找到 {len(result['sources'])} 个来源\")\n```\n\n### 流式输出研究结果\n\n```python\nfrom tavily import TavilyClient\n\n# 步骤 1. 实例化 Tavily 客户端\ntavily_client = TavilyClient(api_key=\"tvly-您的 API 密钥\")\n\n# 步骤 2. 创建流式研究任务\nstream = tavily_client.research(\n    input=\"研究人工智能的最新进展\",\n    model=\"pro\",\n    stream=True\n)\n\n# 步骤 3. 处理实时到达的数据流\nfor chunk in stream:\n    print(chunk.decode('utf-8'))\n```\n\n## 高级用法：自定义会话\u002F客户端注入\n\n对于通过 API 网关代理 Tavily 流量的企业环境（例如用于集中式身份验证、日志记录或策略执行），您可以传递预先配置好的 HTTP 会话，而不是 Tavily API 密钥。\n\n### 同步（自定义 `requests.Session`）\n\n```python\nimport requests\nfrom tavily import TavilyClient\n\n# 使用网关的身份验证信息预配置会话\nsession = requests.Session()\nsession.headers[\"Authorization\"] = \"Bearer 您的网关令牌\"\nsession.headers[\"X-Subscription-Key\"] = \"您的订阅密钥\"\n\n# 无需 Tavily API 密钥——身份验证由会话处理\nclient = TavilyClient(\n    session=session,\n    api_base_url=\"https:\u002F\u002F您的网关.com\u002Ftavily\",\n)\n\nresponse = client.search(\"最新的 AI 研究\")\n```\n\n### 异步（自定义 `httpx.AsyncClient`）\n\n```python\nimport httpx\nfrom tavily import AsyncTavilyClient\n\n# 使用网关的身份验证信息预配置异步客户端\ncustom_client = httpx.AsyncClient(\n    headers={\"Authorization\": \"Bearer 您的网关令牌\"},\n    base_url=\"https:\u002F\u002F您的网关.com\u002Ftavily\",\n)\n\nclient = AsyncTavilyClient(client=custom_client)\n\nresponse = await client.search(\"最新的 AI 研究\")\n```\n\n**关键行为：**\n- 如果提供了自定义会话或客户端，则 `api_key` 是可选的。\n- 自定义会话头优先于 SDK 的默认设置（例如，您的 `Authorization` 不会被覆盖）。\n- 自定义会话代理优先于 SDK 的代理设置。\n- SDK 不会关闭外部提供的会话——会话的生命周期由您管理。\n\n## 文档\n\n有关如何使用不同端点及其参数的完整指南，请访问我们的 [Python API 参考文档](https:\u002F\u002Fdocs.tavily.com\u002Fsdk\u002Fpython\u002Freference)。\n\n## 费用\n\nTavily 对个人用户免费，每月最多可使用 1,000 个积分。\n请参阅我们文档中的 [积分与定价](https:\u002F\u002Fdocs.tavily.com\u002Fdocumentation\u002Fapi-credits)，以了解每次 API 请求所需的积分数量。\n\n## 许可证\n\n本项目根据 MIT 许可证条款授权。\n\n## 联系方式\n\n如果您在使用 Tavily 时遇到问题，请发送邮件至 support@tavily.com。我们将竭诚为您提供帮助。\n\n如果您想及时了解 Tavily 的最新消息和发布信息，请访问我们的 [开发者社区](https:\u002F\u002Fcommunity.tavily.com)，了解更多！","# Tavily Python SDK 快速上手指南\n\nTavily Python SDK 是一个专为 AI 应用设计的搜索与内容提取工具，支持智能搜索、RAG 上下文生成、网页内容提取及深度研究等功能。本指南将帮助你快速集成 Tavily API。\n\n## 环境准备\n\n*   **Python 版本**：建议 Python 3.8 或更高版本。\n*   **API Key**：你需要一个 Tavily API Key。请前往 [Tavily 官网](https:\u002F\u002Ftavily.com\u002F) 注册账号并获取密钥（格式通常为 `tvly-...`）。\n*   **网络环境**：确保你的开发环境可以访问 Tavily API 服务器。\n\n## 安装步骤\n\n使用 pip 进行安装。如果你在中国大陆地区遇到下载速度慢的问题，可以使用国内镜像源加速：\n\n```bash\n# 标准安装\npip install tavily-python\n\n# 使用国内镜像源安装（推荐）\npip install tavily-python -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n### 1. 初始化客户端\n\n首先导入库并使用你的 API Key 初始化客户端。\n\n```python\nfrom tavily import TavilyClient\n\n# 替换为你的真实 API Key\ntavily_client = TavilyClient(api_key=\"tvly-YOUR_API_KEY\")\n```\n\n### 2. 执行基础搜索\n\n这是最常用的功能，用于根据查询语句搜索网络信息。\n\n```python\n# 执行搜索\nresponse = tavily_client.search(\"Who is Leo Messi?\")\n\n# 打印完整响应\nprint(response)\n```\n\n### 3. 为 RAG 应用生成上下文\n\n如果你正在构建检索增强生成（RAG）应用，可以直接获取优化后的上下文字符串，无需额外处理。\n\n```python\n# 获取适合 LLM 输入的上下文字符串\ncontext = tavily_client.get_search_context(query=\"What happened during the Burning Man floods?\")\n\nprint(context)\n```\n\n### 4. 获取直接答案 (Q&A)\n\n如果你只需要一个简洁、准确的答案而不是搜索结果列表，可以使用 `qna_search`。\n\n```python\n# 获取直接答案\nanswer = tavily_client.qna_search(query=\"Who is Leo Messi?\")\n\nprint(answer)\n```\n\n### 5. 提取网页内容\n\n从指定 URL 列表中提取原始内容，支持批量处理（最多同时20个URL）。\n\n```python\nurls = [\n    \"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FArtificial_intelligence\",\n    \"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMachine_learning\"\n]\n\n# 提取内容\nresponse = tavily_client.extract(urls=urls, include_images=True)\n\n# 遍历结果\nfor result in response[\"results\"]:\n    print(f\"URL: {result['url']}\")\n    print(f\"Content: {result['raw_content'][:200]}...\") # 仅打印前200字符示例\n```\n\n---\n**提示**：Tavily 还提供高级功能如网站爬取（Crawl）、站点地图映射（Map）和深度研究报告（Research），具体用法请参考官方文档或查看 SDK 中的高级示例代码。个人用户每月可免费使用 1,000 积分。","某金融科技公司的数据分析师需要构建一个自动化竞品监控看板，实时追踪并总结主要竞争对手最新的产品发布、定价策略调整及市场公关动态，以便为管理层提供每日简报。\n\n### 没有 tavily-python 时\n- **数据源分散且噪音大**：传统搜索引擎返回大量无关的广告、SEO spam 或过时博客，人工筛选有效信息耗时极长，难以保证数据的纯净度。\n- **内容提取困难**：找到目标新闻链接后，需编写复杂的爬虫代码处理反爬机制、动态加载页面及清洗 HTML 标签，维护成本高昂且容易失效。\n- **RAG 上下文构建繁琐**：若要将搜索结果接入大模型进行总结，需手动拼接碎片化信息并控制 Token 长度，极易因上下文缺失导致模型产生幻觉或遗漏关键细节。\n- **开发周期漫长**：从零搭建一套包含搜索、去重、提取和整理的 pipeline 通常需要数周时间，无法快速响应业务对即时情报的需求。\n\n### 使用 tavily-python 后\n- **精准获取高信噪比结果**：调用 `search` 接口并启用 `search_depth=\"advanced\"`，直接返回经过筛选的高质量新闻和权威来源，大幅减少无效信息干扰。\n- **一键提取核心内容**：利用 `extract` 功能，传入 URLs 即可自动去除网页噪音，直接获取结构化、干净的正文文本，无需关心底层爬虫逻辑。\n- **原生适配 RAG 应用**：通过 `get_search_context` 方法，一行代码即可生成针对查询优化的连贯上下文字符串，完美契合 LLM 输入要求，提升总结准确性。\n- **极速落地原型**：借助简洁的 Python SDK，分析师在几小时内即可完成从数据抓取到智能总结的全流程开发，实现日报自动化生成。\n\ntavily-python 将复杂的网络情报搜集转化为简单的 API 调用，让开发者能专注于业务逻辑而非基础设施搭建，显著提升了数据驱动决策的效率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftavily-ai_tavily-python_de737488.png","tavily-ai","Tavily AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftavily-ai_8faa4aeb.png","Tavily Search API is a search engine optimized for LLMs and RAG, aimed at efficient, quick and persistent search results",null,"support@tavily.com","tavilyai","tavily.com","https:\u002F\u002Fgithub.com\u002Ftavily-ai",[86],{"name":87,"color":88,"percentage":89},"Python","#3572A5",100,1139,141,"2026-04-02T16:59:48","MIT","未说明","不需要",{"notes":97,"python":94,"dependencies":98},"该工具为 Tavily API 的 Python 客户端封装，主要依赖网络连接和有效的 API Key。支持同步（requests）和异步（httpx）调用。高级用法中支持注入自定义 Session 或 Client 以适配企业级网关代理。无需本地 GPU 或大量内存资源。",[99,100],"requests","httpx",[51,15,54,13],[103,104,105,106,107,108,109],"agent","crawl","extract","map","python","search","tavily","2026-03-27T02:49:30.150509","2026-04-06T09:44:35.212084",[113,118,123,128,133,138],{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},11566,"导入 TavilyClient 时出现 \"ImportError: cannot import name 'TavilyClient' from 'tavily'\" 错误，如何解决？","这通常是因为你的 Python 脚本文件名与包名冲突（例如命名为 tavily.py）。请检查并更改你的代码文件名，不要使用 \"tavily.py\"，以避免循环导入或命名空间冲突。此外，也可以尝试运行 `pip install --upgrade tavily-python` 确保安装了最新版本的包。","https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fissues\u002F20",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},11567,"为什么在 include_domains 参数中包含多个域名时，搜索结果为空？","该问题已在 API 端修复，现在应能正常返回多个域名的结果。如果仍然遇到问题，请注意：虽然对域名数量没有硬性限制，但使用非常长的列表（如超过100个）可能导致结果为空或效果不佳。建议尽量保持域名列表简短。如果必须使用大量域名，请联系支持团队获取更优解决方案。","https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fissues\u002F21",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},11568,"如何正确传递 include_domains 和其他搜索参数？","你可以直接在 search 方法中传递参数。示例代码如下：\n```python\nfrom tavily import TavilyClient\ntavily = TavilyClient(api_key=\"your_api_key\")\nresponse = tavily.search(\n    query=\"Should I invest in Apple right now?\",\n    search_depth=\"basic\",\n    include_answer=False,\n    include_images=True,\n    max_results=5,\n    include_domains=[\"example.com\"]\n)\n```\n注意：确保文件名不与包名冲突，否则会导致导入错误。","https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fissues\u002F6",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},11569,"如何设置搜索的语言或地区（Locale\u002FCountry）？","Tavily Python 客户端目前支持 `country` 参数，用于提升特定国家内容的搜索权重。虽然这不是像 Google `lr` 参数那样的严格过滤器，但它会优先展示选定国家的内容。你可以在调用 search 方法时添加 `country` 参数（例如 `country=\"pl\"` 代表波兰）。更多详细信息请参考官方文档。","https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fissues\u002F103",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},11570,"当 include_domains 或 exclude_domains 列表很长（超过100个）时，为什么返回空结果？","虽然系统没有对域名数量设置硬性上限，但使用过长的列表（如100+）可能导致性能下降或无结果。这是因为处理大量排除\u002F包含规则会增加复杂性。建议优化域名列表，仅保留最关键的域名。如果业务场景确实需要大量域名过滤，建议联系 support@tavily.com 探讨其他解决方案。","https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fissues\u002F83",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},11571,"Tavily 搜索 API 具体使用了哪些数据源或搜索引擎？","Tavily 官方并未公开具体的搜索引擎名单或详细的来源网站列表，仅说明其搜索覆盖 20+ 个站点。目前社区用户对此有较多疑问，但官方尚未提供详细的来源白名单。如需了解搜索结果的具体出处，建议直接检查返回结果中的元数据字段。","https:\u002F\u002Fgithub.com\u002Ftavily-ai\u002Ftavily-python\u002Fissues\u002F36",[]]