Skip to content

Commit f347482

Browse files
committed
feat(graph): add profile‑aware query‑refiner chain
* 신규 함수 추가 - 사용자 입력·테이블 목록에 질문 프로파일()을 포함하는 프롬프트 조합 - 구체화 질문 품질 향상 및 LLM 컨텍스트 강화
1 parent 70a72f8 commit f347482

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

llm_utils/chains.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,38 @@ def create_query_maker_chain(llm):
7272
return query_maker_prompt | llm
7373

7474

75+
def create_query_refiner_with_profile_chain(llm):
76+
prompt = get_prompt_template("query_refiner_prompt")
77+
78+
tool_choice_prompt = ChatPromptTemplate.from_messages(
79+
[
80+
SystemMessagePromptTemplate.from_template(prompt),
81+
MessagesPlaceholder(variable_name="user_input"),
82+
SystemMessagePromptTemplate.from_template(
83+
"다음은 사용자의 실제 사용 가능한 테이블 및 컬럼 정보입니다:"
84+
),
85+
MessagesPlaceholder(variable_name="searched_tables"),
86+
# 프로파일 정보 입력
87+
SystemMessagePromptTemplate.from_template(
88+
"다음은 사용자의 질문을 분석한 프로파일 정보입니다."
89+
),
90+
MessagesPlaceholder("profile_prompt"),
91+
SystemMessagePromptTemplate.from_template(
92+
"""
93+
위 사용자의 입력과 위 조건을 바탕으로
94+
분석 관점에서 **충분히 답변 가능한 형태**로
95+
"구체화된 질문"을 작성하세요.
96+
""",
97+
),
98+
]
99+
)
100+
101+
return tool_choice_prompt | llm
102+
103+
75104
query_refiner_chain = create_query_refiner_chain(llm)
76105
query_maker_chain = create_query_maker_chain(llm)
106+
query_refiner_with_profile_chain = create_query_refiner_with_profile_chain(llm)
77107

78108
if __name__ == "__main__":
79109
query_refiner_chain.invoke()

0 commit comments

Comments
 (0)