principles list (#1888)

tool-patch
Harrison Chase 1 year ago committed by GitHub
parent 2280a2cb2f
commit d08f940336
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,8 +1,9 @@
"""Chain for applying constitutional principles to the outputs of another chain."""
from typing import Any, Dict, List
from typing import Any, Dict, List, Optional
from langchain.chains.base import Chain
from langchain.chains.constitutional_ai.models import ConstitutionalPrinciple
from langchain.chains.constitutional_ai.principles import PRINCIPLES
from langchain.chains.constitutional_ai.prompts import CRITIQUE_PROMPT, REVISION_PROMPT
from langchain.chains.llm import LLMChain
from langchain.prompts.base import BasePromptTemplate
@ -42,6 +43,15 @@ class ConstitutionalChain(Chain):
critique_chain: LLMChain
revision_chain: LLMChain
@classmethod
def get_principles(
cls, names: Optional[List[str]] = None
) -> List[ConstitutionalPrinciple]:
if names is None:
return list(PRINCIPLES.values())
else:
return [PRINCIPLES[name] for name in names]
@classmethod
def from_llm(
cls,

@ -0,0 +1,5 @@
# flake8: noqa
from typing import Dict
from langchain.chains.constitutional_ai.models import ConstitutionalPrinciple
PRINCIPLES: Dict[str, ConstitutionalPrinciple] = {}
Loading…
Cancel
Save