LangChain
Developer(s) | Harrison Chase |
---|---|
Initial release | October 2022 |
Stable release | 0.1.16[1]
/ 11 April 2024 |
Repository | github.com/langchain-ai/langchain |
Written in | Python and JavaScript |
Type | Software framework for large language model application development |
License | MIT License |
Website | LangChain.com |
LangChain is a framework designed to simplify the creation of applications using large language models (LLMs). As a language model integration framework, LangChain's use-cases largely overlap with those of language models in general, including document analysis and summarization, chatbots, and code analysis.[2]
History
LangChain was launched in October 2022 as an open source project by Harrison Chase, while working at machine learning startup Robust Intelligence. The project quickly garnered popularity,[3] with improvements from hundreds of contributors on GitHub, trending discussions on Twitter, lively activity on the project's Discord server, many YouTube tutorials, and meetups in San Francisco and London. In April 2023, LangChain had incorporated and the new startup raised over $20 million in funding at a valuation of at least $200 million from venture firm Sequoia Capital, a week after announcing a $10 million seed investment from Benchmark.[4][5]
In the third quarter of 2023, the LangChain Expression Language (LCEL) was introduced, which provides a declarative way to define chains of actions.[6][7]
In October 2023 LangChain introduced LangServe, a deployment tool to host LCEL code as a production-ready API.[8]
Capabilities
LangChain's developers highlight the framework's applicability to use-cases including chatbots,[9] retrieval-augmented generation,[10] document summarization,[11] and synthetic data generation.[12]
As of March 2023, LangChain included integrations with systems including Amazon, Google, and Microsoft Azure cloud storage; API wrappers for news, movie information, and weather; Bash for summarization, syntax and semantics checking, and execution of shell scripts; multiple web scraping subsystems and templates; few-shot learning prompt generation support; finding and summarizing "todo" tasks in code; Google Drive documents, spreadsheets, and presentations summarization, extraction, and creation; Google Search and Microsoft Bing web search; OpenAI, Anthropic, and Hugging Face language models; iFixit repair guides and wikis search and summarization; MapReduce for question answering, combining documents, and question generation; N-gram overlap scoring; PyPDF, pdfminer, fitz, and pymupdf for PDF file text extraction and manipulation; Python and JavaScript code generation, analysis, and debugging; Milvus vector database[13] to store and retrieve vector embeddings; Weaviate vector database[14] to cache embedding and data objects; Redis cache database storage; Python RequestsWrapper and other methods for API requests; SQL and NoSQL databases including JSON support; Streamlit, including for logging; text mapping for k-nearest neighbors search; time zone conversion and calendar operations; tracing and recording stack symbols in threaded and asynchronous subprocess runs; and the Wolfram Alpha website and SDK.[15] As of April 2023, it can read from more than 50 document types and data sources.[16]
LangChain tools
Tool name | Account required? | API key required? | Licencing | Description | Features | Documentation URL |
---|---|---|---|---|---|---|
Alpha Vantage | No | Yes | Proprietary | Provides financial market data and analytics | Financial data, analytics | https://python.langchain.com/docs/integrations/tools/alpha_vantage |
Apify | No | Yes | Commercial | Web scraping and automation platform | Web scraping, automation | https://python.langchain.com/docs/integrations/tools/apify |
ArXiv | No | No | Open Source | Access to scientific papers and research | Scientific papers, research | https://python.langchain.com/docs/integrations/tools/arxiv |
AWS Lambda | Yes | Yes | Proprietary | Serverless computing service | Serverless computing | https://python.langchain.com/docs/integrations/tools/awslambda |
Bash | No | No | Open Source | Access to the shell environment | Shell environment access | https://python.langchain.com/docs/integrations/tools/bash |
Bearly Code Interpreter | No | Yes | Commercial | Remote execution of Python code | Python code execution | https://python.langchain.com/docs/integrations/tools/bearly |
Bing Search | No | Yes | Proprietary | Search engine powered by Microsoft Bing | Search engine | https://python.langchain.com/docs/integrations/tools/bing_search |
Brave Search | No | No | Open Source | Privacy-focused search engine | Privacy-focused search | https://python.langchain.com/docs/integrations/tools/brave_search |
ChatGPT Plugins | No | Yes | Proprietary | Plugins for ChatGPT language model | ChatGPT plugins | https://python.langchain.com/docs/integrations/tools/chatgpt_plugins |
Connery | No | Yes | Commercial | Action Tool Tool for performing actions using the Connery API | API actions | https://python.langchain.com/docs/integrations/tools/connery |
Dall-E Image Generator | No | Yes | Proprietary | Text-to-image generation using OpenAI's DALL-E model | Text-to-image generation | https://python.langchain.com/docs/integrations/tools/dalle_image_generator |
DataForSEO | No | Yes | Commercial | SEO data and analytics platform | SEO data, analytics | https://python.langchain.com/docs/integrations/tools/dataforseo |
DuckDuckGo Search | No | No | Open Source | Privacy-focused search engine | Search engine | https://python.langchain.com/docs/integrations/tools/ddg |
E2B Data Analysis | No | No | Open Source | Sandbox environment for running Python code for data analysis | Data analysis environment | https://python.langchain.com/docs/integrations/tools/e2b_data_analysis |
Eden AI | No | Yes | Commercial | Suite of AI tools and APIs | AI tools, APIs | https://python.langchain.com/docs/integrations/tools/edenai_tools |
Eleven Labs Text2Speech | No | Yes | Commercial | Text-to-speech API by Eleven Labs | Text-to-speech | https://python.langchain.com/docs/integrations/tools/eleven_labs_tts |
Exa Search | No | Yes | Commercial | Search engine | Search engine access | https://python.langchain.com/docs/integrations/tools/exa_search |
File System | No | No | Open Source | Tools for interacting with the local file system | File system interaction | https://python.langchain.com/docs/integrations/tools/filesystem |
Golden Query | No | Yes | Commercial | Natural language APIs for querying various services | Natural language queries | https://python.langchain.com/docs/integrations/tools/golden_query |
Google Cloud Text-to-Speech | Yes | Yes | Proprietary | Text-to-speech API by Google Cloud | Text-to-speech | https://python.langchain.com/docs/integrations/tools/google_cloud_texttospeech |
Google Drive | Yes | Yes | Proprietary | Access and manage files on Google Drive | Google Drive access | https://python.langchain.com/docs/integrations/tools/google_drive |
Google Finance | Yes | Yes | Proprietary | Access financial data from Google Finance | Financial data | https://python.langchain.com/docs/integrations/tools/google_finance |
Google Jobs | Yes | Yes | Proprietary | Search for job listings using Google Jobs API | Job search | https://python.langchain.com/docs/integrations/tools/google_jobs |
Google Lens | Yes | Yes | Proprietary | Visual search and recognition tool by Google | Visual search, recognition | https://python.langchain.com/docs/integrations/tools/google_lens |
Google Places | Yes | Yes | Proprietary | Access to Google Places API for location-based services | Location-based services | https://python.langchain.com/docs/integrations/tools/google_places |
Google Scholar | Yes | Yes | Proprietary | Search for scholarly articles using Google Scholar API | Scholarly article search | https://python.langchain.com/docs/integrations/tools/google_scholar |
Google Search | Yes | Yes | Proprietary | Search engine powered by Google | Search engine | https://python.langchain.com/docs/integrations/tools/google_search |
Google Serper | No | Yes | Commercial | Search engine results page (SERP) scraping tool | SERP scraping | https://python.langchain.com/docs/integrations/tools/google_serper |
Google Trends | Yes | Yes | Proprietary | Access to Google Trends data | Trend data | https://python.langchain.com/docs/integrations/tools/google_trends |
Gradio | No | No | Open Source | Library for creating UIs for machine learning models | Machine learning UIs | https://python.langchain.com/docs/integrations/tools/gradio_tools |
GraphQL | No | No | Open Source | Query language for APIs | API queries | https://python.langchain.com/docs/integrations/tools/graphql |
HuggingFace Hub | No | No | Open Source | Tools for working with Hugging Face models and datasets | Hugging Face models, datasets | https://python.langchain.com/docs/integrations/tools/huggingface_tools |
Human as a tool | No | No | N/A | Use human input as a tool for AI | Human input | https://python.langchain.com/docs/integrations/tools/human_tools |
IFTTT WebHooks | No | Yes | Commercial | Connect and automate various web services | Web service automation | https://python.langchain.com/docs/integrations/tools/ifttt |
Ionic Shopping | No | Yes | Commercial | Tool for shopping using the Ionic API | Shopping | https://python.langchain.com/docs/integrations/tools/ionic_shopping |
Lemon Agent | No | Yes | Commercial | Tool for interacting with the Lemon AI platform | Lemon AI interaction | https://python.langchain.com/docs/integrations/tools/lemonai |
Memorize | No | No | Open Source | Tool for memorizing information using unsupervised learning | Memorization | https://python.langchain.com/docs/integrations/tools/memorize |
Nuclia | No | Yes | Commercial | Understanding Tool for indexing unstructured data using Nuclia | Data indexing | https://python.langchain.com/docs/integrations/tools/nuclia |
OpenWeatherMap | No | Yes | Commercial | Access to weather data using OpenWeatherMap API | Weather data | https://python.langchain.com/docs/integrations/tools/openweathermap |
Polygon Stock Market API | No | Yes | Commercial | Access to stock market data using Polygon API | Stock market data | https://python.langchain.com/docs/integrations/tools/polygon |
PubMed | No | No | Open Source | Access to biomedical literature using PubMed API | Biomedical literature | https://python.langchain.com/docs/integrations/tools/pubmed |
Python REPL | No | No | Open Source | Interactive Python shell | Python shell | https://python.langchain.com/docs/integrations/tools/python |
Reddit Search | No | No | Open Source | Search for content on Reddit | Reddit search | https://python.langchain.com/docs/integrations/tools/reddit_search |
Requests | No | No | Open Source | HTTP library for making requests | HTTP requests | https://python.langchain.com/docs/integrations/tools/requests |
SceneXplain | No | No | Open Source | Tool for explaining the predictions of machine learning models | Model explanations | https://python.langchain.com/docs/integrations/tools/sceneXplain |
Search | No | No | Open Source | Collection of tools for searching and querying various services | Search tools | https://python.langchain.com/docs/integrations/tools/search_tools |
SearchApi | No | Yes | Commercial | Tool for searching and querying various APIs | API search tools | https://python.langchain.com/docs/integrations/tools/searchapi |
SearxNG | No | No | Open Source | Search Privacy-focused metasearch engine | Privacy-focused search | https://python.langchain.com/docs/integrations/tools/searx_search |
Semantic Scholar API | No | No | Open Source | tool Access to academic papers using the Semantic Scholar API | Academic paper search | https://python.langchain.com/docs/integrations/tools/semanticscholar |
SerpAPI | No | Yes | Commercial | Search engine results page (SERP) scraping tool | SERP scraping | https://python.langchain.com/docs/integrations/tools/serpapi |
StackExchange | No | No | Open Source | Access to the Stack Exchange network | Stack Exchange access | https://python.langchain.com/docs/integrations/tools/stackexchange |
Tavily Search | No | Yes | Commercial | Search engine for finding answers to questions | Question answering | https://python.langchain.com/docs/integrations/tools/tavily_search |
Twilio | No | Yes | Commercial | Communication APIs for SMS, voice, and video | Communication APIs | https://python.langchain.com/docs/integrations/tools/twilio |
Wikidata | No | No | Open Source | Access to structured data from Wikidata | Structured data access | https://python.langchain.com/docs/integrations/tools/wikidata |
Wikipedia | No | No | Open Source | Access to articles and information from Wikipedia | Wikipedia access | https://python.langchain.com/docs/integrations/tools/wikipedia |
Wolfram Alpha | No | Yes | Proprietary | Computational knowledge engine | Computational knowledge | https://python.langchain.com/docs/integrations/tools/wolfram_alpha |
Yahoo Finance News | No | Yes | Commercial | Access to financial news using Yahoo Finance API | Financial news | https://python.langchain.com/docs/integrations/tools/yahoo_finance_news |
Youtube | No | Yes | Commercial | Access to YouTube data and functionality | YouTube access | https://python.langchain.com/docs/integrations/tools/youtube |
Zapier Natural Language Actions | No | Yes | Commercial | Integration platform for automating workflows | Workflow automation | https://python.langchain.com/docs/integrations/tools/zapier |
References
- ^ "Release 0.1.16". 11 April 2024. Retrieved 23 April 2024.
- ^ Buniatyan, Davit (2023). "Code Understanding Using LangChain". Activeloop.
- ^ Auffarth, Ben (2023). Generative AI with LangChain. Birmingham: Packt Publishing. p. 83. ISBN 9781835083468.
- ^ Palazzolo, Stephanie (2023-04-13). "AI startup LangChain taps Sequoia to lead funding round at a valuation of at least $200 million". Business Insider. Archived from the original on 2023-04-18. Retrieved 2023-04-18.
- ^ Griffith, Erin; Metz, Cade (2023-03-14). "'Let 1,000 Flowers Bloom': A.I. Funding Frenzy Escalates". The New York Times. ISSN 0362-4331. Archived from the original on 2023-04-18. Retrieved 2023-04-18.
- ^ Mansurova, Mariya (2023-10-30). "Topic Modelling in production: Leveraging LangChain to move from ad-hoc Jupyter Notebooks to production modular service". towardsdatascience.com. Retrieved 2024-07-08.
- ^ "LangChain Expression Language". langchain.dev. 2023-08-01. Retrieved 2024-07-08.
- ^ "Introducing LangServe, the best way to deploy your LangChains". LangChain Blog. 2023-10-12. Retrieved 2023-10-17.
- ^ "Chatbots | 🦜️🔗 Langchain". python.langchain.com. Retrieved 2023-11-26.
- ^ "Retrieval-augmented generation (RAG) | 🦜️🔗 Langchain". python.langchain.com. Retrieved 2023-11-26.
- ^ "Summarization | 🦜️🔗 Langchain". python.langchain.com. Retrieved 2023-11-26.
- ^ "Synthetic data generation | 🦜️🔗 Langchain". python.langchain.com. Retrieved 2023-11-26.
- ^ "Milvus — LangChain". python.langchain.com. Retrieved 2023-10-29.
- ^ "Weaviate". python.langchain.com. Retrieved 2024-01-17.
- ^ Hug, Daniel Patrick (2023-03-08). "Hierarchical topic tree of LangChain's integrations" (PDF). GitHub. Archived from the original on 2023-04-29. Retrieved 2023-04-18.
- ^ "Document Loaders — LangChain 0.0.142". python.langchain.com. Archived from the original on 2023-04-18. Retrieved 2023-04-18.
External links
- Official website
- Discord server support hub
- Langchain-ai on GitHub