Releases: tmc/langchaingo
Releases · tmc/langchaingo
v0.1.13-pre.0
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
- llms: GenerateFromSinglePrompt struct literal uses unkeyed fields by @iocron in #926
- ci: upgrade golangci lint version by @wangjiancn in #928
- Add perplexity completion example by @sklinkert in #977
- agents: optimize the mrkl prompt by @Alan796 in #976
- fix(docs): 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: replaced compose v1 with compose v2 in readme for pgvector example by @elnoro in #969
- fix(mistral): supports the default llms.WithTools implementation by @douglarek in #970
- vectorstores: add mongovector by @prestonvasquez in #1005
- lint: fixup lint settings, refactor package by @tmc in #1018
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
Full Changelog: v0.1.12...v0.1.13-pre.0
v0.1.12
What's Changed
- llms/googleai: fix vertex do not return usage info by @wangjiancn in #904
- bugfix: Anthropic Function Calling by @lwlee2608 in #899
- llms/anthropic: Fix Content set incorrectly for anthropic llm requests by @JckHoe in #908
- llms/googleai: fix convert tool error by @wangjiancn in #903
- llms/googleai: Fix usage population tests, max token test, update dpep by @tmc in #910
- docs/groq: by @devalexandre in #907
- llms/watsonx: update module by @h0rv in #902
- docs: fix text_splitters mdx code example never closed by @4lxprime in #900
- textsplitter: add WithHeadingHierarchy option to markdown splitter to retain heading hierarchy in chunks by @iwilltry42 in #898
- examples: point watsonx example at current main by @tmc in #911
- outputparser: add
Defined
parser to extract a struct from LLM output by @erictse in #856 - anthropic: Improve streaming message handling in anthropic client by @tmc in #912
- googleai: Settle on GOOGLE_API_KEY for google auth env var name by @tmc in #913
- llms: Increase default tokens by @tmc in #914
- examples: Add example readmes by @tmc in #916
- examples: Improve top level readme by @tmc in #919
- anthropic: Spruce up tool calling example by @tmc in #921
- examples: point to 0.1.12-pre.0 by @tmc in #922
New Contributors
- @JckHoe made their first contribution in #908
- @4lxprime made their first contribution in #900
- @iwilltry42 made their first contribution in #898
- @erictse made their first contribution in #856
Full Changelog: v0.1.11...v0.1.12
v0.1.11
What's Changed
- llms: add watsonx by @h0rv in #577
- pgvector restore WithConnectionURL option by @tmc in #832
- examples: Update to v0.1.10 by @tmc in #833
- agents:
GetTools
added toAgent
interface by @AugustDev in #831 - examples: add redis vectorstore example by @CrazyWr in #834
- llms/googleai: batch embedding calls by @johanbrandhorst in #825
- fix: better handling of errors in openai-like streaming messages by @douglarek in #839
- llms/googleai: upgrade genai SDKs and fix build issue vs. new version by @eliben in #854
- fix: handle nil pointer exception in chat_prompt_template by @ankitraj2330 in #879
- httputil: debug transport layer by @AugustDev in #845
- llms: Add improved yaml and json marshaling by @tmc in #880
- tools: Improve tool choice population and parsing by @tmc in #883
- memory: move mongo chat history into the separate module by @CrazyWr in #843
- llms: Tidy up marshaling by @tmc in #884
- anthropic: Add tool/function calling support by @lwlee2608 in #882
- milvus_vectorstore: store metadata with JSON data type & support search with filter by @CrazyWr in #844
- readme: add scheme to vectorstores/chroma URL by @codefromthecrypt in #846
- llms: Fix ErrIncompleteEmbeddings Message Typos by @wgeorgecook in #872
- googleai: add support for array type in convertToolSchemaType by @johnknott in #865
- marita: update Authorization by @devalexandre in #864
- Fix typos map key value of the modelToContextSize by @zhanluxianshen in #874
- memory: Add Zep Cloud integration by @paul-paliychuk in #746
- openai: add the field
detail
in ImageURLContent struct by @douglarek in #853 - weaviate: Fix up weaviate tests by @tmc in #885
- deps: clean up direct dep on zerolog by @tmc in #886
- googleai: Fix: Resolve Type Error in googleai convertTools by @wangjiancn in #888
- openai: enable optional return of usage data while streaming by @wangjiancn in #887
- llms/googleai: Support more
option.ClientOption
and update google ai sdk by @wangjiancn in #841 - googleai: Remove unused err, fix typo by @tmc in #891
- examples: Correct API key usage for Groq integration by @Ashad001 in #893
- ollama: Fix JSON format bug issue when not streaming by @doslindos in #892
New Contributors
- @h0rv made their first contribution in #577
- @johanbrandhorst made their first contribution in #825
- @ankitraj2330 made their first contribution in #879
- @lwlee2608 made their first contribution in #882
- @codefromthecrypt made their first contribution in #846
- @wgeorgecook made their first contribution in #872
- @johnknott made their first contribution in #865
- @zhanluxianshen made their first contribution in #874
- @paul-paliychuk made their first contribution in #746
- @wangjiancn made their first contribution in #888
- @Ashad001 made their first contribution in #893
- @doslindos made their first contribution in #892
Full Changelog: v0.1.10...v0.1.11-pre.0
v0.1.10
What's Changed
- examples: fix openai toolcall example after refactor by @eliben in #783
- googleai: implement tool support by @eliben in #794
- googleai: support tool calls in googleai/vertexai by @eliben in #795
- googleai: add example of tool calling by @eliben in #796
- examples: update langchaingo to v0.1.9 by @tmc in #800
- llms: add llama3 models to bedrock by @semioz in #805
- examples: Specify embedding model when instantiating LLM in Pinecone example code by @nikhilnarayanan623 in #816
- feat: support gemini pro system prompt by @douglarek in #814
- scraper: fix concurrent scraped links map access by @vdpoora in #813
- ernie: Remove ERNIE-Bot-8K Model by @sxk10812139 in #812
- llms: llms/googleai/option.go With methods added that was not implemented yet by @Mannetjie in #808
- openai: Add metadata fields in OpenAI calls by @lowjiansheng in #811
- llms: Add usability methods to parts types by @tmc in #818
- memory: Add mongodb memory implementation by @CrazyWr in #810
- examples: Add groq completion example by @sklinkert in #804
- embeddings: Add Jina by @devalexandre in #809
- bugfix: incorrect error return in applyClientOptions function by @0xd219b in #807
- feat: bedrock anthropic stream support by @douglarek in #821
- vectorstores/pgvector: support both pgx and pgxpool. by @joeychilson in #802
- memory: add sqlite3 backend by @mvrilo in #798
- embeddings: add voyageai embedder by @joeychilson in #792
- agent: Update openai agent tool calling (#765) by @txfsxq in #772
- llms: Maritaca AI by @devalexandre in #762
- vectorstores: add redisvector implementation by @CrazyWr in #777
- feat: add WithKeepSeparator option for RecursiveCharacter by @zhangi in #721
- docs: re-add llamafile example by @devalexandre in #693
- openai: add toolcalls support when streaming by @ChrisCPoirier in #763
New Contributors
- @nikhilnarayanan623 made their first contribution in #816
- @douglarek made their first contribution in #814
- @vdpoora made their first contribution in #813
- @Mannetjie made their first contribution in #808
- @lowjiansheng made their first contribution in #811
- @sklinkert made their first contribution in #804
- @0xd219b made their first contribution in #807
- @txfsxq made their first contribution in #772
- @zhangi made their first contribution in #721
- @ChrisCPoirier made their first contribution in #763
Full Changelog: v0.1.9...v0.1.10
v0.1.9
What's Changed
- googleai: vertex - upgrade dep version and increase default max tokens by @eliben in #742
- googleai: combine options for googleai and vertex by @eliben in #743
- googleai: add safety/harm threshold settings by @eliben in #744
- github: update lint workflow to newer version of Go by @eliben in #745
- vectorstores/milvus: Update testcontainer image by @devalexandre in #741
- tools/sqldataase: update postgres image by @devalexandre in #740
- chains: Update mysql testcontainer image by @devalexandre in #739
- vectorstores/qdrant: Update testcontainer image by @devalexandre in #737
- doc: fix typo by @XiaoConstantine in #758
- examples: clarify openai-function-call-example by @eliben in #751
- schema: move Chat* types to llms by @eliben in #757
- examples: remove 'replace' lines in go.mod files by @eliben in #782
- schema: remove leftover doc comment part by @eliben in #784
- vectorstores/pinecone: update to latest v0.4.1 by @andrewyang17 in #789
- llms/openai: Fixed no response when streaming func with tools calling by @shawti in #788
- llms/ollama: support 'keep_alive' parameter by @CrazyWr in #787
- fix: fix example path by @LooJee in #780
- tools: serpapi api key option by @AugustDev in #773
- Fix OpenAI createChat bug by @Pramodh-G in #759
- docs: resolve rendering issue with code block in getting started docs by @schneedotdev in #754
New Contributors
- @XiaoConstantine made their first contribution in #758
- @andrewyang17 made their first contribution in #789
- @CrazyWr made their first contribution in #787
- @LooJee made their first contribution in #780
- @AugustDev made their first contribution in #773
- @Pramodh-G made their first contribution in #759
- @schneedotdev made their first contribution in #754
Full Changelog: v0.1.8...v0.1.9
v0.1.8
What's Changed
- Improvements on agents package API by @haochunchang in #551
- llms: add caching functionality for Models by @corani in #564
- httputil: Add httputil package to provide some common helpers by @tmc in #702
- examples: Use new debugging helper in example by @tmc in #703
- examples: Fix up import in openai debugging example by @tmc in #704
- tests: Perform env-var checking skips sooner as to speed up tests by @tmc in #706
- llms/anthropic: adds full support for messages api by @joeychilson in #707
- llms/bedrock: Fixed error when using Claude3 model and giving MessageContent with images by @mashiike in #713
- readme: Include contributors by @tmc in #714
- llms/cloudflare: Implement Cloudflare Workers AI LLM by @rajaiswal in #679
- add new example for OCR using Claude3's Vision feature with Bedrock by @mashiike in #715
- llms: Add mistral hosted inference llm implementation by @aannirajpatel in #717
- vectorstores/weaviate: Update testcontainer image by @tmc in #719
- tooling: Update minimum go version to 1.22, update golangci-lint by @tmc in #722
- openai: Render single text content parts directly by @tmc in #734
- all: set explicit 1.22 version in go.mod by @eliben in #727
- googleai: increase default max tokens setting by @eliben in #726
- examples: Fix and tidy examples, add nvidia example by @tmc in #735
- llms: Implement tool calling, including parallel tool call request support by @tmc in #709
- openai: WithEmbeddingModel option is incorrectly designating the desired model to use for embedding by @devalexandre in #731
- llms: Add Seed option to all supporting backends by @devalexandre in #732
New Contributors
- @joeychilson made their first contribution in #707
- @mashiike made their first contribution in #713
- @rajaiswal made their first contribution in #679
- @aannirajpatel made their first contribution in #717
Full Changelog: v0.1.7...v0.1.8
v0.1.7
What's Changed
- llms/openai: Azure: add check for
model
parameter by @janezkenda in #691 - llms/openai: Optionally supply ResponseFormat by @shawti in #690
New Contributors
- @janezkenda made their first contribution in #691
- @shawti made their first contribution in #690
Full Changelog: v0.1.6...v0.1.7
v0.1.6
What's Changed
- feat: add new textspliter option: lenfunc by @whyiug in #609
- googleai: fix options need add default value by @Abirdcfly in #625
- chains: add test with GoogleAI by @eliben in #628
- chains: fix issue with overriding defaults in chainCallOption by @eliben in #632
- chains: Update comments, bump example dependencies and clarify chain example by @eliben in #633
- examples: Fix llm_math_chain example by @eliben in #634
- chains: fix add ignore StreamingFunc by @Abirdcfly in #639
- chore: Pinning chroma-go ahead of major new release by @tazarov in #640
- docs: Add huggingface documentation by @devalexandre in #641
- agents: Fix agent stream callback by @devinyf in #614
- feat: add JSON format option to ollama by @corani in #647
- feat: run integration tests for vector databases using testcontainers-go modules by @mdelapenya in #648
- embeddings: Add Amazon Bedrock embeddings by @sansmoraxz in #643
- vectorstores: Add support for OpenAI Organization ID header in Chroma by @AshDevFr in #646
- change mrkl-prompt to python version by @devinyf in #653
- examples: Point examples to v0.1.5 by @tmc in #656
- vectorstores: fix pgvector issues and add more test by @Abirdcfly in #617
- googleai: return err not log.Fatal when stream get error by @Abirdcfly in #663
- docs: fixup a bunch of links by @codyoss in #659
- docs: Add example about retriever by @devalexandre in #651
- Create FUNDING.yml by @tmc in #669
- docs: Add documentation for splitters by @devalexandre in #649
- tool: sql_database generate sql-query filter redundant text by @devinyf in #612
- llms/anthropic: Implement WithBaseURL and WithHTTPClient for Anthropic LLM by @GRVYDEV in #671
- This example hangs if the JSON data is either marked as human or AI, it only works for me when marked as system by @timmattison in #670
- vectorstores/milvus: add WithMetricType by @chenquan in #674
- chore: Chroma dependency update by @tazarov in #676
- vectorstores/milvus: fixed the bug that the collection was created in… by @chenquan in #675
- Implementation proposal for using llamafile by @devalexandre in #677
- documentloaders: add AssemblyAI document loader by @marcusolsson in #668
- llms/bedrock: Add AWS Bedrock LLMs by @sansmoraxz in #666
New Contributors
- @tazarov made their first contribution in #640
- @devalexandre made their first contribution in #641
- @sansmoraxz made their first contribution in #643
- @AshDevFr made their first contribution in #646
- @codyoss made their first contribution in #659
- @GRVYDEV made their first contribution in #671
- @timmattison made their first contribution in #670
- @chenquan made their first contribution in #674
- @marcusolsson made their first contribution in #668
Full Changelog: v0.1.5...v0.1.6
v0.1.5
What's Changed
- docs: Fix vertex example refs by @tmc in #595
- agents: [OneShotZeroAgent] Change regex to allow multi-line inputs by @terwey in #593
- vectorstores: Added the option to specify a HNSW index for improving performance by @pieterclaerhout in #589
- callbacks: Implement logging for text types, fixes #596 by @terwey in #597
- vectorstores: fix pgvector return nothing when embedding table has ve… by @Abirdcfly in #548
- agents: improve TestConversationalWithMemory testing by @tmc in #602
- README: add link to new blog post about langchaingo by @eliben in #606
- fix: stackoverflow caused by textsplitter by @whyiug in #608
- chroma: update chroma-go functions to pass context by @dddbliss in #610
- tools: run integration tests with testcontainers-go by @mdelapenya in #519
- llms: Remove omitempty from temperature params by @tmc in #621
New Contributors
Full Changelog: v0.1.4...v0.1.5
v0.1.4
What's Changed
- Add GenerationInfo to GenerateContent by @eliben in #488
- Clean up GeneratePrompt -- unused code, and simplify caller by @eliben in #489
- fix unmarshalling of chatmessage by @ctrlaltdel121 in #491
- feature: add new gemini llm supporting new experimental interface by @mrothroc in #497
- Add Ollama test and remove custom prompt for chat by @eliben in #495
- ollama: Clean up Ollama options by @eliben in #496
- googleai: set up options and embeddings by @eliben in #498
- Extend Model / GenerateContent interface to support multi-content chats by @eliben in #500
- Add multi-turn tests for new GenerateContent capabilities by @eliben in #501
- ollama: implement Model interface with GenerateContent by @eliben in #502
- Test streaming support in GenerateContent in openai and ollama by @eliben in #503
- googleai: implement streaming and some generation options by @eliben in #504
- Add function invocation into GenerateContent responses by @eliben in #512
- googleai: fix streaming termination by @eliben in #515
- Add callback handler method for GenerateContent start and end by @eliben in #514
- Finalize the majority of the model/LLM interface refactoring by @eliben in #521
- all: clean up now unused types Generation and LLMResult by @eliben in #523
- all: clean up and update comments by @eliben in #524
- docs: add example to embeddings by @haochunchang in #518
- Deprecate the LLM interface by @eliben in #525
- googleai: fix test comparisons to use case-insensitive regexps by @eliben in #528
- googleai: add more model parameters and update comments by @eliben in #529
- googleai: move downloadImageData to separate file by @eliben in #530
- Link to LangChain Python (deserves credit) by @carsonkahn-external in #509
- vectorstores: Weaviate make additional fields configurable by @jvgrootveld in #522
- ollama: add WithHttpClient option by @elnoro in #505
- googleai: propagate more options and add test by @eliben in #532
- llms: configure multiple response candidates for models that support them by @eliben in #533
- vectorstores: added pgvector example by @elnoro in #534
- weaviate: add option to deduplicate documents while adding by @corani in #527
- weaviate: honor vectorstores.WithEmbedder by @corani in #526
- vectorstores: pgvector add option WithConn by @Abirdcfly in #499
- memory: fix cutMessages in ConversationWindowBuffer by @Abirdcfly in #506
- textsplitter: render code blocks and reference links by @corani in #493
- templates: Add f-string based templating implementation by @chyroc in #479
- agents: add openai functions agent by @lujingxuansc in #459
- bug fix: openai_functions_agent not compatible with the new llms.Model interface by @devinyf in #536
- llms: rename convenience function to GenerateFromSinglePrompt by @eliben in #537
- googleai: test GenerateFromSinglePrompt convenience function by @eliben in #538
- docs: add pgvector page by @elnoro in #535
- googleai: add initial Vertex (GCP) implementation of Model by @eliben in #540
- googleai: move the PaLM provider into googleai by @eliben in #541
- embeddings: add cybertron local embeddings by @corani in #531
- googleai: add embeddings to vertex by @eliben in #546
- googleai: refactor to better separate generated code by @eliben in #547
- huggingface: allows to set custom inference endpoint by @mheers in #545
- cybertron: add example for cybertron embeddings by @corani in #543
- Move utility function by @eliben in #552
- googleai: add codegen tool to generate vertex.go from googleai.go by @eliben in #553
- googleai: clean up comments and order files with consistent naming by @eliben in #554
- llms: officially deprecate Call method on the interface by @eliben in #555
- llms: Add convenience helper for text parts by @tmc in #549
- feat: Added Qdrant vectorstore support by @Anush008 in #544
- googleai: rename constructors to New for consistency by @eliben in #570
- llms: convenience methods to create Parts by @eliben in #571
- embeddings: fix variable typo in huggingface_test by @ion232 in #569
- vectorstores: Wrapped the PGVector store init function in a single transaction by @pieterclaerhout in #563
- vectorstores: Added a unique constraint for the collection name when using PGVector by @pieterclaerhout in #559
- vectorstores: Added an option to PGVector to set the collection metadata by @pieterclaerhout in #557
- docs: add example and update conceptual guide URL for agents by @haochunchang in #539
- examples: add new vertex and googleai examples by @eliben in #572
- docs: qdrant-examples by @Anush008 in #568
- vectorstores: Implemented support for deduplicating documents when adding for PGVector by @pieterclaerhout in #566
- Update openai examples to new APIs by @eliben in #573
- examples: use llms.TextPart helper when it's useful by @eliben in #574
- bump examples dependency to v0.1.4-alpha.0 by @eliben in #575
- examples: update all to new llms interfaces by @eliben in #576
- vertex: add tests by @eliben in #582
- googleai: share tests between the two main providers by @eliben in #584
- googleai: add tests by @eliben in #586
- vectorstores: Added the missing comment on the exported WithCollectionMetadata function by @pieterclaerhout in #578
- vectorstores: Added an option to specify the vector dimensions for the embeddings by @pieterclaerhout in #579
- googleai: add test with BinaryPart image by @eliben in #587
- readme: update example with non-deprecated call by @eliben in #588
- vectorstores: Removed the custom ID option for embeddings when using PGVector by @pieterclaerhout in #590
New Contributors
- @ctrlaltdel121 made their first contribution in #491
- @mrothroc made their first contribution in #497
- @haochunchang made their first contribution in #518
- @carsonkahn-external made their first contribution in #509
- @jvgrootveld made their first contribution in #522
- @elnoro made their first contribution in #505
- @lujingxuansc made their first contribution in #459
- @devinyf made their first contribution in #536
- @mheers made their first contribution in #545
- @Anush008 made their first contribution in #544
- @ion232 made their first contribution in #569
- @pieterclaerhout made their first contribution in #563
Full Changelog: v0.1.3...v0.1.4