# Langroid > Yes, see this note on [reasoning-content](https://langroid.github.io/langroid/notes/reasoning-content/). ## Pages - [Frequently Asked Questions](faq.md): Yes, see this note on [reasoning-content](https://langroid.github.io/langroid/notes/reasoning-content/). - [Language Models: Completion and Chat-Completion](blog-posts-chat-completion.md): Transformer-based language models are fundamentally next-token predictors, so - [Overview of Langroid's Multi-Agent Architecture (prelim)](blog-posts-langroid-architecture.md): A natural and convenient abstraction in designing a complex - [Langroid: Harness LLMs with Multi-Agent Programming](blog-posts-langroid-intro.md): Given the remarkable abilities of recent Large Language Models (LLMs), there - [Langroid: Knolwedge Graph RAG powered by Neo4j](blog-posts-langroid-knowledge-graph.md): LLMs are increasingly being used to let users converse in natural language with - [Langroid: Multi-Agent Programming Framework for LLMs](blog-posts-langroid-lancedb.md): In this era of Large Language Models (LLMs), there is unprecedented demand to - [Chat formatting in Local LLMs](blog-posts-local-llm-formatting.md): In an (LLM performance) investigation, details matter! - [Using Langroid with Local LLMs](blog-posts-local-llm.md): There are commercial, remotely served models that currently appear to beat all open/local - [MALADE: Multi-Agent Architecture for Pharmacovigilance](blog-posts-malade.md): We introduce MALADE (**M**ultiple **A**gents powered by **L**LMs for **ADE** Extraction), - [Multi Agent Debate and Education Platform](blog-posts-multi-agent-debate.md): Have you ever imagined a world where we can debate complex issues with Generative AI agents taking a distinct - [Test code snippets](blog-posts-test.md): from langroid.language_models.base import LLMMessage, Role - [Audience Targeting for a Business](demos-targeting-audience-targeting.md): Suppose you are a marketer for a business, trying to figure out which - [Hierarchical computation with Langroid Agents](examples-agent-tree.md): Here is a simple example showing tree-structured computation - [Guide to examples in `langroid-examples` repo](examples-guide.md): !!! warning "Outdated" - [Langroid: Harness LLMs with Multi-Agent Programming](index.md): Given the remarkable abilities of recent Large Language Models (LLMs), there - [Suppressing output in async, streaming mode](notes-async-streaming.md): Available since version 0.18.0 - [Azure OpenAI Models](notes-azure-openai-models.md): To use OpenAI models deployed on Azure, first ensure a few environment variables - [Document Chunking/Splitting in Langroid](notes-chunking.md): Langroid's [`ParsingConfig`][langroid.parsing.parser.ParsingConfig] - [Code Injection Protection with full_eval Flag](notes-code-injection-protection.md): Available in Langroid since v0.53.15. - [Crawl4ai Crawler Documentation](notes-crawl4ai.md): The`Crawl4aiCrawler`is a highly advanced and flexible web crawler integrated into Langroid, built on the powerful`... - [Custom Azure OpenAI client](notes-custom-azure-client.md): !!! warning "This is only for using a Custom Azure OpenAI client" - [Enriching Chunked Documents for Better Retrieval](notes-enriching-for-retrieval.md): Available in Langroid v0.34.0 or later. - [PDF Files and Image inputs to LLMs](notes-file-input.md): Langroid supports sending PDF files and images (either URLs or local files) - [Gemini LLMs & Embeddings via OpenAI client (without LiteLLM)](notes-gemini.md): As of Langroid v0.21.0 you can use Langroid with Gemini LLMs directly - [Support for Open LLMs hosted on glhf.chat](notes-glhf-chat.md): Available since v0.23.0. - [Handling a non-tool LLM message](notes-handle-llm-no-tool.md): A common scenario is to define a`ChatAgent`, enable it to use some tools - [HTML Logger](notes-html-logger.md): The HTML logger creates interactive, self-contained HTML files that make it easy to navigate complex multi-agent conv... - [Knowledge-graph support](notes-knowledge-graphs.md): Langroid can be used to set up natural-language conversations with knowledge graphs. - [LangDB with Langroid](notes-langdb.md): [LangDB](https://langdb.ai/) is an AI gateway that provides OpenAI-compatible APIs to access 250+ LLMs. It offers cos... - [Handling large tool results](notes-large-tool-results.md): Available since Langroid v0.22.0. - [Using LiteLLM Proxy with OpenAIGPTConfig](notes-litellm-proxy.md): You can easily configure Langroid to use LiteLLM proxy for accessing models with a - [Local embeddings provision via llama.cpp server](notes-llama-cpp-embeddings.md): As of Langroid v0.30.0, you can use llama.cpp as provider of embeddings - [Using the LLM-based PDF Parser](notes-llm-pdf-parser.md): - Converts PDF content into Markdown format using Multimodal models. - [**Using `marker` as a PDF Parser in `langroid`**](notes-marker-pdf.md): from langroid.parsing.document_parser import DocumentParser - [Markitdown Document Parsers](notes-markitdown.md): Langroid integrates with Microsoft's Markitdown library to provide - [Langroid MCP Integration](notes-mcp-tools.md): Langroid provides seamless integration with Model Context Protocol (MCP) servers via - [OpenAI Client Caching](notes-openai-client-caching.md): Langroid implements client caching for OpenAI and compatible APIs (Groq, Cerebras, etc.) to improve performance and p... - [OpenAI HTTP Client Configuration](notes-openai-http-client.md): When using OpenAI models through Langroid in corporate environments or behind proxies, you may encounter SSL certific... - [Overview](notes-overview.md): This section contains brief notes describing various features and updates. - [Configure OpenAI embeddings](notes-pgvector.md): If you are using`uv`or`pip`for package management, install Langroid with postgres extra: - [How to setup Langroid and Pinecone Serverless](notes-pinecone.md): This document serves as a quick tutorial on how to use [Pinecone](https://www.pinecone.io/) - [Portkey Integration](notes-portkey.md): Langroid provides seamless integration with [Portkey](https://portkey.ai), a powerful AI gateway that enables you to ... - [Pydantic v2 Migration Guide](notes-pydantic-v2-migration.md): Langroid has fully migrated to Pydantic v2! All internal code now uses Pydantic v2 - [QdrantDB Resource Cleanup](notes-qdrant-resource-cleanup.md): When using QdrantDB with local storage, it's important to properly release resources - [Suppressing LLM output: quiet mode](notes-quiet-mode.md): In some scenarios we want to suppress LLM streaming output -- e.g. when doing some type of processing as part of a wo... - [Stream and capture reasoning content in addition to final answer, from Reasoning LLMs](notes-reasoning-content.md): As of v0.35.0, when using certain Reasoning LLM APIs (e.g.`deepseek/deepseek-reasoner`): - [Structured Output](notes-structured-output.md): Available in Langroid since v0.24.0. - [Task Termination in Langroid](notes-task-termination.md): When building agent-based systems, one of the most critical yet challenging aspects is determining when a task should... - [TaskTool: Spawning Sub-Agents for Task Delegation](notes-task-tool.md): `TaskTool`allows agents to **spawn sub-agents** to handle specific tasks. When an agent encounters a task that requi... - [**Using Tavily Search with Langroid**](notes-tavily-search.md): 1. **Access Tavily Platform** - [Tool Message Handlers in Langroid](notes-tool-message-handler.md): Langroid provides flexible ways to define handlers for`ToolMessage`classes. When a tool is used by an LLM, the fram... - [Firecrawl and Trafilatura Crawlers Documentation](notes-url-loader.md): `URLLoader`uses`Trafilatura`if not explicitly specified - [**Using WeaviateDB as a Vector Store with Langroid**](notes-weaviate.md): 1. **Access Weaviate Cloud Console** - [XML-based Tools](notes-xml-tools.md): Available in Langroid since v0.17.0. - [Augmenting Agents with Retrieval](quick-start-chat-agent-docs.md): !!! tip "Script in`langroid-examples`" - [A chat agent, equipped with a tool/function-call](quick-start-chat-agent-tool.md): !!! tip "Script in`langroid-examples`" - [A simple chat agent](quick-start-chat-agent.md): !!! tip "Script in`langroid-examples`" - [Index](quick-start.md): In these sections we show you how to use the various components of - [Llm Interaction](quick-start-llm-interaction.md): !!! tip "Script in`langroid-examples`" - [Multi-Agent collaboration via Task Delegation](quick-start-multi-agent-task-delegation.md): Let's say we want to develop a complex LLM-based application, for example an application - [Setup](quick-start-setup.md): Ensure you are using Python 3.11. It is best to work in a virtual environment: - [Three-Agent Collaboration, with message Routing](quick-start-three-agent-chat-num-router.md): !!! tip "Script in`langroid-examples`" - [Three-Agent Collaboration](quick-start-three-agent-chat-num.md): !!! tip "Script in`langroid-examples`" - [Two-Agent Collaboration](quick-start-two-agent-chat-num.md): !!! tip "Script in`langroid-examples`" - [A quick tour of Langroid](tutorials-langroid-tour.md): This is a quick tour of some Langroid features. For a more detailed guide, - [Options for accessing LLMs](tutorials-llm-usage-options.md): This is a work-in-progress document. It will be updated frequently. - [Setting up a Local/Open LLM to work with Langroid](tutorials-local-llm-setup.md): !!! tip "Examples scripts in [`examples/`](https://github.com/langroid/langroid/tree/main/examples) directory." - [Using Langroid with Non-OpenAI LLMs](tutorials-non-openai-llms.md): Langroid was initially written to work with OpenAI models via their API. - [Chat with a PostgreSQL DB using SQLChatAgent](tutorials-postgresql-agent.md): The [`SQLChatAgent`](../reference/agent/special/sql/sql_chat_agent.md) is - [Langroid Supported LLMs and Providers](tutorials-supported-models.md): Langroid supports a wide range of Language Model providers through its