Add your description here
Project description
langchain-chain-of-verification
Based off CoVe CLI at https://github.com/ritun16/chain-of-verification , packaged (with uv
) and updated for newer langchain versions for easier consumption.
langchain-chain-of-verification
Can be used as CLI or library.
CoVe: https://arxiv.org/pdf/2309.11495
Enhanced by DuckDuckGo search (by ritun16)
Usage
CLI
# uvx --from langchain-chain-of-verification cove --help
$ cove --help
usage: cove [-h] --question QUESTION [--llm-name LLM_NAME] [--temperature TEMPERATURE] [--max-tokens MAX_TOKENS] [--show-intermediate-steps SHOW_INTERMEDIATE_STEPS]
Chain of Verification (CoVE) parser.
options:
-h, --help show this help message and exit
--question QUESTION The original question user wants to ask
--llm-name LLM_NAME The openai llm name
--temperature TEMPERATURE
The temperature of the llm
--max-tokens MAX_TOKENS
The max_tokens of the llm
--show-intermediate-steps SHOW_INTERMEDIATE_STEPS
The max_tokens of the llm
Library
from langchain_chain_of_verification import create_cove_chain
def create_cove_chain(
original_query: str,
llm_name="gpt-4o",
temperature=0.1,
router_max_tokens=500,
show_intermediate_steps=True,
) -> dict:
"""
Creates a Chain of Verification (CoVE) using specified language models.
Args:
original_query (str): The original question to be processed.
llm_name (str, optional): The name of the language model to use. Defaults to "gpt-4o".
temperature (float, optional): The temperature setting for the language model. Defaults to 0.1.
router_max_tokens (int, optional): The maximum number of tokens for the language model. Defaults to 500.
show_intermediate_steps (bool, optional): Whether to show intermediate steps. Defaults to True.
Returns:
dict: The result (final answer) of the CoVE chain processing. See the example below, the dict between '###'s.
Example:
>>> result = create_cove_chain("What is the capital of France?")
>>> print(result)
"""
...
Examples
cove --question 'name athletes born in raleigh'
Chain selected: WIKI_CHAIN
################################################################################
{'baseline_response': '1. Chasity Melvin\n'
'2. Ryan Jeffers\n'
"3. Devonte' Graham\n"
'4. Trea Turner',
'final_answer': 'Based on the verification questions and answers, the refined '
'answer should only include athletes who were confirmed to be '
'born in Raleigh. Therefore, the final refined answer is:\n'
'\n'
'1. Ryan Jeffers\n'
"2. Devonte' Graham",
'original_question': 'name athletes born in raleigh',
'verification_answers': 'Question: 1. Was Chasity Melvin born in Raleigh? '
'Answer: No, Chasity Melvin was not born in Raleigh. '
'She was born in Roseboro, North Carolina.\n'
'Question: 2. Was Ryan Jeffers born in Raleigh? '
'Answer: Yes, Ryan Jeffers was born in Raleigh, North '
'Carolina.\n'
"Question: 3. Was Devonte' Graham born in Raleigh? "
"Answer: Yes, Devonte' Graham was born in Raleigh, "
'North Carolina.\n'
'Question: 4. Was Trea Turner born in Raleigh? '
'Answer: No, Trea Turner was not born in Raleigh. '
'According to the provided context, Trea Turner was '
'born on June 30, 1993, in Boynton Beach, Florida.\n',
'verification_question_template': 'Was [athlete] born in [Raleigh]?',
'verification_questions': '1. Was Chasity Melvin born in Raleigh?\n'
'2. Was Ryan Jeffers born in Raleigh?\n'
"3. Was Devonte' Graham born in Raleigh?\n"
'4. Was Trea Turner born in Raleigh?'}
################################################################################
Final Answer: Based on the verification questions and answers, the refined answer should only include athletes who were confirmed to be born in Raleigh. Therefore, the final refined answer is:
1. Ryan Jeffers
2. Devonte' Graham
Installation
To run without installing with uv
, try uvx --from langchain-chain-of-verification cove --help
.
pipx
This is the recommended installation method.
$ pipx install langchain-chain-of-verification
pip
$ pip install langchain-chain-of-verification
Screenshots
LangSmith
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file langchain_chain_of_verification-0.1.11.tar.gz
.
File metadata
- Download URL: langchain_chain_of_verification-0.1.11.tar.gz
- Upload date:
- Size: 70.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e45e788c58c4a30326b6686a7f8632a946dc0dd8f5ebde593d93a8a661e95ac8 |
|
MD5 | d82ece4334b40ee54497e50e0fc38a56 |
|
BLAKE2b-256 | 1934683eab77fb39f834270d6366ca2d7e3726e4f09cf2eb2ed5a0d50b3a0d70 |
File details
Details for the file langchain_chain_of_verification-0.1.11-py3-none-any.whl
.
File metadata
- Download URL: langchain_chain_of_verification-0.1.11-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb875d286999873f9f7d2750c220e433579b6a1052199af942dc6923eaf7a1e9 |
|
MD5 | 1cb39129a8020ac71adcdd5a7b171911 |
|
BLAKE2b-256 | 65ea9eeb4037b37803a9b2d09dedd0b1e49d62dd1bae00ed0c9a08646edaeca5 |