<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Google Vertex AI on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/google-vertex-ai/</link>
        <description>Recent content in Google Vertex AI on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 22 Jul 2025 15:33:16 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/google-vertex-ai/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>open_deep_research</title>
        <link>https://producthunt.programnotes.cn/en/p/open_deep_research/</link>
        <pubDate>Tue, 22 Jul 2025 15:33:16 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/open_deep_research/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1694250990115-ca7d9d991b24?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTMxNjk1NjB8&amp;ixlib=rb-4.1.0" alt="Featured image of post open_deep_research" /&gt;&lt;h1 id=&#34;langchain-aiopen_&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain-ai/open_deep_research&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;langchain-ai/open_deep_research&lt;/a&gt;
&lt;/h1&gt;&lt;h1 id=&#34;open-deep-research&#34;&gt;Open Deep Research
&lt;/h1&gt;&lt;img width=&#34;1388&#34; height=&#34;298&#34; alt=&#34;full_diagram&#34; src=&#34;https://github.com/user-attachments/assets/12a2371b-8be2-4219-9b48-90503eb43c69&#34; /&gt;
&lt;p&gt;Deep research has broken out as one of the most popular agent applications. This is a simple, configurable, fully open source deep research agent that works across many model providers, search tools, and MCP servers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read more in our &lt;a class=&#34;link&#34; href=&#34;https://blog.langchain.com/open-deep-research/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;See our &lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=agGiWUpxkhg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;video&lt;/a&gt; for a quick overview&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-quickstart&#34;&gt;🚀 Quickstart
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;Clone the repository and activate a virtual environment:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/langchain-ai/open_deep_research.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; open_deep_research
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uv venv
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; .venv/bin/activate  &lt;span class=&#34;c1&#34;&gt;# On Windows: .venv\Scripts\activate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Install dependencies:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uv pip install -r pyproject.toml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Set up your &lt;code&gt;.env&lt;/code&gt; file to customize the environment variables (for model selection, search tools, and other configuration settings):&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp .env.example .env
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;Launch the assistant with the LangGraph server locally to open LangGraph Studio in your browser:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install dependencies and start the LangGraph server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uvx --refresh --from &lt;span class=&#34;s2&#34;&gt;&amp;#34;langgraph-cli[inmem]&amp;#34;&lt;/span&gt; --with-editable . --python 3.11 langgraph dev --allow-blocking
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Use this to open the Studio UI:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 🚀 API: http://127.0.0.1:2024
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 🎨 Studio UI: https://smith.langchain.com/studio/?baseUrl=http://127.0.0.1:2024
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- 📚 API Docs: http://127.0.0.1:2024/docs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img width=&#34;817&#34; height=&#34;666&#34; alt=&#34;Screenshot 2025-07-13 at 11 21 12 PM&#34; src=&#34;https://github.com/user-attachments/assets/052f2ed3-c664-4a4f-8ec2-074349dcaa3f&#34; /&gt;
&lt;p&gt;Ask a question in the &lt;code&gt;messages&lt;/code&gt; input field and click &lt;code&gt;Submit&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;configurations&#34;&gt;Configurations
&lt;/h3&gt;&lt;p&gt;Open Deep Research offers extensive configuration options to customize the research process and model behavior. All configurations can be set via the web UI, environment variables, or by modifying the configuration directly.&lt;/p&gt;
&lt;h4 id=&#34;general-settings&#34;&gt;General Settings
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Max Structured Output Retries&lt;/strong&gt; (default: 3): Maximum number of retries for structured output calls from models when parsing fails&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Allow Clarification&lt;/strong&gt; (default: true): Whether to allow the researcher to ask clarifying questions before starting research&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Max Concurrent Research Units&lt;/strong&gt; (default: 5): Maximum number of research units to run concurrently using sub-agents. Higher values enable faster research but may hit rate limits&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;research-configuration&#34;&gt;Research Configuration
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Search API&lt;/strong&gt; (default: Tavily): Choose from Tavily (works with all models), OpenAI Native Web Search, Anthropic Native Web Search, or None&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Max Researcher Iterations&lt;/strong&gt; (default: 3): Number of times the Research Supervisor will reflect on research and ask follow-up questions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Max React Tool Calls&lt;/strong&gt; (default: 5): Maximum number of tool calling iterations in a single researcher step&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;models&#34;&gt;Models
&lt;/h4&gt;&lt;p&gt;Open Deep Research uses multiple specialized models for different research tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Summarization Model&lt;/strong&gt; (default: &lt;code&gt;openai:gpt-4.1-nano&lt;/code&gt;): Summarizes research results from search APIs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Research Model&lt;/strong&gt; (default: &lt;code&gt;openai:gpt-4.1&lt;/code&gt;): Conducts research and analysis&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compression Model&lt;/strong&gt; (default: &lt;code&gt;openai:gpt-4.1-mini&lt;/code&gt;): Compresses research findings from sub-agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Final Report Model&lt;/strong&gt; (default: &lt;code&gt;openai:gpt-4.1&lt;/code&gt;): Writes the final comprehensive report&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All models are configured using &lt;a class=&#34;link&#34; href=&#34;https://python.langchain.com/docs/how_to/chat_models_universal_init/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;init_chat_model() API&lt;/a&gt; which supports providers like OpenAI, Anthropic, Google Vertex AI, and others.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important Model Requirements:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Structured Outputs&lt;/strong&gt;: All models must support structured outputs. Check support &lt;a class=&#34;link&#34; href=&#34;https://python.langchain.com/docs/integrations/chat/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Search API Compatibility&lt;/strong&gt;: Research and Compression models must support your selected search API:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anthropic search requires Anthropic models with web search capability&lt;/li&gt;
&lt;li&gt;OpenAI search requires OpenAI models with web search capability&lt;/li&gt;
&lt;li&gt;Tavily works with all models&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tool Calling&lt;/strong&gt;: All models must support tool calling functionality&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Special Configurations&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For OpenRouter: Follow &lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain-ai/open_deep_research/issues/75#issuecomment-2811472408&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;this guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;For local models via Ollama: See &lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain-ai/open_deep_research/issues/65#issuecomment-2743586318&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;setup instructions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;example-mcp-model-context-protocol-servers&#34;&gt;Example MCP (Model Context Protocol) Servers
&lt;/h4&gt;&lt;p&gt;Open Deep Research supports MCP servers to extend research capabilities.&lt;/p&gt;
&lt;h4 id=&#34;local-mcp-servers&#34;&gt;Local MCP Servers
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Filesystem MCP Server&lt;/strong&gt; provides secure file system operations with robust access control:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read, write, and manage files and directories&lt;/li&gt;
&lt;li&gt;Perform operations like reading file contents, creating directories, moving files, and searching&lt;/li&gt;
&lt;li&gt;Restrict operations to predefined directories for security&lt;/li&gt;
&lt;li&gt;Support for both command-line configuration and dynamic MCP roots&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example usage:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mcp-server-filesystem /path/to/allowed/dir1 /path/to/allowed/dir2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;remote-mcp-servers&#34;&gt;Remote MCP Servers
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Remote MCP servers&lt;/strong&gt; enable distributed agent coordination and support streamable HTTP requests. Unlike local servers, they can be multi-tenant and require more complex authentication.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Arcade MCP Server Example&lt;/strong&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;url&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://api.arcade.dev/v1/mcps/ms_0ujssxh0cECutqzMgbtXSGnjorm&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;tools&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Search_SearchHotels&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Search_SearchOneWayFlights&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Search_SearchRoundtripFlights&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Remote servers can be configured as authenticated or unauthenticated and support JWT-based authentication through OAuth endpoints.&lt;/p&gt;
&lt;h3 id=&#34;evaluation&#34;&gt;Evaluation
&lt;/h3&gt;&lt;p&gt;A comprehensive batch evaluation system designed for detailed analysis and comparative studies.&lt;/p&gt;
&lt;h4 id=&#34;features&#34;&gt;&lt;strong&gt;Features:&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multi-dimensional Scoring&lt;/strong&gt;: Specialized evaluators with 0-1 scale ratings&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dataset-driven Evaluation&lt;/strong&gt;: Batch processing across multiple test cases&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;usage&#34;&gt;&lt;strong&gt;Usage:&lt;/strong&gt;
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run comprehensive evaluation on LangSmith datasets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python tests/run_evaluate.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;key-files&#34;&gt;&lt;strong&gt;Key Files:&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tests/run_evaluate.py&lt;/code&gt;: Main evaluation script&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tests/evaluators.py&lt;/code&gt;: Specialized evaluator functions&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tests/prompts.py&lt;/code&gt;: Evaluation prompts for each dimension&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;deployments-and-usages&#34;&gt;Deployments and Usages
&lt;/h3&gt;&lt;h4 id=&#34;langgraph-studio&#34;&gt;LangGraph Studio
&lt;/h4&gt;&lt;p&gt;Follow the &lt;a class=&#34;link&#34; href=&#34;#-quickstart&#34; &gt;quickstart&lt;/a&gt; to start LangGraph server locally and test the agent out on LangGraph Studio.&lt;/p&gt;
&lt;h4 id=&#34;hosted-deployment&#34;&gt;Hosted deployment
&lt;/h4&gt;&lt;p&gt;You can easily deploy to &lt;a class=&#34;link&#34; href=&#34;https://langchain-ai.github.io/langgraph/concepts/#deployment-options&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LangGraph Platform&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;open-agent-platform&#34;&gt;Open Agent Platform
&lt;/h4&gt;&lt;p&gt;Open Agent Platform (OAP) is a UI from which non-technical users can build and configure their own agents. OAP is great for allowing users to configure the Deep Researcher with different MCP tools and search APIs that are best suited to their needs and the problems that they want to solve.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve deployed Open Deep Research to our public demo instance of OAP. All you need to do is add your API Keys, and you can test out the Deep Researcher for yourself! Try it out &lt;a class=&#34;link&#34; href=&#34;https://oap.langchain.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can also deploy your own instance of OAP, and make your own custom agents (like Deep Researcher) available on it to your users.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.oap.langchain.com/quickstart&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Deploy Open Agent Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.oap.langchain.com/setup/agents&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Add Deep Researcher to OAP&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;updates-&#34;&gt;Updates 🔥
&lt;/h3&gt;&lt;h3 id=&#34;legacy-implementations-&#34;&gt;Legacy Implementations 🏛️
&lt;/h3&gt;&lt;p&gt;The &lt;code&gt;src/legacy/&lt;/code&gt; folder contains two earlier implementations that provide alternative approaches to automated research:&lt;/p&gt;
&lt;h4 id=&#34;1-workflow-implementation-legacygraphpy&#34;&gt;1. Workflow Implementation (&lt;code&gt;legacy/graph.py&lt;/code&gt;)
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Plan-and-Execute&lt;/strong&gt;: Structured workflow with human-in-the-loop planning&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sequential Processing&lt;/strong&gt;: Creates sections one by one with reflection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interactive Control&lt;/strong&gt;: Allows feedback and approval of report plans&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quality Focused&lt;/strong&gt;: Emphasizes accuracy through iterative refinement&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;2-multi-agent-implementation-legacymulti_agentpy&#34;&gt;2. Multi-Agent Implementation (&lt;code&gt;legacy/multi_agent.py&lt;/code&gt;)
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Supervisor-Researcher Architecture&lt;/strong&gt;: Coordinated multi-agent system&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parallel Processing&lt;/strong&gt;: Multiple researchers work simultaneously&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Speed Optimized&lt;/strong&gt;: Faster report generation through concurrency&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Support&lt;/strong&gt;: Extensive Model Context Protocol integration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See &lt;code&gt;src/legacy/legacy.md&lt;/code&gt; for detailed documentation, configuration options, and usage examples for both legacy implementations.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>langchain4j</title>
        <link>https://producthunt.programnotes.cn/en/p/langchain4j/</link>
        <pubDate>Sun, 08 Jun 2025 15:28:32 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/langchain4j/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1731946934369-2441982c76bf?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NDkzNjc1OTN8&amp;ixlib=rb-4.1.0" alt="Featured image of post langchain4j" /&gt;&lt;h1 id=&#34;langchain4jlangchain4j&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;langchain4j/langchain4j&lt;/a&gt;
