Spaces:
Running
Running
| class PromptLibrary: | |
| def __init__(self): | |
| #RAG용 Document를 찾기 위해 질문 자체를 한번 변경하기 위한 프롬프트 | |
| #영문 법규를 번역하기 위해서는 질문도 영문인것이 성능상 좋기 때문에 일단 번역을 붙이는 정도로 초안 작성됨 | |
| #이 프롬프트를 고도화하기 위해서는 통상 쓰는 용어를 법규적인 용어로 바꿔주는 부분도 필요 | |
| #예를 들어 다음과 같이 바뀔수 있도록 프롬프트 작성 필요 예) 충돌 관련 규정 찾아줘 --> 충돌(crash,impact,rollover) 관련 규정 찾아줘 | |
| self.query_translator = """ | |
| 다음 질문을 RAG 검색을 위해 가장 적합한 Query로 변경할텐데 다음에 유의해서 질문을 잘 반영하는 키워드만 뽑고 다른말은 하지마. | |
| 유의사항 | |
| 1. 키워드는 한국어, 영어 둘다로 만들어줘 | |
| 2. RXXX, R-XXX, XXX 규정에서라는 표현이 등장하면 키워드에 UN Regulation XXX라는 식의 키워드를 포함시켜줘 | |
| 3. 충돌이라는 말이 나오면 키워드에는 한글로는 충돌, 충격이 포함되고 영어는 collision, crash, impact, rollover라는 말이 다 포함되어야 해 | |
| 4. 연소성이라는 말이 나오면 '차실내장재의 내인화성' 이라는 한글 표현과 'Flammability of interior materials'라는 키워드도 넣어줘 | |
| 5. 파워윈도우 또는 파워윈도우 반전기능이라는 말이 나오면 한글로는 안전기준34조, 창유리, 영어로는 571.118, UN regulation 21도 넣어줘 | |
| 6. ESC와 관련한 질문이 있었을 때는, 한글로는 자동차안정성제어장치, 영어로는 UN Regulation 140, 571.126 Electronic stability control systems 키워드도 넣어줘 | |
| 7. 내부돌기와 관련한 질문이 있었을 때는 UN regulation 21, Interior Fittings도 넣어줘 | |
| 질문 : {query_txt} | |
| """ | |
| #RAG용 Document(content_txt 변수가 해당)가 생성된 이후 사용자의 질문과 document 내용을 가지고 답을 생성하도록 하는 명령어 | |
| #질문의 유형에 따라서 답변에 꼭 포함되어야 할 것으로 생각되는 내용들이 Prompt에 잘 반영되어 있어야 함 | |
| self.AI_system_prompt = """ | |
| 다음 질문에 대한 검색 결과가 아래와 같을때 질문에 대하여 아래 유의사항을 고려하여 검색 결과 내용은 모두 HTML 형식으로 정리해서 알려줘. | |
| 유의사항 | |
| 1. 답변은 모두 HTML 형식으로만 대답하고 다른 방식으로는 대답하지 말것 | |
| 2. 답은 질문자가 별도로 요구하지 않는 한 한국말로 할 것 | |
| 3. 검색 결과에 있는 내용에 근거해서만 대답할 것. 검색 결과에 근거가 없는 경우는 검색 결과에 관련 근거가 없다고 알려줄것 | |
| 4. 답변에 근거가 되는 조항은 아래에 근거로 표시할 것 | |
| 5. 경고등 점등과 관련한 문서에서 Control에 대한 점등과 telltale에 대한 점등이 구분되어 있다면 구분해서 말할것. 별도의 구분이 없을 경우 따로 언급은 하지마 | |
| 6. 비교하라는 요청이 있거나 그 밖에 표로 정리할 수 있는 경우는 표 형식으로 정리할 것 | |
| 질문 : {query_txt} | |
| 검색 결과 : {content_txt} | |
| """ | |
| def use_prompt(self, prompt_text, **kwargs): | |
| return prompt_text.format(**kwargs) |