Как AI-поисковики меняют работу с информацией. Perplexity с источниками, Deep Research для аналитики, ChatGPT Search против Google. Настройка, API, сравнение точности.
Архитектура: поток запроса от пользователя через AI-модели, RAG-пайплайн и источники до финального ответа с цитатами
Perplexity предоставляет OpenAI-совместимое API, что делает интеграцию тривиальной. Вам понадобится API-ключ из личного кабинета Perplexity (раздел Settings → API). Базовая стоимость — $5 кредита при регистрации, затем pay-as-you-go. Модели: sonar (быстрый поиск), sonar-pro (глубокий анализ с большим количеством источников), sonar-reasoning (пошаговые рассуждения). Для начала установим Python SDK и проверим соединение простым запросом с указанием поискового домена.
# Установка официального Python SDK Perplexity pip install openai python-dotenv # Создаём .env файл с API-ключом echo 'PERPLEXITY_API_KEY=pplx-xxxxxxxxxxxxxxxx' > .env # Базовый тестовый запрос import os, openai from dotenv import load_dotenv load_dotenv() client = openai.OpenAI( api_key=os.getenv("PERPLEXITY_API_KEY"), base_url="https://api.perplexity.ai" ) response = client.chat.completions.create( model="sonar-pro", messages=[{"role": "user", "content": "Какие последние новости о квантовых вычислениях?"}] ) print(response.choices[0].message.content) # Вывод: структурированный ответ со ссылками на источники
Главное преимущество Perplexity — тонкая настройка поиска через параметры search_domain_filter, search_recency_filter и return_related_questions. Вы можете ограничить поиск академическими источниками, новостями за последнюю неделю или конкретными доменами. Параметр temperature управляет креативностью: 0 для точных фактов, 0.7 для генерации идей. Ниже пример с фильтрацией только по научным публикациям за последний месяц — идеально для исследовательских задач и написания обзоров литературы.
# Продвинутый запрос с фильтрацией источников response = client.chat.completions.create( model="sonar-pro", messages=[ {"role": "system", "content": "Ты — научный ассистент. Отвечай строго по academic источникам."}, {"role": "user", "content": "Сравнение transformer-архитектур и Mamba: преимущества и недостатки"} ], temperature=0.1, top_p=0.9, search_domain_filter=["scholar.google.com", "arxiv.org", "semanticscholar.org"], search_recency_filter="month", return_related_questions=True, max_tokens=2048 ) # Извлекаем источники из ответа content = response.choices[0].message.content citations = response.citations # список URL использованных источников for i, url in enumerate(citations, 1): print(f"Источник {i}: {url}") # Вывод: ответ с цитатами из arxiv.org и scholar.google.com за последний месяц
Google Deep Research кардинально отличается от простого поиска: модель выполняет многошаговый анализ — формулирует подвопросы, ищет информацию по каждому, синтезирует результаты и создаёт структурированный отчёт. Доступ через Gemini API (модель gemini-2.5-pro) с включённым режимом thinking. Процесс занимает 2–5 минут, но результат сравним с работой junior-аналитика. Идеально для due diligence, анализа рынков и конкурентов, составления обзоров. В коде ниже показан полный цикл с разбиением задачи на подзадачи.
# Установка Google Generative AI SDK pip install google-generativeai import google.generativeai as genai genai.configure(api_key="YOUR_GEMINI_API_KEY") # Deep Research: многошаговый анализ model = genai.GenerativeModel( model_name="gemini-2.5-pro-exp-03-25", generation_config={ "temperature": 0.1, "top_p": 0.95, "max_output_tokens": 8192, } ) # Системный промпт для режима Deep Research research_prompt = """Проведи глубокий анализ рынка AI-чипов в 2026 году. Выполни следующие шаги: 1. Определи ключевых игроков (NVIDIA, AMD, Intel, Groq, Cerebras) 2. Сравни их флагманские продукты по производительности 3. Оцени рыночные доли и тренды 4. Дай прогноз на 2027 год Для каждого утверждения укажи источник.""" response = model.generate_content( research_prompt, safety_settings=[ {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"} ] ) print(response.text) # Вывод: структурированный отчёт на 2000+ слов с источниками # Сохраняем отчёт в Markdown with open("market_report.md", "w") as f: f.write(response.text) # Файл market_report.md сохранён — готов к использованию
ChatGPT Search использует индекс Bing и модель GPT-5 для синтеза ответов с учётом контекста. В отличие от Google Custom Search API, который возвращает только ссылки, ChatGPT Search сразу даёт осмысленный ответ. Но у Google есть преимущество в скорости и индексации свежего контента. Практическое сравнение: один и тот же запрос через оба API, замеряем latency и оцениваем качество. Google лучше для оперативного мониторинга новостей, ChatGPT Search — для аналитических запросов, требующих синтеза информации из множества источников.
# Сравнение ChatGPT Search и Google Custom Search pip install google-api-python-client requests import time, requests from googleapiclient.discovery import build # === Google Custom Search API === def google_search(query, api_key, cse_id): service = build("customsearch", "v1", developerKey=api_key) start = time.time() result = service.cse().list(q=query, cx=cse_id, num=5).execute() latency = time.time() - start items = result.get("items", []) return [ {"title": item["title"], "link": item["link"], "snippet": item["snippet"]} for item in items ], latency # === ChatGPT Search через OpenAI API === def chatgpt_search(query, api_key): start = time.time() resp = requests.post( "https://api.openai.com/v1/chat/completions", headers={"Authorization": f"Bearer {api_key}"}, json={ "model": "gpt-5", "messages": [{"role": "user", "content": query}], "web_search": True # включение поиска } ) latency = time.time() - start data = resp.json() return data["choices"][0]["message"]["content"], latency # Сравнительный тест query = "Индексация сайтов в 2026: что изменилось" g_results, g_time = google_search(query, "G_API_KEY", "CSE_ID") c_results, c_time = chatgpt_search(query, "OPENAI_KEY") print(f"Google: {g_time:.2f}s | ChatGPT Search: {c_time:.2f}s") # Типичный результат: Google 0.8-1.2s, ChatGPT Search 3-8s
You.com предлагает уникальную фичу — режимы поиска: Research (академический), Code (поиск по коду), Creative (генерация идей) и стандартный Smart. API поддерживает流овую передачу (streaming) и возвращает не только ответ, но и найденные сниппеты. В бесплатном тарифе 100 запросов в день, что достаточно для тестирования. You.com хорош для задач, где нужен не просто факт, а креативная переработка информации — генерация идей, поиск аналогий, написание черновиков с опорой на свежие данные из сети.
# You.com API с выбором режима поиска pip install requests sseclient-py import requests, json def you_search(query, mode="research"): # mode: "smart", "research", "code", "creative" headers = { "X-API-Key": "YOUR_YOUCOM_API_KEY", "Content-Type": "application/json" } payload = { "query": query, "search_mode": mode, "num_results": 10, "stream": False } resp = requests.post( "https://api.you.com/search", headers=headers, json=payload, timeout=30 ) data = resp.json() return { "answer": data["answer"], "snippets": [s["content"] for s in data.get("results", [])], "urls": [s["url"] for s in data.get("results", [])] } result = you_search("Лучшие архитектуры RAG для enterprise в 2026", mode="research") print(f"Источников: {len(result['urls'])}") print(result["answer"][:500]) # Вывод: синтезированный ответ + 10 сниппетов из academic источников
Соберём полноценного AI-поискового агента, который комбинирует несколько источников. Агент сначала ищет через Perplexity, затем для технических вопросов добавляет поиск по коду через You.com, и финально синтезирует ответ через LangChain. Такой подход даёт более полную картину, чем любой отдельный сервис. Агент может использоваться для daily research, конкурентного анализа или подготовки материалов. Ключевой паттерн — fallback между провайдерами: если один не дал качественного ответа, подключается второй.
# Мульти-провайдерный AI-поисковый агент pip install langchain langchain-openai from langchain_openai import ChatOpenAI from langchain.agents import Tool, initialize_agent, AgentType # Инициализация LLM для синтеза llm = ChatOpenAI( model="gpt-5", temperature=0.1, api_key="YOUR_OPENAI_KEY" ) # Инструменты агента def perplexity_tool(query: str) -> str: client = openai.OpenAI(api_key=os.getenv("PERPLEXITY_KEY"), base_url="https://api.perplexity.ai") r = client.chat.completions.create(model="sonar-pro", messages=[{"role": "user", "content": query}]) return r.choices[0].message.content def code_search_tool(query: str) -> str: resp = requests.post("https://api.you.com/search", headers={"X-API-Key": os.getenv("YOU_KEY")}, json={"query": query, "search_mode": "code"}) return resp.json()["answer"] tools = [ Tool(name="WebSearch", func=perplexity_tool, description="Общий поиск с источниками"), Tool(name="CodeSearch", func=code_search_tool, description="Поиск кода и технической документации"), ] agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True) response = agent.invoke("Сравни производительность llama.cpp и vLLM для инференса Llama 3.3") print(response["output"]) # Агент использует оба инструмента и синтезирует сводный ответ
Мы разобрали полный стек AI-поисковых инструментов: от базового подключения Perplexity API до построения собственного мульти-провайдерного агента. Вы научились настраивать фильтры поиска по доменам и свежести, использовать Google Deep Research для многошагового анализа, сравнивать ChatGPT Search с Google Custom Search по скорости и качеству, подключать You.com API для специализированных режимов поиска и комбинировать всё это в LangChain-агенте. Следующий шаг — встроить AI-поиск в ваш daily workflow: замените ручной гуглинг на программные запросы с авто-синтезом, и вы сэкономите часы каждую неделю. Для продакшена рассмотрите кэширование ответов через Redis и мониторинг затрат на API-ключи.