Spaces:
Runtime error
Runtime error
from typing import Tuple | |
import os | |
from common.call_llm import chat | |
QA_GENERATOR_ENDPOINT = os.environ.get("QA_GENERATOR_ENDPOINT") | |
prompt_template = """ | |
### 角色能力 ### | |
你是一个问答对生成器,你可以对下面给定上下文的主要内容进行概括和提炼,并按照下面给定的生成规则去生成。 | |
### 生成规则 ### | |
1. 生成3到12组用户可能会问的问题以及对应的答案,要求问题要简洁、真实、口语化。 | |
2. 避免生成内容相同或相似的问答对,且问答和答案要一定要准确、严谨、口语化。 | |
3. 确保问答对尽可能覆盖上下文的所有内容。 | |
### 上下文 ### | |
{context} | |
### 返回格式 ### | |
请严格按照下面描述的JSON列表格式进行输出,不需要解释,输出JSON格式如下: | |
[ | |
{{ | |
\"question\": \"generated question one\", | |
\"answer\": \"generated answer one\", | |
}}, | |
{{ | |
\"question\": \"generated question two\", | |
\"answer\": \"generated answer two\", | |
}}, | |
... | |
] | |
确保输出的格式可以被Python的json.loads方法解析。 | |
""" | |
def generate_qa_pairs(page_content: str) -> Tuple[str, None]: | |
""" | |
Generate QA pairs from page content | |
:param page_content: | |
:return: | |
""" | |
prompt = prompt_template.format(context=page_content) | |
messages = [{"role": "user", "content": prompt}] | |
qa_pair_result = chat(messages=messages, endpoint=QA_GENERATOR_ENDPOINT) | |
print(f"generate QA pairs prompt: {prompt}, result: {qa_pair_result}") | |
return qa_pair_result, None | |