Comments (5)
@calebgcc I introduced in the rabbit_hole a TextSplitter that can be customized (chunk_size and chunk_overlap). So Cat users can decide themselves how long they want their text chunks.
You find in docs
here a list of langchain Documents (which is just an object with text and metadata) to experiment with file summarization.
from core.
Increasing k is a good test, also if somebody uploads a doc and chooses a large chunk size the problem remains.
There should be a check before inserting memories in the prompt, if they are "too long" they should be summarized.
We can postpone the problem and close this issue as we are mostly covered, or if you feel like it also tackle the above.
Thanks 🙏
from core.
I closed issue #49 since this issue is more specific, we can use this issue to discuss how to further implement summarization 🙌.
About your comment in PR #52:
I can test other chain_type to see if I get the same problem with large files.
I'm going to dig a little deeper into the docs that you left (about llama-index) to understand better how to implement the custom summary chain, but if I understand correctly the basic idea is:
- get a list of strings in input
- group them in different docs
- get summary from docs (which becomes new input)
- repeat until we have one single short summary
from core.
PR #68 merged and now file uploads do summarization.
Next step is do summaries when the list of memories recalled here makes the prompt too large.
Leaving this issue open
from core.
@pieroit I was trying to trigger this error, but I think summarizing and chunking the documents solved it.
The documents that are retrieved from the cat are often too small to cause problems, and this adds up to the fact that k is by default 5.
Maybe prompt summarization is no longer necessary, let me know how to proceed, for example we can try increasing the value of k to see how it affects the prompt.
from core.
Related Issues (20)
- Manage plugin upgrade HOT 5
- [Feature] Add hooks used in "why" response
- [BUG] UNSUPPORTED MEDIA TYPE for EmbedderOpenAICompatibleConfig HOT 3
- The cat is ignoring me HOT 11
- ENV variable for Qdrant endpoint doesn't seem to work HOT 11
- [Feature] add a new hook before that the document is parsed HOT 6
- Allow all endpoints to have or not final slash `/`
- [BUG] querying after uploading multiple large text files results in error '>=' not supported between instances of 'ValueError' and 'int' HOT 6
- [BUG] "Completions.create() got an unexpected keyword argument 'repeat_penalty'" (related to openai-python v1?) HOT 6
- [Feature]Docstring in the tools more clear HOT 2
- 1.4.5/1.5.1 problems using Azure OAI HOT 32
- Refactoring Azure integration HOT 1
- Error executing Chesire Cat with local llm and qdrant HOT 3
- [BUG] - core v1.5.1 traceback when connecting to remote qdrant of version v1.8.x HOT 2
- [BUG] upload memories HOT 1
- [Feature]Could the chat API support the OpenAI Chat Completion API standard to be compatible with a chat web app? HOT 4
- Cat is an agent ,support openai assistant API standard HOT 1
- [Feature] Add GET method to retrieve working memory information for the why HOT 3
- [Refactor] Refactory of OpenAICompatible LLM setting
- Update unstructured dependency
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from core.