Releases: RobinQu/instinct.cpp
Releases · RobinQu/instinct.cpp
v0.1.5
Full Changelog: https://github.com/RobinQu/instinct.cpp/commits/v0.1.5
- Features
instinct-transformer: New bge-m3 embedding model. Generally speaking, bge-reranker and bge-embedding are still in preview as they are not fast enough for production.instinct-llm: NewJinaRerankerModelfor Reranker model API from Jina.ai.instinct-retrieval: NewDuckDBBM25Retrieverfor BM25 keyword based retriever using DuckDB's built-in function.
- Improvements
- Move example code to standalone repository: instinct-cpp-examples.
- Rename for all files for camel-case naming conventions
- Build system:
- Fix include paths for internal header files. Now all files are referenced using angle bracket pattern like
#include <instinct/...>. - Rewrite Cmake install rules.
- Run unit tests during
conan buildusingCtest.
- Fix include paths for internal header files. Now all files are referenced using angle bracket pattern like
doc-agent:- Use
retriever-versionargument in CLI to control how retriever related components are constructed. - Rewrite lifecycle control using application context
- Use
instinct-retrieval: Fix RAG evaluation. RAG pipeline withMultiPathRetrievershould get score more than 80%.
v0.1.4
Full Changelog: https://github.com/RobinQu/instinct.cpp/commits/v0.1.4
- Features
instinct-assistant:file-searchsupport. It takes a summary guided strategy inspired by RAPTOR, and follows practices adopted by OpenAI. See more at #16
. It has some limitations, please refer to #22.- new
instinct-transfomermodule that ships built-in models based on transformer. Currently, only BGE-M3-Reranker is implemented. Most code in first version implementation is refined (copied) from chatllm.cpp for quick start. instinct-retrieval:- a new
MultiPathRetrieverthat handle recalls from multiple child retrievers and score results with a reranker model. SimpleRetrieverOperatorandDuckDBVectorStoreOpeartorfor multi-instance managements.CitationAnnotatingChainandSummaryChainto support citations and summary required ininstinct-assistant.- Added a mandatory
file-sourcemetadata field to keep record of file identifier.
- a new
instinct-data:Aggregatemethod on data template class- Added
GetObjectStatemethod onIObjectStore.
instinct-core:- Added
LambdaInputParsrandLambdaOutputParserto simplify chain implementation. ManagedApplicationContextto have more delicate lifecycle managements.
- Added
- Improvements
mini-assistant:- many bug fixes in related classes.
- CLI options: we can now assign model provider separately for embedding model and chat model.
instinct-core:- Make options on chat model and embedding model optional using
std::optional. - Fix a consistency issue of
RecursiveCharacterTextSplitterwith the one inlangchain. - Better control of preloading assets of tokenizers.
- Make options on chat model and embedding model optional using
instinct-server:- fix graceful shutdown of
HttpLibServer.
- fix graceful shutdown of
- bump
duckdbto0.10.2
8bde9376fa21401cba17e3ae7a094f07fa3e11293baf2cd729a37e3e9eec0868 doc-agent_linux-amd64.tar.gz
8fad76f8c402240189817b221442b7a596b927653e36ae61d431d1b0cd3776ef doc-agent_macos-arm64.tar.gz
8042950bc8a28df375e58589423d87c77bae545d4f71d5acf1e224932cfae32f mini-assistant_linux-amd64.tar.gz
848d1e7a4a2b80c42a7348d37d0337788e67f13d745acbed3652d65b964164c8 mini-assistant_macos-arm64.tar.gz
v0.1.3
Full Changelog: https://github.com/RobinQu/instinct.cpp/commits/v0.1.3
Sorry for the delay. Hacking with new agent executor costs me more time than expected. But it's fun and enlightening. As a result, work on rerank models will delay to next release.
- Features
- New
LLMCompilerAgentExecutoras default executor inmini-assistant. Please see this notebook for evaluation results. POST /v1/threads/runsendpoint, which is missed in last release, is added.xn::steps::branchandBranchStepFunctionfor binary branch composing.
- New
- Improvements
- Migrate
instinct-labto standalone repo. Benchmarks and experimental code will be moved there. - Many fixes for typos in
mini-assistantAPI endpoints. - Add more trace logs in debug mode.
BaseChatModelandBaseLLMsupports runtime configuration withconfigure(const ModelOverrides&)method.HttpLibServerdefaults to listen0.0.0.0.
- Migrate
SHA256 digest for assests:
e0ebb75722e6eedba6c60b01a1a1938e15bd1ea043949c0e8cc97ee60fedc099 mini-assistant_linux-amd64.tar.gz
114a04e95dee7b51559fe78003c78dfd996ee2d5e035e5881f6fa16f9a6acf25 mini-assistant_macos-arm64.tar.gz
9db7fb3513b0546ce2cfaea8871a9df7437d6cbf8e8ac57edf25b4283b656cca doc-agent_linux-amd64.tar.gz
90385ddb9f3e646eda3b05c0e9b46af4cbb5b49b598bb391dff322d6172097d1 doc-agent_macos-arm64.tar.gz
v0.1.2
Full Changelog: https://github.com/RobinQu/instinct.cpp/commits/v0.1.2
- Features
- First release of
mini-assistantbinary, which provides OpenAI compatible Assistant API services. - instinct.cpp library:
instinct-coremoduleChronoUtilsfor datetime related functions.RandomUtilsfor random number generation.SnowflakeIDGeneratorfor unique ID generation.
instinct-datamodule- Data mapper classes that is built for simple ORM, with protobuf message.
- Task scheduler abstraction and in-process task queue implementation.
- Object store abstraction and local filesystem implementation.
instinct-llmmoduleOpenAIToolAgentExecutor: Agent executor based on OpenAI function calling API.
insitinct-servermodule- Error controller for
HttpLibServerandDefaultErrorControllerimplementation. HttpLibSessionstruct for route handler.
- Error controller for
- First release of
- Improvements
instinct-llmmodule- function call protocol is updated to match OpenAI's standard.
ILanguageModelhasBindToolsfunction to support function calling API.
instinct-coremodule- Exceptions are now with stacktrace generated by
cpptrace. - assertion errors now throw
ClientExceptionwhich is sublcass ofInstinctException.
- Exceptions are now with stacktrace generated by
SHA256 for assets:
cff7ddc64c37aa1fbe7a772a99ab6461f1d8cd93f802897d586586cc74b1f45d mini-assistant_macos-arm64.tar.gz
73d265ea05aa52d2bd1325c21965ad2accb629fbe218a8ba2f240b88f4a19967 mini-assistant_linux-amd64.tar.gz
872157a97a25551ed4d5768f64018aa38f6a7e3b9516286e2592687744e32bf2 doc-agent_linux-amd64.tar.gz
79c4c7b178bafa560a4a8f7721d8f8361f35e624240972d793577687ecb49368 doc-agent_macos-arm64.tar.gz
v0.1.1
Full Changelog: https://github.com/RobinQu/instinct.cpp/commits/v0.1.1
- Features
- Initial agent frameworks. See
IAgentExecutor. - Function calling: ReACT style tool agent is implemented as intial support for LLM agent. See TestReactAgent.
- Ingestor:
ParquetFileIngestorfor reading Apache Arrow parquet format.
- Utitlies:
HashUtilsfor MD5, SHA1, SHA256 hash functions.IOUtils,SystemUtilsare added.ExecuteWithCallbackandExecuteBatchare added toIHttpClient.hpp.IFileVaultandFileSystemFileVaultfor advanced file resource management.
- Initial agent frameworks. See
- Improvements
- bugfixes in
RecursiveCharacterTextSplitter, resulting better recall in RAG. - Rewrite HTTP server classes with more modular controller design.
- Code cleanup for DuckDB store classes.
- Adapt
rag_evaulation.ipynbfor Ollama and vLLM servers. Use mixtral, all-minillm as default models.
- bugfixes in
- Known issues
- CI is not ready and some tests relies on local setup. You may experience problems for building and running on your machines.
- Large PDF and long text are not tested with current
doc_agentimplementation.