&lt;/h1&gt;&lt;h1 id=&#34;langchain-for-java-supercharge-your-java-application-with-the-power-of-llms&#34;&gt;LangChain for Java: Supercharge your Java application with the power of LLMs
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j/actions/workflows/main.yaml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/actions/workflow/status/langchain4j/langchain4j/main.yaml?branch=main&amp;amp;style=for-the-badge&amp;amp;label=CI%20BUILD&amp;amp;logo=github&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Build Status&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j/actions/workflows/nightly_jdk17.yaml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/actions/workflow/status/langchain4j/langchain4j/nightly_jdk17.yaml?branch=main&amp;amp;style=for-the-badge&amp;amp;label=NIGHTLY%20BUILD&amp;amp;logo=github&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Nightly Build&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://app.codacy.com/gh/langchain4j/langchain4j/dashboard&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/Codacy-Dashboard-blue?style=for-the-badge&amp;amp;logo=codacy&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;CODACY&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/JzTFvyjG6R&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://dcbadge.vercel.app/api/server/JzTFvyjG6R?style=for-the-badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Discord&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://bsky.app/profile/langchain4j.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/@langchain4j-follow-blue?logo=bluesky&amp;amp;style=for-the-badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;BlueSky&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://x.com/langchain4j&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/@langchain4j-follow-blue?logo=x&amp;amp;style=for-the-badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;X&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://search.maven.org/#search%7cgav%7c1%7cg:%22dev.langchain4j%22%20AND%20a:%22langchain4j%22&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/maven-central/v/dev.langchain4j/langchain4j?logo=apachemaven&amp;amp;style=for-the-badge&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Maven Version&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Welcome!&lt;/p&gt;
&lt;p&gt;The goal of LangChain4j is to simplify integrating LLMs into Java applications.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s how:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Unified APIs:&lt;/strong&gt;
LLM providers (like OpenAI or Google Vertex AI) and embedding (vector) stores (such as Pinecone or Milvus)
use proprietary APIs. LangChain4j offers a unified API to avoid the need for learning and implementing specific APIs for each of them.
To experiment with different LLMs or embedding stores, you can easily switch between them without the need to rewrite your code.
LangChain4j currently supports &lt;a class=&#34;link&#34; href=&#34;https://docs.langchain4j.dev/integrations/language-models/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;15+ popular LLM providers&lt;/a&gt;
and &lt;a class=&#34;link&#34; href=&#34;https://docs.langchain4j.dev/integrations/embedding-stores/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;15+ embedding stores&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comprehensive Toolbox:&lt;/strong&gt;
Since early 2023, the community has been building numerous LLM-powered applications,
identifying common abstractions, patterns, and techniques. LangChain4j has refined these into practical code.
Our toolbox includes tools ranging from low-level prompt templating, chat memory management, and function calling
to high-level patterns like Agents and RAG.
For each abstraction, we provide an interface along with multiple ready-to-use implementations based on common techniques.
Whether you&amp;rsquo;re building a chatbot or developing a RAG with a complete pipeline from data ingestion to retrieval,
LangChain4j offers a wide variety of options.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Numerous Examples:&lt;/strong&gt;
These &lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j-examples&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;examples&lt;/a&gt; showcase how to begin creating various LLM-powered applications,
providing inspiration and enabling you to start building quickly.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;LangChain4j began development in early 2023 amid the ChatGPT hype.
We noticed a lack of Java counterparts to the numerous Python and JavaScript LLM libraries and frameworks,
and we had to fix that!
Although &amp;ldquo;LangChain&amp;rdquo; is in our name, the project is a fusion of ideas and concepts from LangChain, Haystack,
LlamaIndex, and the broader community, spiced up with a touch of our own innovation.&lt;/p&gt;
&lt;p&gt;We actively monitor community developments, aiming to quickly incorporate new techniques and integrations,
ensuring you stay up-to-date.
The library is under active development. While some features are still being worked on,
the core functionality is in place, allowing you to start building LLM-powered apps now!&lt;/p&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation
&lt;/h2&gt;&lt;p&gt;Documentation can be found &lt;a class=&#34;link&#34; href=&#34;https://docs.langchain4j.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The documentation chatbot (experimental) can be found &lt;a class=&#34;link&#34; href=&#34;https://chat.langchain4j.dev/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started
&lt;/h2&gt;&lt;p&gt;Getting started guide can be found &lt;a class=&#34;link&#34; href=&#34;https://docs.langchain4j.dev/get-started&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;code-examples&#34;&gt;Code Examples
&lt;/h2&gt;&lt;p&gt;Please see examples of how LangChain4j can be used in &lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j-examples&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;langchain4j-examples&lt;/a&gt; repo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j-examples/tree/main/other-examples/src/main/java&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Examples in plain Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/quarkiverse/quarkus-langchain4j/tree/main/samples&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Examples with Quarkus&lt;/a&gt; (uses &lt;a class=&#34;link&#34; href=&#34;https://github.com/quarkiverse/quarkus-langchain4j&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;quarkus-langchain4j&lt;/a&gt; dependency)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j-examples/tree/main/spring-boot-example/src/main/java/dev/langchain4j/example&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Example with Spring Boot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/helidon-io/helidon-examples/tree/helidon-4.x/examples/integrations/langchain4j&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Examples with Helidon&lt;/a&gt; (uses &lt;a class=&#34;link&#34; href=&#34;https://mvnrepository.com/artifact/io.helidon.integrations.langchain4j&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;io.helidon.integrations.langchain4j&lt;/a&gt; dependency)&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/micronaut-projects/micronaut-langchain4j/tree/0.3.x/doc-examples/example-openai-java&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Examples with Micronaut&lt;/a&gt; (uses &lt;a class=&#34;link&#34; href=&#34;https://micronaut-projects.github.io/micronaut-langchain4j/latest/guide/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;micronaut-langchain4j&lt;/a&gt; dependency)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;useful-materials&#34;&gt;Useful Materials
&lt;/h2&gt;&lt;p&gt;Useful materials can be found &lt;a class=&#34;link&#34; href=&#34;https://docs.langchain4j.dev/useful-materials&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;get-help&#34;&gt;Get Help
&lt;/h2&gt;&lt;p&gt;Please use &lt;a class=&#34;link&#34; href=&#34;https://discord.gg/JzTFvyjG6R&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discord&lt;/a&gt; or &lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub discussions&lt;/a&gt;
to get help.&lt;/p&gt;
&lt;h2 id=&#34;request-features&#34;&gt;Request Features
&lt;/h2&gt;&lt;p&gt;Please let us know what features you need by &lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j/issues/new/choose&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;opening an issue&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;contribute&#34;&gt;Contribute
&lt;/h2&gt;&lt;p&gt;Contribution guidelines can be found &lt;a class=&#34;link&#34; href=&#34;https://github.com/langchain4j/langchain4j/blob/main/CONTRIBUTING.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
