Releases: davidmigloz/langchain_dart
v0.0.13
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
langchain_pinecone
-v0.0.3
langchain_chroma
-v0.0.4
langchain_google
-v0.0.8
langchain
- v0.0.13
- FEAT: Implement LangChain Expression Language (LCEL) (#163). (85ea41af)
- Check out the LangChain Expression Language documentation.
- FEAT(output-parsers): Add support for StringOutputParser (#164). (ee29e99a)
- FEAT(output-parsers): Add support for JsonOutputFunctionsParser (#165). (66c8e644)
- FEAT(chains): Support custom doc prompt in StuffDocumentsQAChain (#157). (faa9d2d7)
langchain_openai
- v0.0.13
langchain_pinecone
- v0.0.3
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
2023-09-05
What's new?
-
✨ (breaking)
VertexAI
andChatVertexAI
now allows you to definedefaultOptions
(like temperature), but you can always override them when calling the model using theoptions
parameter. In this way, you don't need to create a new instance if you just want to change some option. -
✨
VertexAI
andChatVertexAI
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
andtitle
parameters inVertexAIEmbeddings
- 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 aList<Document>
instead ofList<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
2023-08-31
What's new?
-
🆕 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
inOpenAI
andChatOpenAI
to help OpenAI monitor and detect abuse.- Check out the OpenAI docs for more details.
-
🔧 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 useVectorStore
instead. -
🔧 Because of that,
VectorStoreRetrieverMemory
is now renamed toVectorStoreMemory
and it takes aVectorStore
instead of aVectorStoreRetriever
. -
🐛 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_google
-v0.0.6
langchain_openai
-v0.0.11
langchain_chroma
-v0.0.2
vertex_ai
-v0.0.6
chromadb
-v0.0.2
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
New Contributors
📣 Check out the #announcements channel in the LangChain.dart Discord server for more details.
v0.0.10
2023-08-27
What's new?
-
🆕 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.:
- You can easily use your fine-tuned model with LangChain.dart by passing your model name in the
final chat = ChatOpenAI(
apiKey: '...',
model: 'ft:gpt-3.5-turbo-0613:langchain::7qTVM5AR',
);
Changes
Packages with changes:
New packages:
langchain
- v0.0.10
- DOCS: Update readme. (b61eda5b)
langchain_google
- v0.0.5
langchain_openai
- v0.0.10
- DOCS: Update readme. (b61eda5b)
langchain_chroma
- v0.0.1
vertex_ai
- v0.0.5
chromadb
- v0.0.1
v0.0.9
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
- DOCS: Update changelog. (b211ab47)
vertex_ai
- v0.0.4
v0.0.8
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
langchain_openai
- v0.0.8
vertex_ai
- v0.0.3
v0.0.7
2023-08-16
Changes
Packages with changes:
langchain
- v0.0.7
langchain_google
- v0.0.2
langchain_openai
- v0.0.7
- Updated
langchain
dependency
vertex_ai
- v0.0.2
v0.0.6
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
New Contributors
- @mirkancal made their first contribution in #110
v0.0.5+1
2023-08-09
Changes
Packages with changes:
langchain
- v0.0.5+1
langchain_openai
- v0.0.5+1
v0.0.5
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)