v0.1.13 Release Notes
Highlight: MongoDB Vector Store Integration
We're excited to announce full MongoDB vector store support, one of our most requested features!
- Complete MongoDB vector store implementation with production-ready features
- Comprehensive documentation and examples
- Containerized testing suite for reliability
- Upgraded to mongo-go-driver v2.0.0 for improved performance
- Thanks to @prestonvasquez for this significant contribution!
Major Features & Improvements
- Added Mistral embeddings support with PGVector example by @mathiasb
- Added Perplexity AI tool integration by @sklinkert
- Added support for OpenAI structured output and image+text content by @lifejwang11
- Added fake LLM package for testing by @devalexandre
Provider Updates
OpenAI
- Reflected max_token field deprecation
- Added completion_tokens_details to usage response
- Added reasoning tokens support for both regular and streaming responses
- Added O1-preview example and documentation
Google AI
- Added system instructions support for Vertex
- Added JSONMode and ResponseMIMEType support
- Improved test resilience for model randomness
Anthropic
- Added beta header support
- Improved error event type handling
Mistral
- Updated dependency version
- Added support for default llms.WithTools implementation
DeepSeek
- Added ReasoningContent field for reasoner model by @semioz
Breaking Changes
- Upgraded to mongo-go-driver v2.0.0
- Replaced deprecated agents.Initialize in examples
Detailed Changelog
What's Changed
- googleai: add support for system instructions in vertex too by @eliben in #930
- googleai: refactor shared test a bit and make it more resilient to model randomness by @eliben in #936
- googleai: update dependency version by @eliben in #939
- anthropic: add support for beta header by @tmc in #967
- anthropic: add improved handling of other error event types by @tmc in #1012
- openai: reflect max_token field deprecation by @tmc in #1013
- openai: add completion_tokens_details to usage response by @tmc in #1014
- openai: add reasoning tokens to usage response by @tmc in #1015
- openai: add reasoning tokens to streaming response by @tmc in #1016
- examples: add openai o1-preview example by @tmc in #1017
- examples: improve o1 readme by @tmc in #1020
- examples: update to v0.1.13-pre.0 by @tmc in #1021
- llms: fix unkeyed fields in GenerateFromSinglePrompt struct by @iocron in #926
- ci: upgrade golangci lint version by @wangjiancn in #928
- examples: add perplexity completion example by @sklinkert in #977
- agents: optimize the mrkl prompt by @Alan796 in #976
- docs: fix Type method missing from OutputParser by @chxru in #972
- outputparser: improve BooleanOutputParser by @amitaifrey in #978
- outputparser: improve DefinedOutputParser by @amitaifrey in #980
- textsplitter: add option to join table rows by @corani in #981
- googleai: add support for JSONMode and ResponseMIMEType by @mheck136 in #984
- openai: add support for sending structured output request for chat completions api by @takeyamakenta in #986
- redisvector: fix score threshold option by @acrmp in #1003
- milvus: add skipFlushOnWrite option by @fatedier in #992
- outputparser: use strings.Cut in structured parser by @anuraaga in #997
- examples: replace deprecated agents.Initialize by @treywelsh in #1009
- bedrock: fix unchecked error when stream channel is closed by @lucaronca in #998
- llms: add fake package by @devalexandre in #935
- examples: update pgvector README to use compose v2 by @elnoro in #969
- llms/mistral: add support for default WithTools implementation by @douglarek in #970
- vectorstores: add mongovector by @prestonvasquez in #1005
- lint: fix settings and refactor package by @tmc in #1018
- vectorstores: fix cosine similarity score calculation by @avi3tal in #1048
- internal: fix data races by @nktks in #1080
- tools: add perplexity AI by @sklinkert in #1061
- vectorstores/weaviate,pinecone: do not return error when zero documents are retrieved by @mdelapenya in #1077
- examples: add OpenAI json structured example by @lifejwang11 in #1098
- textsplitter: add optional lenFunc to MarkdownTextSplitter by @pedramr in #1096
- llms/mistral: implement embeddings.EmbedderClient for Mistral and add PGVector example by @mathiasb in #1086
- vectorstores/weaviate: fix client creator by @taigrr in #1109
- examples: add image and text content example for openai by @lifejwang11 in #1099
- test: containerize mongovector tests by @prestonvasquez in #1025
- deps: update mistral go version by @fstau in #1102
- deps: upgrade to mongo-go-driver v2.0.0 by @prestonvasquez in #1087
- docs: update Discord invite link in README by @danielmerja in #1118
- docs: add mongovector README and example by @prestonvasquez in #1063
- llms/deepseek: add ReasoningContent field for reasoner model by @semioz in #1121
- docs: fix documentation publishing by @FluffyKebab in #1123
- docs: fix artifact upload in documentation publishing by @FluffyKebab in #1124
New Contributors
- @iocron made their first contribution in #926
- @Alan796 made their first contribution in #976
- @chxru made their first contribution in #972
- @amitaifrey made their first contribution in #978
- @mheck136 made their first contribution in #984
- @takeyamakenta made their first contribution in #986
- @acrmp made their first contribution in #1003
- @anuraaga made their first contribution in #997
- @treywelsh made their first contribution in #1009
- @lucaronca made their first contribution in #998
- @prestonvasquez made their first contribution in #1005
- @avi3tal made their first contribution in #1048
- @nktks made their first contribution in #1080
- @lifejwang11 made their first contribution in #1098
- @pedramr made their first contribution in #1096
- @mathiasb made their first contribution in #1086
- @taigrr made their first contribution in #1109
- @fstau made their first contribution in #1102
- @danielmerja made their first contribution in #1118
Full Changelog: v0.1.12...v0.1.13