Fix the issue outlined in #1712 to ensure the `BaseQAWithSourcesChain`
can properly separate the sources from an agent response even when they
are delineated by a newline.
This will ensure the `BaseQAWithSourcesChain` can reliably handle both
of these agent outputs:
* `"This Agreement is governed by English law.\nSOURCES: 28-pl"` ->
`"This Agreement is governed by English law.\n`, `"28-pl"`
* `"This Agreement is governed by English law.\nSOURCES:\n28-pl"` ->
`"This Agreement is governed by English law.\n`, `"28-pl"`
I couldn't find any unit tests for this but please let me know if you'd
like me to add any test coverage.
1. Removed the `summaries` dictionary in favor of directly appending to
the summary_strings list, which avoids the unnecessary double-loop.
2. Simplified the logic for populating the `context` variable.
Co-created with GPT-4 @agihouse
This worked for me, but I'm not sure if its the right way to approach
something like this, so I'm open to suggestions.
Adds class properties `reduce_k_below_max_tokens: bool` and
`max_tokens_limit: int` to the `ConversationalRetrievalChain`. The code
is basically copied from
[`RetreivalQAWithSourcesChain`](46d141c6cb/langchain/chains/qa_with_sources/retrieval.py (L24))
Seems like a copy paste error. The very next example does have this
line.
Please tell me if I missed something in the process and should have
created an issue or something first!
the j1-* models are marked as [Legacy] in the docs and are expected to
be deprecated in 2023-06-01 according to
https://docs.ai21.com/docs/jurassic-1-models-legacy
ensured `tests/integration_tests/llms/test_ai21.py` pass.
empirically observed that `j2-jumbo-instruct` works better the
`j2-jumbo` in various simple agent chains, as also expected given the
prompt templates are mostly zero shot.
Co-authored-by: Michael Gokhman <michaelg@ai21.com>
Fix issue#1645: Parse either whitespace or newline after 'Action Input:'
in llm_output in mrkl agent.
Unittests added accordingly.
Co-authored-by: ₿ingnan.ΞTH <brillliantz@outlook.com>
This PR adds Notion DB loader for langchain.
It reads content from pages within a Notion Database. It uses the Notion
API to query the database and read the pages. It also reads the metadata
from the pages and stores it in the Document object.
This is useful if you rely on the `on_tool_end` callback to detect which
tool has finished in a multi agents scenario.
For example, I'm working on a project where I consume the `on_tool_end`
event where the event could be emitted by many agents or tools. Right
now the only way to know which tool has finished would be set a marker
on the `on_tool_start` and catch it on `on_tool_end`.
I didn't want to break the signature of the function, but what would
have been cleaner would be to pass the same details as in
`on_tool_start`
Co-authored-by: blob42 <spike@w530>
seems linkchecker isn't catching them because it runs on generated html.
at that point the links are already missing.
the generation process seems to strip invalid references when they can't
be re-written from md to html.
I used https://github.com/tcort/markdown-link-check to check the doc
source directly.
There are a few false positives on localhost for development.
I have found that when the user has not asked an explicit question the
agent might have trouble answering the latest comment and might instead
try to answer a question that came before in the conversation which
would not be what is desired.
I also found that the agent might get confused with the current prompt
and talk about the tools themselves instead of the results obtained from
them.
I added two changes to the tool prompt so that the agent answers only
the last comment/question and only returns information from tool
results.
# Description
***
Add function similarity_search_limit_score and
similarity_search_with_score
# How to use
***
``
rds = Redis.from_existing_index(embeddings,
redis_url="redis://localhost:6379", index_name='link')
rds.similarity_search_limit_score(query, k=3, score=0.2)
rds.similarity_search_with_score(query, k=3)
``
---------
Co-authored-by: Peter <peter.shi@alephf.com>
I have changed the name of the argument from `where` to `filter` which
is expected by `similarity_search_with_score`.
Fixes#1838
---------
Co-authored-by: Rajat Saxena <hi@rajatsaxena.dev>