Prompt
BasePrompt
BasePrompt(name: Optional[str] = None, language: str = 'english', original_hash: Optional[str] = None)
基类: ABC
源代码位于 src/ragas/prompt/base.py
generate abstractmethod
async
generate(llm: BaseRagasLLM, data: Any, temperature: Optional[float] = None, stop: Optional[List[str]] = None, callbacks: Callbacks = []) -> Any
从 prompt 生成单个完成。
源代码位于 src/ragas/prompt/base.py
generate_multiple abstractmethod
generate_multiple(llm: BaseRagasLLM, data: Any, n: int = 1, temperature: Optional[float] = None, stop: Optional[List[str]] = None, callbacks: Callbacks = []) -> Any
从 prompt 生成多个完成。
源代码位于 src/ragas/prompt/base.py
StringPrompt
StringPrompt(name: Optional[str] = None, language: str = 'english', original_hash: Optional[str] = None)
基类: BasePrompt
一个简单的 prompt,可以使用 f-string 语法进行格式化并添加额外数据。
对于那些喜欢更灵活方法而不需要 Pydantic 模型的人来说,这个 prompt 是 PydanticPrompt 的一个更简单的替代方案。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
instruction
|
str
|
指令字符串,可以使用额外数据进行格式化。 |
必需 |
示例
>>> from ragas.prompt import string_prompt
>>> await prompt.generate(llm=llm, data={"category": "commerce"})
源代码位于 src/ragas/prompt/base.py
generate async
generate(llm: BaseRagasLLM, data: str, temperature: Optional[float] = None, stop: Optional[List[str]] = None, callbacks: Callbacks = []) -> str
根据指令和提供的数据生成文本。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
llm
|
BaseRagasLLM
|
用于文本生成的语言模型。 |
必需 |
data
|
可选[Dict[str, Any]]
|
用于格式化指令的数据,默认为 None。 |
必需 |
n
|
int
|
要生成的完成数,默认为 1。 |
必需 |
temperature
|
可选[float]
|
文本生成的温度,默认为 None。 |
None
|
stop
|
可选[List[str]]
|
文本生成的停止序列,默认为 None。 |
None
|
callbacks
|
Callbacks
|
文本生成过程中使用的回调函数,默认为 []。 |
[]
|
返回值
类型 | 描述 |
---|---|
str
|
生成的文本。 |
源代码位于 src/ragas/prompt/base.py
PydanticPrompt
PydanticPrompt(name: Optional[str] = None, language: str = 'english', original_hash: Optional[str] = None)
基类: BasePrompt
, Generic[InputModel, OutputModel]
源代码位于 src/ragas/prompt/base.py
generate async
generate(llm: BaseRagasLLM, data: InputModel, temperature: Optional[float] = None, stop: Optional[List[str]] = None, callbacks: Optional[Callbacks] = None, retries_left: int = 3) -> OutputModel
使用提供的语言模型和输入数据生成单个输出。
此方法是 generate_multiple
的特例,仅生成一个输出。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
llm
|
BaseRagasLLM
|
用于生成的语言模型。 |
必需 |
data
|
InputModel
|
用于生成的输入数据。 |
必需 |
temperature
|
float
|
用于控制生成随机性的温度参数。 |
None
|
stop
|
List[str]
|
用于结束生成的停止序列列表。 |
None
|
callbacks
|
Callbacks
|
在生成过程中调用的回调函数。 |
None
|
retries_left
|
int
|
对于无效 LLM 响应的重试次数 |
3
|
返回值
类型 | 描述 |
---|---|
OutputModel
|
生成的输出。 |
注意
此方法内部调用 generate_multiple
并设置 n=1
,然后返回第一个(也是唯一一个)结果。
源代码位于 src/ragas/prompt/pydantic_prompt.py
generate_multiple async
generate_multiple(llm: BaseRagasLLM, data: InputModel, n: int = 1, temperature: Optional[float] = None, stop: Optional[List[str]] = None, callbacks: Optional[Callbacks] = None, retries_left: int = 3) -> List[OutputModel]
使用提供的语言模型和输入数据生成多个输出。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
llm
|
BaseRagasLLM
|
用于生成的语言模型。 |
必需 |
data
|
InputModel
|
用于生成的输入数据。 |
必需 |
n
|
int
|
要生成的输出数量。默认为 1。 |
1
|
temperature
|
float
|
用于控制生成随机性的温度参数。 |
None
|
stop
|
List[str]
|
用于结束生成的停止序列列表。 |
None
|
callbacks
|
Callbacks
|
在生成过程中调用的回调函数。 |
None
|
retries_left
|
int
|
对于无效 LLM 响应的重试次数 |
3
|
返回值
类型 | 描述 |
---|---|
List[OutputModel]
|
生成的输出列表。 |
抛出
类型 | 描述 |
---|---|
RagasOutputParserException
|
如果在解析输出时发生错误。 |
源代码位于 src/ragas/prompt/pydantic_prompt.py
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
|
adapt async
adapt(target_language: str, llm: BaseRagasLLM, adapt_instruction: bool = False) -> 'PydanticPrompt[InputModel, OutputModel]'
将 prompt 适应到新语言。
源代码位于 src/ragas/prompt/pydantic_prompt.py
save
将 prompt 保存到文件。
源代码位于 src/ragas/prompt/pydantic_prompt.py
BoolIO
基类: BaseModel
StringIO
基类: BaseModel
PromptMixin
包含 prompt 的类的 Mixin 类。例如:BaseSynthesizer, MetricWithLLM
get_prompts
get_prompts() -> Dict[str, PydanticPrompt]
set_prompts
设置该类的 prompts。
抛出
类型 | 描述 |
---|---|
ValueError
|
如果 prompt 不是 |
源代码位于 src/ragas/prompt/mixin.py
adapt_prompts async
adapt_prompts(language: str, llm: BaseRagasLLM, adapt_instruction: bool = False) -> Dict[str, PydanticPrompt]
将类中的 prompts 适应到给定语言并使用给定 LLM。
注意
请确保使用最佳的可用 LLM 来适应 prompts,然后使用 save_prompts 和 load_prompts 方法保存和加载 prompts。
源代码位于 src/ragas/prompt/mixin.py
save_prompts
将 prompts 保存到目录,格式为 {name}_{language}.json
源代码位于 src/ragas/prompt/mixin.py
load_prompts
从路径加载 prompts。文件格式应为 {name}_{language}.json