mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-01 19:03:25 +00:00
principles list (#1888)
This commit is contained in:
parent
2280a2cb2f
commit
d08f940336
@ -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,
|
||||
|
5
langchain/chains/constitutional_ai/principles.py
Normal file
5
langchain/chains/constitutional_ai/principles.py
Normal file
@ -0,0 +1,5 @@
|
||||
# flake8: noqa
|
||||
from typing import Dict
|
||||
from langchain.chains.constitutional_ai.models import ConstitutionalPrinciple
|
||||
|
||||
PRINCIPLES: Dict[str, ConstitutionalPrinciple] = {}
|
Loading…
Reference in New Issue
Block a user