- Fix vectorsearch#ask methods
- Bump cohere-ruby gem
- Add support for new OpenAI models
- Add Ollama#chat method
- Fix and refactor of
Langchain::LLM::Ollama
, responses can now be streamed.
- Introducing new
Langchain::Assistant
that will be replacingLangchain::Conversation
andLangchain::Agent
s. Langchain::Conversation
is deprecated.
- Introducing new
Langchain::Chunker::Markdown
chunker (thanks @spikex) - Fixes
- Support for Epsilla vector DB
- Fully functioning Google Vertex AI LLM
- Bug fixes
- [BREAKING] Updated llama_cpp.rb to 0.9.4. The model file format used by the underlying llama.cpp library has changed to GGUF. llama.cpp ships with scripts to convert existing files and GGUF format models can be downloaded from HuggingFace.
- Introducing Langchain::LLM::GoogleVertexAi LLM provider
- Fixes
- AWS Bedrock is available as an LLM provider. Available models from AI21, Cohere, AWS, and Anthropic.
- LLM response passes through the context in RAG cases
- Fix gpt-4 token length validation
- Azure OpenAI LLM support
- Ragas evals tool to evaluate Retrieval Augmented Generation (RAG) pipelines
- BREAKING: Moving Rails-specific code to
langchainrb_rails
gem
- Elasticsearch vector search support
- Fix
lib/langchain/railtie.rb
not being loaded with the gem
- Introduce `Langchain::LLM::Response`` object
- Introduce
Langchain::Chunk
object - Add the ask() method to the Langchain::ActiveRecord::Hooks
- Bump weaviate and chroma-db deps
Langchain::Chunker::Semantic
chunker- Re-structure Conversations class
- Bug fixes
- HyDE-style similarity search
Langchain::Chunker::Sentence
chunker- Bug fixes
- Bump weaviate-ruby gem version
- Ollama support
- Add
find
method toLangchain::Vectorsearch::Qdrant
- Enhance Google search output
- Raise ApiError when OpenAI returns an error
- Update OpenAI
complete
method to use chat completion api- Deprecate legacy completion models. See https://platform.openai.com/docs/deprecations/2023-07-06-gpt-and-embeddings
- Add
k:
parameter to allask()
vector search methods - Bump Faraday to 2.x
- π£οΈ LLMs
- Introducing Anthropic support
- Support for OpenAI functions
- Streaming vectorsearch ask() responses
- Langchain::Chunker::RecursiveText
- Fixes
- π£οΈ LLMs
- Introducing Llama.cpp support
- Langchain::OutputParsers::OutputFixingParser to wrap a Langchain::OutputParser and handle invalid response
- Fix
Langchain::Vectorsearch::Qdrant#add_texts()
- Introduce
ConversationMemory
- Allow loading multiple files from a directory
- Add
get_default_schema()
,create_default_schema()
,destroy_default_schema()
missing methods toLangchain::Vectorsearch::*
classes
- Add #destroy_default_schema() to Langchain::Vectorsearch::* classes
- Qdrant, Chroma, and Pinecone are supported by ActiveRecord hooks
- Adding support to hook vectorsearch into ActiveRecord models
- [BREAKING] Rename
ChainOfThoughtAgent
toReActAgent
- Implement A21 token validator
- Add
Langchain::OutputParsers
- Developer can modify models used when initiliazing
Langchain::LLM::*
clients - Improvements to the
SQLQueryAgent
and the database tool
- If used with OpenAI, Langchain::Conversation responses can now be streamed.
- Improved logging
- Langchain::Tool::SerpApi has been renamed to Langchain::Tool::GoogleSearch
- JSON prompt templates have been converted to YAML
- Langchain::Chunker::Text is introduced to provide simple text chunking functionality
- Misc fixes and improvements
- [BREAKING] Rename
Langchain::Chat
toLangchain::Conversation
- π οΈ Tools
- Introducing
Langchain::Tool::Weather
, a tool that calls Open Weather API to retrieve the current weather
- Introducing
- π Vectorsearch
- Introducing support for HNSWlib
- Improved and new
Langchain::Chat
interface that persists chat history in memory
- π£οΈ LLMs
- Chat message history support for Langchain::LLM::GooglePalm and Langchain::LLM::OpenAI
- π£οΈ LLMs
- Auto-calculate the max_tokens: setting to be passed on to OpenAI
- π οΈ Tools
- Modified Tool usage. Agents now accept Tools instances instead of Tool strings.
- [BREAKING] LLMs are now passed as objects to Vectorsearch classes instead of
llm: :name, llm_api_key:
previously - π Prompts
- YAML prompt templates are now supported
- π Loaders
- Introduce
Langchain::Processors::Xlsx
to parse .xlsx files
- Introduce
- π£οΈ LLMs
- Introducing support for AI21
- Better docs generation
- Refactors
- Beautiful colored log messages
- π οΈ Tools
- Introducing
Langchain::Tool::RubyCodeInterpreter
, a tool executes sandboxed Ruby code
- Introducing
- [BREAKING] Everything is namespaced under
Langchain::
now - Pgvector similarity search uses the cosine distance by default now
- OpenAI token length validation using tiktoken_ruby
- Drop Ruby 2.7 support. It had reached EOD.
- Bump pgvector-ruby to 0.2
- π Loaders
- Support for options and block to be passed to CSV processor
- π Vectorsearch
- Not relying on Weaviate modules anymore
- Adding missing specs for Qdrant and Milvus classes
- π Loaders
- Add Langchain::Data result object for data loaders
- π£οΈ LLMs
- Add
summarize()
method to the LLMs
- Add
- π Vectorsearch
- Pgvector support
- π Loaders
- CSV loader
- JSON loader
- JSONL loader
- π Vectorsearch
- Introduce namespace support for Pinecone
- π Loaders
- Loaders overhaul
- π£οΈ LLMs
- Introducing support for Google PaLM (Pathways Language Model)
- Bug fixes and improvements
- π£οΈ LLMs
- Introducing support for Replicate.com
- π Loaders
- Introduce
Loaders::Docx
to parse .docx files
- Introduce
-
π Vectorsearch
- Introduce support for Chroma DB
-
π Loaders
- Bug fix
Loaders::Text
to only parse .txt files
- Bug fix
- π Loaders
- Introduce
Loaders::Text
to parse .txt files - Introduce
Loaders::PDF
to parse .pdf files
- Introduce
- π£οΈ LLMs
- Bump
hugging-face
gem version
- Bump
- Bug fixes
- π£οΈ LLMs
- Introducing support for HuggingFace
- Dependencies are now optionally loaded and required at runtime
- Start using
standardrb
for linting - Use the Ruby logger
- π€ Agents
- Fix Chain of Thought prompt loader
- π οΈ Tools
- Introducing
Tool::Wikipedia
, a tool that looks up Wikipedia entries
- Introducing
- π€ Agents
- Introducing
Agent::ChainOfThoughtAgent
, a semi-autonomous bot that uses Tools to retrieve additional information in order to make best-effort informed replies to user's questions.
- Introducing
- π οΈ Tools
- Introducing
Tool::Calculator
tool that solves mathematical expressions. - Introducing
Tool::Search
tool that executes Google Searches.
- Introducing
- π Prompt Templating
- Ability to create prompt templates and save them to JSON files
- Default
Prompt::FewShotPromptTemplate
- New examples added to
examples/
- Backfilling missing specs
- Initial release