Skip to content

Commit 673e2d9

Browse files
committed
๐Ÿ“ [Mock data] ํ”„๋ก ํŠธ ํ†ต์‹ ์„ ์œ„ํ•œ GraphRAG retrievedTriples ์ž„์‹œ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
1 parent 130ffed commit 673e2d9

3 files changed

Lines changed: 25 additions & 5 deletions

File tree

โ€Žsrc/main/java/com/going/server/domain/chatbot/dto/CreateChatbotResponseDto.javaโ€Ž

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ public class CreateChatbotResponseDto {
1515
private String graphId;
1616
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm")
1717
private LocalDateTime createdAt;
18-
private List<String> retrievedChunks;
19-
private List<String> sourceNodes;
20-
private Map<String, String> ragMeta;
18+
private List<String> retrievedTriples; //๊ด€๊ณ„ ์ค‘์‹ฌ์˜ 3์š”์†Œ ํ‘œํ˜„ ("๋ฌผ -์ƒํƒœ๋ณ€ํ™”โ†’ ์‘๊ณ ")
19+
private List<String> sourceNodes; //์งˆ์˜์— ์‚ฌ์šฉ๋œ ํ•ต์‹ฌ ๋…ธ๋“œ๋“ค ("๋ฌผ", "์‘๊ณ " ๋“ฑ)
20+
private List<String> ์ฆ๊ฐ•ํ• ๋•Œ์“ด์ž๋ฃŒ; //LLM์— ๋„˜๊ธด context ๋ฌธ์žฅ๋“ค (์ด๋ฆ„์€ `augmentedSentences` ๋“ฑ์œผ๋กœ ๋ณ€๊ฒฝ ๊ถŒ์žฅ)
21+
22+
private Map<String, String> ragMeta; //(ex: ์‚ฌ์šฉํ•œ ์ฟผ๋ฆฌ๋ฌธ ๋“ฑ)
2123

2224
public static CreateChatbotResponseDto of(
2325
String chatContent,
@@ -30,7 +32,7 @@ public static CreateChatbotResponseDto of(
3032
.chatContent(chatContent)
3133
.graphId(graphId)
3234
.createdAt(createdAt)
33-
.retrievedChunks(retrievedChunks)
35+
.retrievedTriples(retrievedChunks)
3436
.sourceNodes(sourceNodes)
3537
.ragMeta(Map.of("chunkCount", String.valueOf(retrievedChunks.size())))
3638
.build();

โ€Žsrc/main/java/com/going/server/domain/chatbot/service/ChatbotServiceImpl.javaโ€Ž

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,12 @@ public CreateChatbotResponseDto createAnswerWithRAG(String graphStrId, CreateCha
7777
Long dbId = graphRepository.findDbIdByGraphId(Long.valueOf(graphStrId));
7878
Graph graph = graphRepository.getByGraph(dbId);
7979

80+
// ์ƒˆ๋กœ์šด ์ฑ„ํŒ…์ธ ๊ฒฝ์šฐ
8081
if (requestDto.isNewChat()) {
8182
deletePreviousChat(dbId);
8283
}
8384

85+
// ์ƒˆ๋กœ์šด ์งˆ๋ฌธ ์ถ”๊ฐ€
8486
Chatting userChat = Chatting.builder()
8587
.graph(graph)
8688
.content(requestDto.getChatContent())
@@ -89,6 +91,7 @@ public CreateChatbotResponseDto createAnswerWithRAG(String graphStrId, CreateCha
8991
.build();
9092
chattingRepository.save(userChat);
9193

94+
// ์ฑ„ํŒ… ๋‚ด์—ญ ์กฐํšŒ
9295
List<Chatting> chatHistory = chattingRepository.findAllByGraphId(dbId);
9396

9497
// RAG ์‘๋‹ต ์ƒ์„ฑ (์‘๋‹ต + ๋ฉ”ํƒ€ ํฌํ•จ)

โ€Žsrc/main/java/com/going/server/domain/rag/service/GraphRAGService.javaโ€Ž

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ public class GraphRAGService {
3131
/**
3232
* ์‚ฌ์šฉ์ž ์งˆ๋ฌธ์— ๋Œ€ํ•ด Cypher ์ฟผ๋ฆฌ โ†’ ๊ทธ๋ž˜ํ”„ ์ •๋ณด ๊ฒ€์ƒ‰ โ†’ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ โ†’ LLM ์‘๋‹ต ์ƒ์„ฑ
3333
* ๋ณธ ๋ฉ”์„œ๋“œ๋Š” LangChain ์—†์ด ๊ตฌํ˜„ํ•œ Spring ๊ธฐ๋ฐ˜ GraphRAG์˜ ํ•ต์‹ฌ ํ๋ฆ„์ž…๋‹ˆ๋‹ค.
34+
*
35+
* private LocalDateTime createdAt;
36+
* private List<String> retrievedTriples; //๊ด€๊ณ„ ์ค‘์‹ฌ์˜ 3์š”์†Œ ํ‘œํ˜„ ("๋ฌผ -์ƒํƒœ๋ณ€ํ™”โ†’ ์‘๊ณ ")
37+
* private List<String> sourceNodes; //์งˆ์˜์— ์‚ฌ์šฉ๋œ ํ•ต์‹ฌ ๋…ธ๋“œ๋“ค ("๋ฌผ", "์‘๊ณ " ๋“ฑ)
38+
* private List<String> ์ฆ๊ฐ•ํ• ๋•Œ์“ด์ž๋ฃŒ; //LLM์— ๋„˜๊ธด context ๋ฌธ์žฅ๋“ค (์ด๋ฆ„์€ `augmentedSentences` ๋“ฑ์œผ๋กœ ๋ณ€๊ฒฝ ๊ถŒ์žฅ)
39+
* -> ์ด๋ ‡๊ฒŒ ๊ฒฐ๊ณผ ๋‚˜์˜ค๋„๋ก ์ •๋ฆฌ
3440
*/
3541
public CreateChatbotResponseDto createAnswerWithGraphRAG(
3642
Long dbId,
@@ -74,11 +80,20 @@ public CreateChatbotResponseDto createAnswerWithGraphRAG(
7480
chattingRepository.save(answer);
7581
log.info("[GraphRAG] Response saved to DB");
7682

83+
// ์ž„์‹œ retrievedTriples ์„ค์ •
84+
List<String> retrievedTriples = List.of(
85+
"(๋ฌผ)-[:RELATED {label: '์ƒํƒœ๋ณ€ํ™”'}]->(๊ธฐํ™”)",
86+
"(๊ธฐํ™”)-[:RELATED {label: '์กฐ๊ฑด'}]->(๋†’์€ ์˜จ๋„)",
87+
"(์ˆ˜์ฆ๊ธฐ)-[:RELATED {label: '์‘๊ฒฐ'}]->(๋ฌผ๋ฐฉ์šธ)",
88+
"(๋ฌผ)-[:RELATED {label: '์‘๊ณ '}]->(์–ผ์Œ)",
89+
"(์‘๊ณ )-[:RELATED {label: '์˜ˆ์‹œ'}]->(๊ฒจ์šธ์ฒ  ์–ผ์–ด๋ถ™์€ ๊ธธ)"
90+
);
91+
7792
return CreateChatbotResponseDto.of(
7893
response,
7994
dbId.toString(),
8095
answer.getCreatedAt(),
81-
contextChunks,
96+
retrievedTriples,
8297
sourceNodes
8398
);
8499
}

0 commit comments

Comments
ย (0)