Skip to content

Releases: davidmigloz/langchain_dart

v0.0.13

18 Sep 20:47
edd8f65
Compare
Choose a tag to compare

2023-09-17

What's new?

LangChain Expression Language (LCEL)

LangChain was born from the idea of composing LLMs, be it constructing inputs to LLMs, parsing LLM outputs, or chaining multiple LLMs in sequence.

We've offered pre-built chains like LLMChain, RetrievalQAChain or SummarizeChain that package up the most common combinations. But assembling custom chains wasn't as easy as we wanted, so we're changing that today!

Here's an example chaining together a ChatOpenAI model, a prompt template and an output parser using the pipe operator:

final model = ChatOpenAI(apiKey: openaiApiKey);

final promptTemplate = ChatPromptTemplate.fromTemplate(
  'Tell me a joke about {foo}',
);

final chain = promptTemplate | model | const StringOutputParser();

final res = await chain.invoke({'foo': 'bears'});
print(res); // Why don't bears wear shoes? Because they have bear feet!

Note: support for .batch() and .stream() is coming soon.

Check out the LangChain Expression Language documentation for more details:

Other changes:

  • New output parsers:
    • StringOutputParser
    • OutputFunctionsParser
    • JsonOutputFunctionsParser
    • JsonKeyOutputFunctionsParser
  • Support for custom document prompt in StuffDocumentsQAChain

Changes


Packages with breaking changes:

  • There are no breaking changes in this release.

Packages with other changes:


langchain - v0.0.13

