DeepInfra raises $107M Series B to scale the inference cloud — read the announcement

In this blog post, we will query for the details of a recently released expansion pack for Elden Ring, a critically acclaimed game released in 2022, using the Tavily tool with the ChatDeepInfra model.
Using this boilerplate, one can automate the process of searching for information with well-written responses. This is a great way to create a chatbot that can interact with users and provide them with the information they need.
First, let's create a virtual environment and activate it:
python3 -m venv venv
source venv/bin/activate
Next, install the required packages:
pip install python-dotenv langchain langchain-community
Before we start, we need to load our DeepInfra API key and Tavily API key. You can get your DeepInfra API key from here. After obtaining the API key, create a .env file in the root directory of your project and add the following line:
DEEPINFRA_API_TOKEN=YOUR_DEEPINFRA_API_KEY
TAVILY_API_KEY=YOUR_TAVILY_API_KEY
After installing the required packages and setting up the environment, we can create a LangChain agent that uses the ChatDeepInfra model and the Tavily tool to search for information on the web. The ChatDeepInfra model is a powerful conversational model that can generate human-like responses to user queries. The Tavily tool allows us to search the web for information and retrieve the search results.
Here's the complete Python script to create and run a LangChain agent using the ChatDeepInfra model:
from dotenv import load_dotenv, find_dotenv
from langchain_community.chat_models import ChatDeepInfra
_ = load_dotenv(find_dotenv())
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain_core.prompts import ChatPromptTemplate
model_name = "meta-llama/Meta-Llama-3-70B-Instruct"
if __name__ == "__main__":
tools = [TavilySearchResults(max_results=1)]
llm = ChatDeepInfra(
model = model_name
)
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"You are a helpful assistant. Make sure to use the tavily_search_results_json tool for information.",
),
("placeholder", "{chat_history}"),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
]
)
agent = create_tool_calling_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True, stream_runnable=False)
question = "Why is the hype for Shadow of the Erdtree so high?"
result = agent_executor.invoke({"input": question})
print(result["output"])
# According to the search results, the new DLC for Elden Ring is called "Shadow of the Erdtree".
One crucial point is to use stream_runnable=False in the AgentExecutor.
Stage is yours now! You can futher extend the agent to include more tools and models to improve your workflows which will be topic for another blog post.
Stay tuned for more updates and happy coding!
OpenCode: Open-Source Claude Code Alternative<p>Open your cloud bill after a month of heavy agent use and the number stops being abstract. Teams report coding-assistant costs in the hundreds of dollars per developer, and some now set token budgets the way they once rationed cloud compute. Then in June 2026 the US government barred non-Americans from Anthropic’s Fable 5, and […]</p>
Data Sovereignty AI: Why Open-Weight Models Matter<p>The prototype worked. The demo landed. Then the security questionnaire shows up, and question 41 asks which legal entity can be compelled to produce the contents of your prompts. That one question stalls more AI rollouts than latency or accuracy ever have. Inside hospitals, banks, law firms, and defense subcontractors, data sovereignty AI requirements have […]</p>
We Benchmarked NVIDIA Vera, the CPU for Agents. Here's What We MeasuredDeepInfra runs AI agents in production, so when NVIDIA built a CPU for agents, we measured it ourselves with our own harness, our own agent, and a methodology we locked before the hardware arrived.© 2026 DeepInfra. All rights reserved.