langchain_openai - v0.0.13

  • FEAT: Implement LangChain Expression Language (LCEL) (#163). (85ea41af)

langchain_pinecone - v0.0.3

  • FIX(vector-stores): Update pinecone client version (#160). (d15cc576)

langchain_chroma - v0.0.4

  • Updated langchain dependency

langchain_google - v0.0.8

  • Updated langchain dependency

📣 Check out the #announcements channel in the LangChain.dart Discord server for more details.

v0.0.12

05 Sep 13:15
1f89ee3
Compare
Choose a tag to compare

2023-09-05

What's new?

  • (breaking) VertexAI and ChatVertexAI now allows you to define defaultOptions (like temperature), but you can always override them when calling the model using the options parameter. In this way, you don't need to create a new instance if you just want to change some option.

  • VertexAI and ChatVertexAI now supports two new options:

    • stopSequences: specifies a list of strings that tells the model to stop generating text if one of the strings is encountered in the response.
    • candidateCount: the number of response variations to return.
  • ✨ Added support for task_type and title parameters in VertexAIEmbeddings

    • These parameters help the model produce better quality embeddings.
    • Note: these options are only available in models released in August or later.
    • Check out the docs for more details.
  • 🔧 (breaking) To support embeddings metadata (like title), Embeddings.embedDocuments now takes a List<Document> instead of List<String>.

  • 🆕 During Google Cloud Next ‘23 several new models were announced, you can already use them with LangChain.dart:

    • text-bison-32k (text model)
      • Max input and output tokens combined: 32k
      • Training data: Up to Aug 2023
    • chat-bison-32k (chat model)
      • Max input and output tokens combined: 32k
      • Training data: Up to Aug 2023
    • textembedding-gecko-multilingual (embeddings model)
      • A new embeddings model optimized for a wide range of non-English languages

Changes


Packages with breaking changes:

Packages with other changes:


langchain - v0.0.12

  • BREAKING REFACTOR(embeddings): Change embedDocuments input to List<Document> (#153). (1b5d6fbf)
  • DOCS: Acknowledge sponsors in readme. (092d94c8)
  • DOCS: Add topics to pubspecs. (8c1d6297)

langchain_google - v0.0.7

  • BREAKING FEAT(llms): Add default and call options in VertexAI and ChatVertexAI (#155). (fe1b12ea)
  • BREAKING REFACTOR(embeddings): Change embedDocuments input to List<Document> (#153). (1b5d6fbf)
  • FEAT(embeddings): Support document title in VertexAIEmbeddings (#154). (6b763731)
  • FEAT(embeddings): Support task type in VertexAIEmbeddings (#151). (8a2199e2)
  • DOCS: Add topics to pubspecs. (8c1d6297)

langchain_openai - v0.0.12

  • BREAKING REFACTOR(embeddings): Change embedDocuments input to List<Document> (#153). (1b5d6fbf)
  • DOCS: Add topics to pubspecs. (8c1d6297)

langchain_pinecone - v0.0.2

langchain_chroma - v0.0.3

  • DOCS: Add topics to pubspecs. (8c1d6297)

vertex_ai - v0.0.7

  • FEAT(vertex_ai): Add support for stopSequence and candidateCount (#150). (eab7d968)
  • FEAT(vertex_ai): Support task type and title in embeddings models (#149). (421d36bd)
  • FIX(vertex_ai): Fix typo in stop sequences field deserialization (#152). (4f7161da)
  • DOCS: Add topics to pubspecs. (8c1d6297)

chromadb - v0.0.3

  • DOCS: Add topics to pubspecs. (8c1d6297)

📣 Check out the #announcements channel in the LangChain.dart Discord server for more details.

v0.0.11

31 Aug 21:57
0762909
Compare
Choose a tag to compare

2023-08-31

What's new?

image

  • 🆕 Pinecone fully-managed vector database integration

    • You can now use Pinecone as a vector store in LangChain.dart
    • A very popular choice for building AI applications
    • It allows you to store embeddings and metadata
    • It supports different distance functions for querying
    • As well as filtering metadata using a wide range of operators
    • Check out their docs for more details!
  • ✨ Added ability to specify user in OpenAI and ChatOpenAI to help OpenAI monitor and detect abuse.

  • 🔧 Removed the ability to add documents to a vector store from a VectorStoreRetriever (as a retriever should only "retrieve" data). If you need to add data use VectorStore instead.

  • 🔧 Because of that, VectorStoreRetrieverMemory is now renamed to VectorStoreMemory and it takes a VectorStore instead of a VectorStoreRetriever.

  • 🐛 Fixed a typecast exception in the VertexAI client when the model returned a citation with a null publicationDate.

Changes


New packages:

Packages with breaking changes:

Packages with other changes:


langchain - v0.0.11

  • DOCS: Update readme. (e1b5b295)
  • BREAKING REFACTOR(vector-stores): Remove addDocuments from VectorStoreRetriever (#146). (d32a5fd9)
  • BREAKING REFACTOR(memory): Rename VectorStoreRetrieverMemory and require vector store (#145). (67af3195)

langchain_pinecone - v0.0.1

  • DOCS: Update readme. (e1b5b295)
  • DOCS: Update packages example. (4f8488fc)
  • FEAT(vector-stores): Add support for Pinecone VectorStore (#37). (e43eef97)

langchain_google - v0.0.6

  • DOCS: Update packages example. (4f8488fc)

langchain_openai - v0.0.11

  • FEAT(llms): Add ability to specify user in OpenAI and ChatOpenAI (#143). (457ab54e)
  • DOCS: Update packages example. (4f8488fc)

langchain_chroma - v0.0.2

vertex_ai - v0.0.6

  • FIX(vertex_ai): typecast exception when null publicationDate (#148). (d4afc131)
  • DOCS: Update packages example. (4f8488fc)

chromadb - v0.0.2

  • REFACTOR(chromadb): Update generated Chroma API client (#142). (4f0e7379)

New Contributors


📣 Check out the #announcements channel in the LangChain.dart Discord server for more details.

v0.0.10

27 Aug 21:59
51ffec7
Compare
Choose a tag to compare

2023-08-27

What's new?

image

  • 🆕 Chroma open-source embedding database integration

    • You can now use Chroma as a vector store in LangChain.dart
    • You can run Chroma locally or remotely in your cloud provider
    • It allows you to store embeddings, metadata and the content of your documents
    • It supports different distance functions for querying
    • As well as filtering metadata and document content using a wide range of operators
    • Check out their docs for more details!
  • 📰 New package: chromadb

    • A Dart client for the Chroma API (used internally in LangChain.dart)
    • If you don't want to use LangChain.dart, you can use this package to interact with Chroma directly
  • ✨ OpenAI announced support for fine-tuning GPT-3.5 Turbo models

    • You can easily use your fine-tuned model with LangChain.dart by passing your model name in the ChatOpenAI wrapper.
    • This generally takes the form of ft:{OPENAI_MODEL_NAME}:{ORG_NAME}::{MODEL_ID}. Eg.:
final chat = ChatOpenAI(
  apiKey: '...', 
  model: 'ft:gpt-3.5-turbo-0613:langchain::7qTVM5AR',
);

Changes


Packages with changes:

New packages:


langchain - v0.0.10

langchain_google - v0.0.5

langchain_openai - v0.0.10

langchain_chroma - v0.0.1

  • FEAT(vector-stores): Add support for Chroma VectorStore (#139). (098783b4)

vertex_ai - v0.0.5

chromadb - v0.0.1

  • FEAT(chromadb): Add Chroma embedding database API client (#140). (5fdcbc52)

v0.0.9

23 Aug 18:09
66ca19a
Compare
Choose a tag to compare

2023-08-23

Changes


Packages with changes:


langchain - v0.0.9

  • FEAT(vector-stores): Allow to pass vector search config (#135). (5b8fa5a3)
  • FEAT(vector-stores): Support filtering in MemoryVectorStore (#137). (84da480f)
  • DOCS: Fix API documentation errors (#138). (1aa38fce)

langchain_google - v0.0.4

  • FEAT(vector-stores): Allow to pass vector search config (#135). (5b8fa5a3)
  • FEAT(vector-stores): Support filtering in VertexAI Matching Engine (#136). (768c6987)
  • DOCS: Fix API documentation errors (#138). (1aa38fce)

langchain_openai - v0.0.9

vertex_ai - v0.0.4

v0.0.8

19 Aug 15:00
2965db8
Compare
Choose a tag to compare

2023-08-19

Changes


Packages with changes:


langchain - v0.0.8

  • FEAT(storage): Add support for LocalFileStore (#132). (2c508dce)
  • FEAT(embeddings): Add support for CacheBackedEmbeddings (#131). (27d8b777)
  • FEAT(embeddings): Add FakeEmbeddings testing model (#130). (f06920d7)
  • FEAT(storage): Add support for EncoderBackedStore (#129). (85bb3191)
  • FEAT(storage): Add support for InMemoryStore (#128). (699c0904)
  • FEAT(doc-stores): Add support for InMemoryDocStore (#127). (d9d7268d)
  • FEAT(stores): Initial vectors, ids, and delete in MemoryVectorStore (#123). (f87a738d)
  • REFACTOR: Fix Dart 3.1.0 linter issues (#125). (cc32f3f1)

langchain_google - v0.0.3

  • FEAT(vector-stores): Infeer queryRootUrl in VertexAIMatchingEngine (#133). (c5353368)

langchain_openai - v0.0.8

vertex_ai - v0.0.3

v0.0.7

16 Aug 08:42
27ee54c
Compare
Choose a tag to compare

2023-08-16

Changes


Packages with changes:


langchain - v0.0.7

  • FEAT(stores): Integrate Vertex AI Matching Engine vector store (#103). (289c3eef)

langchain_google - v0.0.2

  • FEAT(stores): Integrate Vertex AI Matching Engine vector store (#103). (289c3eef)

langchain_openai - v0.0.7

  • Updated langchain dependency

vertex_ai - v0.0.2

  • FEAT(vertex_ai): Add GCP Vertex AI Matching Engine client (#116). (2c1bbfcc)

v0.0.6

13 Aug 09:50
36490ff
Compare
Choose a tag to compare

2023-08-13

Changes


Packages with changes:

New packages:


langchain - v0.0.6

  • REFACTOR: Always await or explicitly discard Futures (#106). (989e93db)
  • FIX(chains): Fix OpenAIQAWithSourcesChain returning empty strings (#113). (6181ff8d)
  • FIX(stores): VectorStore k variable was ignored (#110). (80e61eb7)

langchain_openai - v0.0.6

  • REFACTOR: Always await or explicitly discard Futures (#106). (989e93db)
  • FIX(chains): Fix OpenAIQAWithSourcesChain returning empty strings (#113). (6181ff8d)

langchain_google - v0.0.1

  • FEAT(llms): Integrate Google Vertex AI PaLM Text model (#98). (b2746c23)
  • FEAT(chat-models): Integrate Google Vertex AI PaLM Chat Model (#99). (3897595d)
  • FEAT(embeddings): Integrate Google Vertex AI PaLM Embeddings (#100). (d777eccc)

vertex_ai - v0.0.1

  • REFACTOR(vertex-ai): Move Vertex AI client to its own package (#111). (d8aea156)

New Contributors

v0.0.5+1

09 Aug 07:08
4f4350b
Compare
Choose a tag to compare

2023-08-09

Changes


Packages with changes:


langchain - v0.0.5+1

  • DOCS(chains): Improve RetrievalQAChain API documentation (#95). (e6d0a9d3)

langchain_openai - v0.0.5+1

  • FIX(chat-models): ChatOpenAIOptions class not exported (#105). (dfd77076)
  • FIX(llms): OpenAIOptions class not exported (#104). (e50efc3d)

v0.0.5

06 Aug 11:51
68759f6
Compare
Choose a tag to compare

2023-08-06

Changes


Packages with breaking changes:

  • There are no breaking changes in this release.

Packages with other changes:


langchain - v0.0.5

  • FIX(chains): Suff and MapReduce docs chains don't handle chat messages (#92). (19182ca1)
  • FEAT(agents): Update AgentExecutor constructor to use agent's tools (#89). (3af56a45)
  • FEAT(prompts): Add MessagePlaceholder (#87). (23ee95b6)
  • DOCS: Update CONTRIBUTING.md. (5f2b9264)
  • DOCS(prompts): Fix typo in MessagePlaceholder API docs (#90). (f53e1a2b)

langchain_openai - v0.0.5

  • FIX(agents): FunctionChatMessage not saved properly in memory (#88). (d7b763de)
  • FEAT(agents): Update AgentExecutor constructor to use agent's tools (#89). (3af56a45)
  • DOCS(agents): Add example of using memory in OpenAIFunctionsAgent (#91). (898d5350)

Recurring Contributors