๐Ÿ’ก ๊ฐœ๋ฐœํ•˜๋ฉฐ ๋งˆ์ฃผํ•œ ๋ฌธ์ œ๋“ค & ํ•ด๊ฒฐ ๊ณผ์ •

ZEDYยท2025๋…„ 1์›” 30์ผ
0

๐Ÿงฉ 1. ๋ฒกํ„ฐ DB ์ตœ์ ํ™” - Chunk Size & Overlap ์„ค์ • ์‹คํ—˜


๐Ÿ›‘ ๋ฌธ์ œ ์ƒํ™ฉ

  • ๋ฌธ์„œ๋ฅผ ๋ฒกํ„ฐํ™”ํ•ด์„œ FAISS์— ์ €์žฅํ•  ๋•Œ,
    โ†’ ์ฒญํฌ ํฌ๊ธฐ(Chunk Size)์™€ ์˜ค๋ฒ„๋žฉ ํฌ๊ธฐ(Overlap Size)๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ณ ๋ฏผ
  • ๋„ˆ๋ฌด ํฌ๋ฉด ๊ฒ€์ƒ‰์ด ๋Š๋ ค์ง€๊ณ ,
  • ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ๋ฌธ๋งฅ์ด ์‚ฌ๋ผ์ ธ ์—‰๋šฑํ•œ ๋ฌธ์„œ๊ฐ€ ๊ฒ€์ƒ‰๋จ.
  • ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์ฒญํฌ ๋ฐ ์˜ค๋ฒ„๋žฉ ํฌ๊ธฐ๋กœ ํ…Œ์ŠคํŠธ ์ง„ํ–‰!

โœ… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• - ์‹คํ—˜์„ ํ†ตํ•œ ์ตœ์ ์˜ Chunk Size ์ฐพ๊ธฐ

๐Ÿ“Œ LangChain์˜ RecursiveCharacterTextSplitter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์กฐํ•ฉ ํ…Œ์ŠคํŠธ

test_cases = [
    {"chunk_size": 200, "chunk_overlap": 50, "title": "Test Doc Case 1", "db_path": "test_faiss_db_case1"},
    {"chunk_size": 300, "chunk_overlap": 100, "title": "Test Doc Case 2", "db_path": "test_faiss_db_case2"},
    {"chunk_size": 500, "chunk_overlap": 200, "title": "Test Doc Case 3", "db_path": "test_faiss_db_case3"},
    {"chunk_size": 400, "chunk_overlap": 150, "title": "Test Doc Case 4", "db_path": "test_faiss_db_case4"},
]

๐Ÿ’ก ์‹คํ—˜ ๊ณผ์ •
1. ๊ฐ ์ผ€์ด์Šค๋ณ„๋กœ ๋ฌธ์„œ๋ฅผ ์ž„๋ฒ ๋”ฉํ•˜์—ฌ FAISS DB์— ์ €์žฅ.
2. ๋™์ผํ•œ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜๊ณ , LangChain์˜ similarity_search_with_score๋ฅผ ์‚ฌ์šฉํ•ด ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ์˜ ์œ ์‚ฌ๋„ ์ ์ˆ˜ ๋น„๊ต.
3. ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ๊ฐ€ ์›๋ž˜ ์งˆ๋ฌธ๊ณผ ์–ผ๋งˆ๋‚˜ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ์ •์„ฑ์ ์œผ๋กœ ๋ถ„์„.

๐Ÿ’ก ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ

Chuck SizeOverlap๊ฒ€์ƒ‰ ์ •ํ™•๋„๊ฒ€์ƒ‰ ์†๋„๋ฌธ๋งฅ ์œ ์ง€
20050โŒ ๋‚ฎ์Œโœ… ๋น ๋ฆ„โŒ ๋ฌธ๋งฅ ๋Š๊น€
300100โœ… ๋†’์Œโœ… ๋น ๋ฆ„โœ… ๋ฌธ๋งฅ ์œ ์ง€
400150โญ• ๋ณดํ†ตโญ• ์ค‘๊ฐ„โœ… ๋ฌธ๋งฅ ์œ ์ง€
500200โœ… ๋†’์ŒโŒ ๋Š๋ฆผโœ… ๋ฌธ๋งฅ ์œ ์ง€

๐Ÿ“Œ ๊ฒฐ๊ณผ์ ์œผ๋กœ, chunk_size=300, chunk_overlap=100์ด ๊ฐ€์žฅ ์ตœ์ ์˜ ๊ฐ’์ž„์„ ๋ฐœ๊ฒฌ!


๐Ÿ”ฅ ์‹คํ—˜ ํ›„ ๋Š๋‚€ ์  & ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ ๊ฐœ์„  ํšจ๊ณผ

โœ… Chunk Size & Overlap์ด ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์— ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ๋ผˆ์ €๋ฆฌ๊ฒŒ ๊นจ๋‹ฌ์Œ.
โœ… ์ฒ˜์Œ์—๋Š” 500, 200์ด ์ข‹์•„ ๋ณด์˜€์ง€๋งŒ, ์†๋„๊ฐ€ ๋„ˆ๋ฌด ๋Š๋ ค ์‹ค์‚ฌ์šฉ์— ๋ถ€์ ํ•ฉ.
โœ… ์ตœ์ ์˜ 300, 100 ์„ค์ • ํ›„, ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์ด ๋Œ€ํญ ๊ฐœ์„ ๋จ โ†’ ์ •ํ™•๋„ ์ƒ์Šน + ๋น ๋ฅธ ๊ฒ€์ƒ‰ ์†๋„ ํ™•๋ณด!

๐Ÿ’ก ์ด ์‹คํ—˜์„ ํ†ตํ•ด ์–ป์€ ์ธ์‚ฌ์ดํŠธ

  • ๋„ˆ๋ฌด ์ž‘์€ ์ฒญํฌ๋Š” ๋ฌธ๋งฅ์„ ์žƒ๊ฒŒ ๋งŒ๋“ค๊ณ , ๋„ˆ๋ฌด ํฐ ์ฒญํฌ๋Š” ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚จ๋‹ค.
  • Chunk Size์™€ Overlap์€ ๋„๋ฉ”์ธ๊ณผ ๋ฐ์ดํ„ฐ ํŠน์„ฑ์— ๋งž๊ฒŒ ์‹คํ—˜์„ ํ†ตํ•ด ์ตœ์ ๊ฐ’์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.
  • ๋‹จ์ˆœํžˆ top-k ๊ฒ€์ƒ‰์ด ์•„๋‹ˆ๋ผ, ์ ์ ˆํ•œ ์ฒญํฌ ์‚ฌ์ด์ฆˆ ์กฐ์ •์ด LLM ์‘๋‹ต ํ’ˆ์งˆ์—๋„ ํฐ ์˜ํ–ฅ์„ ์ค€๋‹ค.

๐Ÿ“Œ ๋ฐฐ์šด ์ 

โœ… ์ž„๋ฒ ๋”ฉ์„ ํ•  ๋•Œ ์ ์ ˆํ•œ Chunk Size๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์˜ ํ•ต์‹ฌ์ด๋‹ค!
โœ… ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ฌด์กฐ๊ฑด ํฐ ์ฒญํฌ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ •๋‹ต์ด ์•„๋‹ˆ๋‹ค.
โœ… ์‹ค์ œ ๋ฐ์ดํ„ฐ์…‹์— ๋งž๋Š” ์ตœ์ ์˜ ์„ค์ •์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ์‹คํ—˜ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์ˆ˜๋‹ค.
โœ… LangChain์˜ similarity_search_with_score๋Š” ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ์˜ ์—ฐ๊ด€์„ฑ์„ ํ™•์ธํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.


๐Ÿ› ๏ธ 2. Retriever ์ตœ์ ํ™” - ๋ฌธ์„œ ์ ํ•ฉ๋„ ํ•„ํ„ฐ๋ง & ์ตœ์  ๊ฒ€์ƒ‰ ์ „๋žต


๐Ÿ›‘ ๋ฌธ์ œ ์ƒํ™ฉ

  • ๊ธฐ์กด Retriever ๋กœ์ง์—์„œ๋Š” ๊ด€๋ จ๋œ ๋ฌธ์„œ 10๊ฐœ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๋ชจ๋‘ ์ฐธ๊ณ .
  • ํ•˜์ง€๋งŒ, ๊ด€๋ จ์„ฑ์ด ๋‚ฎ์€ ๋ฌธ์„œ๋„ ํฌํ•จ๋˜๋ฉด์„œ LLM ์‘๋‹ต์˜ ํ’ˆ์งˆ์ด ์ €ํ•˜๋จ.
  • ๐Ÿ” ๋ฌธ์ œ์ : ์˜๋ฏธ ์—†๋Š” ๋ฌธ์„œ๊นŒ์ง€ ํฌํ•จ๋˜๋ฉด์„œ ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋กœ ์ธํ•ด ๋ถ€์ •ํ™•ํ•œ ๋‹ต๋ณ€์ด ์ƒ์„ฑ๋จ.

โœ… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• - ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ์˜ ์ ํ•ฉ๋„ ํ•„ํ„ฐ๋ง

1) ๋ฌธ์„œ ์ ํ•ฉ๋„ ํŒ๋‹จ ๋กœ์ง ์ถ”๊ฐ€
๐Ÿ’ก ์ ์šฉํ•œ ์ตœ์ ํ™” ๊ธฐ๋ฒ•
1๏ธโƒฃ ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ๋“ค์˜ score ๊ฐ’์„ ํ‰๊ท  ๋‚ด๊ณ , ์ตœ๊ณ ์ ๊ณผ ๋น„๊ต.
2๏ธโƒฃ ์ตœ์†Œ 3๊ฐœ์˜ ๋ฌธ์„œ๊ฐ€ ์ฐธ๊ณ ๋˜๋„๋ก ์„ค์ •ํ•˜๊ณ ,

  • ์ƒ์œ„ 30% ์ด์ƒ์˜ ๋ฌธ์„œ๋ฅผ 1์ˆœ์œ„๋กœ ์ฐธ๊ณ .
  • ๋‚˜๋จธ์ง€ ๋ฌธ์„œ ์ค‘, ํ‰๊ท ๋ณด๋‹ค ํ˜„์ €ํžˆ ๋‚ฎ์€ ๋ฌธ์„œ๋Š” ํ•„ํ„ฐ๋ง.
    3๏ธโƒฃ ํ‰๊ท  ์ด์ƒ์˜ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ฌธ์„œ๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ฐธ๊ณ ํ•˜์—ฌ ์‘๋‹ต ์ƒ์„ฑ.
def filter_documents(documents, min_docs=3, top_percentile=0.3):
    # ๋ฌธ์„œ๋“ค์˜ ์ ์ˆ˜๋ฅผ ์ •๋ ฌ
    documents.sort(key=lambda x: x["score"], reverse=True)
    
    # ์ตœ๊ณ ์ ๊ณผ ํ‰๊ท  ์ ์ˆ˜ ๊ณ„์‚ฐ
    max_score = documents[0]["score"]
    avg_score = sum([doc["score"] for doc in documents]) / len(documents)

    # ์ƒ์œ„ 30% ๋ฌธ์„œ๋ฅผ ์šฐ์„  ์„ ์ •
    top_n = max(int(len(documents) * top_percentile), min_docs)
    selected_docs = [doc for doc in documents[:top_n]]

    # ํ‰๊ท ๋ณด๋‹ค ๋‚ฎ์€ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ฌธ์„œ ํ•„ํ„ฐ๋ง
    final_docs = [doc for doc in selected_docs if doc["score"] >= avg_score]

    return final_docs

๐Ÿ“Œ ๊ฒฐ๊ณผ์ ์œผ๋กœ, ์˜๋ฏธ ์žˆ๋Š” ๋ฌธ์„œ๋งŒ ํ•„ํ„ฐ๋งํ•˜์—ฌ LLM์ด ๋ณด๋‹ค ์ •ํ™•ํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋„๋ก ๊ฐœ์„ !


๐Ÿ› ๏ธ ์‹คํ—˜ ๋ฐฉ๋ฒ• & ์ตœ์ ํ™” ๊ณผ์ •

๐Ÿ“Œ ๋ฒกํ„ฐ DB๋Š” ์ง์ ‘ ํ™•์ธํ•  ์ˆ˜ ์—†์–ด์„œ ํ…Œ์ŠคํŠธ ์‹ ๋ขฐ๋„๋ฅผ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ–ˆ๋‹ค.
๐Ÿ’ก ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•:
1๏ธโƒฃ ์›น ๋ฌธ์„œ๋ฅผ ์ž„๋ฒ ๋”ฉํ•œ ํ›„, ์„ธ๋ถ€์ ์ธ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜์—ฌ ๊ด€๋ จ ๋ฌธ์„œ ๊ฒ€์ƒ‰ ํ…Œ์ŠคํŠธ.
2๏ธโƒฃ ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ๋“ค์ด ์–ด๋–ป๊ฒŒ ์„ ํƒ๋˜๋Š”์ง€ ๋กœ๊ทธ๋ฅผ ์ฐ์–ด ํ™•์ธํ•˜๋ฉฐ ์ตœ์ ํ™” ์ง„ํ–‰.
3๏ธโƒฃ ์—ฌ๋Ÿฌ Threshold ์„ค์ •์„ ์‹คํ—˜ํ•˜์—ฌ, ์ ํ•ฉํ•œ ๋ฌธ์„œ ํ•„ํ„ฐ๋ง ๊ธฐ์ค€์„ ์ฐพ์Œ.

๐Ÿ“Œ ์‹คํ—˜ ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ (๋กœ๊ทธ ๋ถ„์„ ๊ฒฐ๊ณผ)

๋ฌธ์„œScore์ฐธ๊ณ  ์—ฌ๋ถ€
๋ฌธ์„œ A0.92โœ… ์‚ฌ์šฉ
๋ฌธ์„œ B0.88โœ… ์‚ฌ์šฉ
๋ฌธ์„œ C0.85โœ… ์‚ฌ์šฉ
๋ฌธ์„œ D0.72โŒ ํ•„ํ„ฐ๋ง๋จ (ํ‰๊ท  ์ดํ•˜)
๋ฌธ์„œ E0.70โŒ ํ•„ํ„ฐ๋ง๋จ (ํ‰๊ท  ์ดํ•˜)

๐Ÿ“Œ ๊ฒฐ๊ณผ:

  • LLM์ด ๋ณด๋‹ค ์ ์ ˆํ•œ ๋ฌธ์„œ๋งŒ ์ฐธ๊ณ ํ•˜๋„๋ก ๊ฐœ์„ ๋˜๋ฉด์„œ ์‘๋‹ต ํ’ˆ์งˆ ํ–ฅ์ƒ!
  • ๋ถˆํ•„์š”ํ•œ ๋ฌธ์„œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์‘๋‹ต ์†๋„๋„ ์ตœ์ ํ™”๋จ.

๐Ÿ”ฅ ์‹คํ—˜ ํ›„ ๋Š๋‚€ ์  & ์ตœ์ ํ™” ๊ณผ์ •์—์„œ์˜ ๊ณ ๋ฏผ

โœ… ๋ฒกํ„ฐ DB๋Š” ์ง์ ‘ ๋ณด์ด์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋กœ๊ทธ๋ฅผ ์ฐ์–ด ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด ํ•„์ˆ˜์ ์ด๋‹ค.
โœ… ์ˆ˜ํ•™์ ์ธ ์ ‘๊ทผ์ด ์ค‘์š”ํ•˜๋‹ค โ€“ Score ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง ๋กœ์ง์„ ์ ์šฉํ•˜๋ฉด์„œ ์ ์ ˆํ•œ ๊ธฐ์ค€์„ ์ฐพ๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด์—ˆ๋‹ค.
โœ… Threshold ์„ค์ •์€ ๋‹จ์ˆœํ•œ ์ •์  ๊ฐ’์ด ์•„๋‹ˆ๋ผ, ๋™์ ์œผ๋กœ ์กฐ์ ˆ๋  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
โœ… ์ตœ์ ํ™” ๊ณผ์ •์€ ์ง€์†์ ์œผ๋กœ ์ด๋ฃจ์–ด์กŒ์œผ๋ฉฐ, ๋ฐ๋ชจ ๋•Œ๊นŒ์ง€ ๊ณ ๋ฏผ์ด ์ด์–ด์กŒ๋‹ค.
โœ… ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฐ๋ชจ์—๋Š” ๋ฐ˜์˜๋˜์ง€ ๋ชปํ–ˆ์ง€๋งŒ, AI ๊ฒ€์ƒ‰ ์ตœ์ ํ™”์— ๋Œ€ํ•œ ๊นŠ์€ ๊ณ ๋ฏผ์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.


๐Ÿ“Œ ์ตœ์ข… ์ •๋ฆฌ (TL;DR)

  • ๊ธฐ์กด Retriever๋Š” ๊ด€๋ จ์„ฑ์ด ๋‚ฎ์€ ๋ฌธ์„œ๊นŒ์ง€ ํฌํ•จํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Œ.
  • Score๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌธ์„œ ํ•„ํ„ฐ๋ง ๋กœ์ง์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๋ฌธ์„œ๋ฅผ ์ œ๊ฑฐ.
  • ์ƒ์œ„ 30% ๋ฌธ์„œ๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์ฐธ๊ณ ํ•˜๊ณ , ํ‰๊ท  ์ดํ•˜ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ฌธ์„œ๋Š” ํ•„ํ„ฐ๋ง.
  • ์‹คํ—˜์„ ํ†ตํ•ด ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ๋ฅผ ๋กœ๊ทธ๋กœ ๋ถ„์„ํ•˜๋ฉฐ ์ตœ์ ํ™” ์ง„ํ–‰.
  • ๐Ÿš€ LLM์˜ ์‘๋‹ต ํ’ˆ์งˆ & ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋จ!

๐ŸŽฏ 3. ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ์ตœ์ ํ™” - AI ์‘๋‹ต ํ’ˆ์งˆ ํ–ฅ์ƒ ์‹คํ—˜


๐Ÿ›‘ ๋ฌธ์ œ ์ƒํ™ฉ

  • ๊ธฐ์กด ํ”„๋กฌํ”„ํŠธ์—์„œ๋Š” ์‚ฌ์šฉ์ž์˜ ๋Œ€ํ™” ๋งฅ๋ฝ์„ ์œ ์ง€ํ•˜๊ณ , ์ง€์†์ ์ธ ๋ฌธ๋งฅ์„ ์ œ๊ณตํ•˜๋„๋ก ์„ค์ •ํ–ˆ์Œ.
  • ํ•˜์ง€๋งŒ, ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ฑ—๋ด‡์ด ๊ฐ€๋” ์ด์ƒํ•œ ๋‹ต์„ ํ•˜๊ฑฐ๋‚˜ ๋งฅ๋ฝ์„ ์œ ์ง€ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ.
  • ๐Ÿ’ก ๋ฌธ์ œ์˜ ์›์ธ:
    1. ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋„ˆ๋ฌด ์ผ๋ฐ˜์ ์ด์–ด์„œ LLM์ด ์ •ํ™•ํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์Œ.
    2. ์ง€๋‚˜์น˜๊ฒŒ ์ž์œ ๋กœ์šด ์‘๋‹ต ์Šคํƒ€์ผ โ†’ ๊ฐ€์ด๋“œ๋ผ์ธ์ด ๋ถ€์กฑํ•˜์—ฌ AI์˜ ์‘๋‹ต ํ’ˆ์งˆ์ด ์ผ์ •ํ•˜์ง€ ์•Š์Œ.
    3. ๋Œ€ํ™” ๋งฅ๋ฝ ์œ ์ง€ ์‹คํŒจ โ†’ ๊ณผ๊ฑฐ์˜ 10๊ฐœ ๋Œ€ํ™”๋ฅผ ๊ธฐ์–ตํ•ด์•ผ ํ•˜์ง€๋งŒ, ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉ๋˜์ง€ ์•Š์Œ.

โœ… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• - ํ”„๋กฌํ”„ํŠธ ๊ฐœ์„  ๋ฐ ์‹คํ—˜ ๊ณผ์ •

๐Ÿ’ก ๊ฐœ์„  ๋ฐฉํ–ฅ
1๏ธโƒฃ AI์˜ ์—ญํ• ์„ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜

  • ๊ธฐ์กด: "You are a company service chatbot."
  • ๊ฐœ์„  ํ›„: "You are a friendly and knowledgeable company service assistant chatbot."
  • โ†’ AI์˜ ๋ชฉํ‘œ์™€ ์„ฑ๊ฒฉ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ์ •์˜ํ•˜์—ฌ ์ผ๊ด€๋œ ์‘๋‹ต์„ ์œ ๋„.

2๏ธโƒฃ ๋Œ€ํ™” ํ๋ฆ„์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์นจ ์ถ”๊ฐ€

  • ๋‹จ์ˆœํžˆ ๋ฌธ์„œ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ–ˆ์Œ.
  • ๊ฐ ์ƒํ™ฉ๋ณ„๋กœ AI๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ํ•ด์•ผ ํ•˜๋Š”์ง€ ์„ธ๋ถ€์ ์œผ๋กœ ์ง€์นจ์„ ์ถ”๊ฐ€!
  • โœ… ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์ด ๋ฌธ์„œ์— ์žˆ๋Š” ์ •๋ณด์™€ ์ผ์น˜ํ•˜๋ฉด ์ •ํ™•ํ•œ ๋‹ต๋ณ€ ์ œ๊ณต.
  • โœ… ์ •๋ณด๊ฐ€ ์—†์„ ๊ฒฝ์šฐ, ์ ์ ˆํ•œ ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต ("I'm sorry, I couldnโ€™t find that informationโ€ฆ").
  • โœ… ๋ถˆํ•„์š”ํ•œ ์ธ์‚ฌ๋ง ๋ฐฉ์ง€ ๋ฐ ๋ฌธ์žฅ์˜ ํ†ค ์กฐ์ ˆ (์นœ์ ˆํ•˜์ง€๋งŒ ๊ฐ„๊ฒฐํ•˜๊ฒŒ).

3๏ธโƒฃ ํ”„๋กฌํ”„ํŠธ ๋‚ด๋ถ€์— ๋Œ€ํ™” ๊ธฐ์–ต ์œ ์ง€ ๋กœ์ง ๋ฐ˜์˜

  • ๊ธฐ์กด ํ”„๋กฌํ”„ํŠธ: "Retain at least 10 message logs."
  • ๊ฐœ์„  ํ›„: "Directly answer user questions based on the content from the official documents and the last 10 interactions."
  • โ†’ AI๊ฐ€ ๋Œ€ํ™” ๊ธฐ๋ก์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์—ฌ ๋ฌธ๋งฅ ์œ ์ง€ ๊ฐ•ํ™”!

๐Ÿ› ๏ธ ์‹คํ—˜ ๊ณผ์ • & ๋น„๊ต ํ…Œ์ŠคํŠธ

๐Ÿ“Œ ํ”„๋กฌํ”„ํŠธ ์‹คํ—˜์„ ์œ„ํ•œ ํ‰๊ฐ€ ๋ฐฉ๋ฒ•

  • ๋™์ผํ•œ ์งˆ๋ฌธ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ž…๋ ฅํ•˜๊ณ , ๊ฐœ์„  ์ „/ํ›„ ์‘๋‹ต์„ ๋น„๊ต.
  • AI๊ฐ€ ๋ฌธ๋งฅ์„ ์œ ์ง€ํ•˜๋Š” ์ •๋„, ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š”์ง€, ๋‹ต๋ณ€ ์Šคํƒ€์ผ์ด ์ผ๊ด€์ ์ธ์ง€ ํ…Œ์ŠคํŠธ.

๐Ÿ“Œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๋น„๊ต

ํ…Œ์ŠคํŠธ๊ธฐ์กด ํ”„๋กฌํ”„ํŠธ ์‘๋‹ต๊ฐœ์„ ๋œ ํ”„๋กฌํ”„ํŠธ ์‘๋‹ต๊ฒฐ๊ณผ
์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„์„ ๊ธฐ์–ตํ•˜๋Š”์ง€"Hello! How can I help?" (๊ธฐ์–ต ์•ˆํ•จ)"Sure, Gahee! What would you like to know?" (์ด๋ฆ„ ๊ธฐ์–ต)โœ… ๊ฐœ์„ ๋จ
์ •๋ณด๊ฐ€ ์—†์„ ๋•Œ ๋ฐ˜์‘"I'm not sure." (์งง๊ณ  ๋ถˆ์นœ์ ˆ)"Iโ€™m sorry, I couldnโ€™t find that information in the documents I have. I recommend reaching out to the support team." (์นœ์ ˆํ•˜๊ณ  ์•ˆ๋‚ด ์ œ๊ณต)โœ… ๊ฐœ์„ ๋จ
์—ฐ์†๋œ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋ฌธ๋งฅ ์œ ์ง€"Can you clarify?" (๋ฌธ๋งฅ ์ดํ•ด ๋ถ€์กฑ)"Based on your last question about [topic], hereโ€™s more informationโ€ฆ" (๋ฌธ๋งฅ ์œ ์ง€ O)โœ… ๊ฐœ์„ ๋จ
์‘๋‹ต์˜ ์ „๋ฌธ์„ฑ & ๊ฐ„๊ฒฐํ•จ"Sure! Here's a long explanationโ€ฆ" (์žฅํ™ฉํ•จ)"Here's a concise summary: [์ •๋ณด]. Let me know if you need more details!" (๊ฐ„๊ฒฐ & ๋ช…ํ™•)โœ… ๊ฐœ์„ ๋จ

๐Ÿ“Œ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ฐœ์„ ๋œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ ์šฉํ–ˆ์„ ๋•Œ:

  • โœ… AI์˜ ์ผ๊ด€์„ฑ ์žˆ๋Š” ์‘๋‹ต ํ’ˆ์งˆ ํ™•๋ณด!
  • โœ… ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„ & ๋งฅ๋ฝ ์œ ์ง€ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ˜์˜!
  • โœ… ์ •๋ณด๊ฐ€ ์—†์„ ๋•Œ๋„ ๋” ์นœ์ ˆํ•˜๊ณ  ์œ ์šฉํ•œ ์•ˆ๋‚ด ์ œ๊ณต!

๐Ÿ”ฅ ํ”„๋กฌํ”„ํŠธ ์ตœ์ ํ™” ํ›„ ๋ฐฐ์šด ์  & ๋Š๋‚€ ์ 

โœ… AI์—๊ฒŒ ์—ญํ• ๊ณผ ๋ชฉํ‘œ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
โœ… "์–ด๋–ค ์ƒํ™ฉ์—์„œ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋‹ตํ•ด์•ผ ํ•˜๋Š”์ง€" ๊ตฌ์ฒด์ ์œผ๋กœ ๋ช…์‹œํ•˜๋ฉด AI์˜ ์‘๋‹ต ํ’ˆ์งˆ์ด ์ข‹์•„์ง„๋‹ค.
โœ… LLM์ด ๋‹จ์ˆœํžˆ ๋Œ€ํ™” ๋งฅ๋ฝ์„ ๊ธฐ์–ตํ•œ๋‹ค๊ณ  ํ•ด์„œ ์ข‹์€ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค! โ†’ ํ”„๋กฌํ”„ํŠธ์—์„œ ๋งฅ๋ฝ์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ• ์ง€ ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค.
โœ… ์ด๋ก ์ ์œผ๋กœ ๊ดœ์ฐฎ์•„ ๋ณด์ด๋Š” ํ”„๋กฌํ”„ํŠธ๋„ ์‹ค์ „ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์ˆ˜๋‹ค!


๐Ÿ“Œ ์ตœ์ข… ์ •๋ฆฌ (TL;DR)

  • ๊ธฐ์กด ํ”„๋กฌํ”„ํŠธ์—์„œ๋Š” AI์˜ ์‘๋‹ต์ด ๋น„์ผ๊ด€์ ์ด๊ณ  ๋งฅ๋ฝ์„ ์œ ์ง€ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Œ.
  • ์—ญํ•  ์ •์˜ + ๋Œ€ํ™” ๊ฐ€์ด๋“œ + ๋ฌธ๋งฅ ํ™œ์šฉ ๋ฐฉ์‹์„ ๋ช…ํ™•ํžˆ ์ง€์‹œํ•˜์—ฌ ํ”„๋กฌํ”„ํŠธ ๊ฐœ์„ .
  • ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์‘๋‹ต ํ’ˆ์งˆ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋จ โ†’ ๋งฅ๋ฝ ์œ ์ง€, ์‘๋‹ต์˜ ์ผ๊ด€์„ฑ, ์นœ์ ˆํ•œ ํ”ผ๋“œ๋ฐฑ๊นŒ์ง€ ๋ชจ๋‘ ๊ฐœ์„ !
  • ๐Ÿš€ ์ด์ œ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ์ง์ ‘ ๊ฒฝํ—˜ํ•˜๊ฒŒ ๋จ.

๐ŸŽฏ 4. ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ์ตœ์ ํ™” - ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์‘๋‹ต & ์ผ์ƒ ๋Œ€ํ™” ์ฒ˜๋ฆฌ ๊ฐœ์„ 


๐Ÿ›‘ ๋ฌธ์ œ ์ƒํ™ฉ

1๏ธโƒฃ ๊ธฐ์กด ํ”„๋กฌํ”„ํŠธ์—์„œ๋Š” ํšŒ์‚ฌ ๋ฌธ์„œ์™€ ๊ด€๋ จ๋œ ์งˆ๋ฌธ์ด ์•„๋‹ˆ๋ฉด AI๊ฐ€ ๋ฌด์กฐ๊ฑด ๊ฑฐ์ ˆ ์‘๋‹ต์„ ํ•จ.

  • "์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค, ๊ด€๋ จํ•œ ์งˆ๋ฌธ์ด ์•„๋‹™๋‹ˆ๋‹ค." ๊ฐ™์€ ๊ณ ์ •๋œ ๋‹ต๋ณ€๋งŒ ์ œ๊ณต โ†’ ๋Œ€ํ™”์˜ ์œ ์—ฐ์„ฑ์ด ๋ถ€์กฑ.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ผ์ƒ์ ์ธ ์งˆ๋ฌธ์„ ํ•˜๋ฉด AI๊ฐ€ ๋„ˆ๋ฌด ๋”ฑ๋”ฑํ•˜๊ฒŒ ๋ฐ˜์‘ํ•จ.

2๏ธโƒฃ ์ •๋ณด ์ œ๊ณต ์‹œ ์ถœ์ฒ˜(Reference)๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์•„ ์‹ ๋ขฐ์„ฑ ๋ถ€์กฑ.

  • AI๊ฐ€ ํšŒ์‚ฌ ๋ฌธ์„œ์—์„œ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜์ง€๋งŒ, ์–ด๋””์„œ ๊ฐ€์ ธ์˜จ ์ •๋ณด์ธ์ง€ ๋ฐํžˆ์ง€ ์•Š์Œ.
  • ์‚ฌ์šฉ์ž๊ฐ€ AI์˜ ์‘๋‹ต์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ถœ์ฒ˜(์ฐธ๊ณ  ๋ฌธํ—Œ)๋ฅผ ํ‘œ์‹œํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ.

โœ… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• - ํ”„๋กฌํ”„ํŠธ ๊ฐœ์„  ๋ฐ ์‹คํ—˜ ๊ณผ์ •

1) ์ผ์ƒ์ ์ธ ๋Œ€ํ™”๋„ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ”„๋กฌํ”„ํŠธ ๊ฐœ์„ 

๐Ÿ’ก ๊ธฐ์กด:

  • "You are a company service chatbot. If the user's question is not related to company documents, say you cannot answer."
  • โ†’ ๋น„๊ด€๋ จ ์งˆ๋ฌธ์ด๋ฉด ๋ฌด์กฐ๊ฑด ๊ฑฐ์ ˆ.

๐Ÿ’ก ๊ฐœ์„  ํ›„:

  • "You are a friendly and knowledgeable company assistant chatbot. You can engage in casual conversations when the user's question is not related to company documents. If the question is related to official documents, provide an accurate response based on the given sources."
  • โ†’ ์ด์ œ AI๊ฐ€ ์ผ์ƒ ๋Œ€ํ™”๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ์—ฐํ•œ ์‘๋‹ต ์ƒ์„ฑ ๊ฐ€๋Šฅ!

๐Ÿ“Œ ์ถ”๊ฐ€๋œ ํ”„๋กฌํ”„ํŠธ ๊ทœ์น™:
โœ… ์ผ์ƒ์ ์ธ ์งˆ๋ฌธ (Casual Conversation) โ†’ AI๊ฐ€ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋Œ€ํ™” ๊ฐ€๋Šฅ.
โœ… ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์ •๋ณด (Informational Response) โ†’ ๊ณต์‹ ๋ฌธ์„œ ์ฐธ๊ณ ํ•˜์—ฌ ์‘๋‹ต ์ƒ์„ฑ.

2) AI๊ฐ€ ์‘๋‹ต ์œ ํ˜•์„ ์ž๋™์œผ๋กœ ํŒ๋‹จํ•˜๋„๋ก ์—”์ง€๋‹ˆ์–ด๋ง

๐Ÿ’ก ์ƒˆ๋กœ์šด ํ”„๋กฌํ”„ํŠธ ๊ทœ์น™ ์ถ”๊ฐ€:

  • AI๊ฐ€ ์‘๋‹ต์„ ์ƒ์„ฑํ•  ๋•Œ, ์Šค์Šค๋กœ ๋‹ต๋ณ€์ด casual์ธ์ง€ informational์ธ์ง€ ๋ถ„๋ฅ˜ํ•˜๋„๋ก ์„ค๊ณ„.
  • Informational ์‘๋‹ต์ผ ๊ฒฝ์šฐ, ์ฐธ๊ณ ํ•œ ๋ฌธํ—Œ(์ถœ์ฒ˜)์„ ์‘๋‹ต์— ํฌํ•จ.

๐Ÿ“Œ ํ”„๋กฌํ”„ํŠธ ๊ฐœ์„  ๋‚ด์šฉ:

You are a friendly and knowledgeable company service assistant chatbot designed to provide accurate information and support.

1. If the user asks about official company documents, provide a fact-based response and cite the reference documents used.
   - Example: "Based on [Document Name], here is the information: ..."
2. If the question is casual or unrelated to company documents, engage in a friendly and natural conversation.
3. You must classify your response as either "informational" or "casual":
   - If "informational", append the referenced documents at the end of your response.
   - If "casual", simply respond naturally without citing references.

๐Ÿ“Œ ์˜ˆ์ œ ์‘๋‹ต ๋น„๊ต (๊ฐœ์„  ์ „ vs ํ›„)

์งˆ๋ฌธ๊ธฐ์กด ์‘๋‹ต๊ฐœ์„ ๋œ ์‘๋‹ต
"์ ์‹ฌ ๋ญ ๋จน์—ˆ์–ด?""์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค, ๊ด€๋ จํ•œ ์งˆ๋ฌธ์ด ์•„๋‹™๋‹ˆ๋‹ค.""์˜ค๋Š˜ ์ ์‹ฌ ๋ฉ”๋‰ด ์ถ”์ฒœํ•ด๋“œ๋ฆด๊นŒ์š”? ๐Ÿ˜Š"
"์šฐ๋ฆฌ ํšŒ์‚ฌ์˜ ์—ฐ์ฐจ ์‚ฌ์šฉ ๊ทœ์ •์ด ๋ญ์•ผ?""์šฐ๋ฆฌ ํšŒ์‚ฌ์˜ ์—ฐ์ฐจ ๊ทœ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค...""๐Ÿ“Œ ์ถœ์ฒ˜: Employee Handbook 2023 \n ์—ฐ์ฐจ ๊ทœ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค..."
"๋‚˜์˜ ๊ทผ๋ฌด ์‹œ๊ฐ„์€ ๋ช‡ ์‹œ๋ถ€ํ„ฐ ๋ช‡ ์‹œ๊นŒ์ง€์•ผ?""์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค, ๊ด€๋ จํ•œ ์งˆ๋ฌธ์ด ์•„๋‹™๋‹ˆ๋‹ค.""๊ทผ๋ฌด ์‹œ๊ฐ„์€ 9AM - 6PM์ž…๋‹ˆ๋‹ค. (๐Ÿ“Œ ์ถœ์ฒ˜: HR Policy 2024)"

๐Ÿ“Œ ๊ฒฐ๊ณผ:
โœ… AI๊ฐ€ ๋ฌธ๋งฅ์„ ํŒŒ์•…ํ•˜์—ฌ ์œ ์—ฐํ•˜๊ฒŒ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ!
โœ… ํšŒ์‚ฌ ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์‘๋‹ต์—์„œ๋Š” ์ž๋™์œผ๋กœ ์ฐธ๊ณ  ๋ฌธํ—Œ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์‹ ๋ขฐ์„ฑ ํ™•๋ณด!


๐Ÿ› ๏ธ ์‹คํ—˜ ๊ณผ์ • & ์ตœ์ ํ™” ์ „๋žต

๐Ÿ“Œ ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•
1๏ธโƒฃ ์ผ์ƒ์ ์ธ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜์—ฌ AI๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‘๋‹ตํ•˜๋Š”์ง€ ํ™•์ธ.
2๏ธโƒฃ ์ •๋ณด ๊ธฐ๋ฐ˜ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜๊ณ , ์ถœ์ฒ˜(Reference)๊ฐ€ ํฌํ•จ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธ.
3๏ธโƒฃ ์ž˜๋ชป๋œ ์‘๋‹ต์ด ๋‚˜์˜ค์ง€ ์•Š๋„๋ก ํ”„๋กฌํ”„ํŠธ๋ฅผ ์กฐ์ •ํ•˜๋ฉฐ ์ตœ์ ํ™”.

๐Ÿ“Œ ์‹ค์ œ ์‹คํ—˜ ๊ฒฐ๊ณผ ๋ถ„์„ (๋กœ๊ทธ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ ์ง„ํ–‰)

์งˆ๋ฌธ ์œ ํ˜•AI ์‘๋‹ต (๊ฐœ์„  ์ „)AI ์‘๋‹ต (๊ฐœ์„  ํ›„)๊ฐœ์„  ์—ฌ๋ถ€
์ผ์ƒ ๋Œ€ํ™”"์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค, ๊ด€๋ จํ•œ ์งˆ๋ฌธ์ด ์•„๋‹™๋‹ˆ๋‹ค.""์ข‹์€ ์งˆ๋ฌธ์ด๋„ค์š”! ์–ด๋–ค ์ ์ด ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?"โœ… ์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™” ๊ฐ€๋Šฅ
ํšŒ์‚ฌ ๊ทœ์ • ์งˆ๋ฌธ"์—ฌ๊ธฐ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”." (์ถœ์ฒ˜ ์—†์Œ)"๐Ÿ“Œ ์ถœ์ฒ˜: Company Handbook 2024 \n ์—ฌ๊ธฐ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”."โœ… ์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ
๋น„์ฆˆ๋‹ˆ์Šค ๊ด€๋ จ ์งˆ๋ฌธ"์ด ์ •๋ณด๋Š” ์—†์Šต๋‹ˆ๋‹ค.""์ œ๊ฐ€ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๊ฐ€ ์—†์ง€๋งŒ, HR ํŒ€์— ๋ฌธ์˜ํ•ด๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค."โœ… ์นœ์ ˆํ•œ ๊ฐ€์ด๋“œ ์ถ”๊ฐ€

๐Ÿ“Œ ๊ฒฐ๊ณผ:

  • โœ… AI์˜ ์‘๋‹ต์ด ๋” ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ์นœ์ ˆํ•˜๊ฒŒ ๊ฐœ์„ ๋จ.
  • โœ… LLM์ด ์‘๋‹ต ์œ ํ˜•์„ ๋ถ„๋ฅ˜ํ•˜์—ฌ ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์ •๋ณด์—๋Š” ์ถœ์ฒ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋„๋ก ์ตœ์ ํ™”๋จ.
  • โœ… ์‚ฌ์šฉ์ž๊ฐ€ AI ์‘๋‹ต์„ ๋” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„.

๐Ÿ”ฅ ํ”„๋กฌํ”„ํŠธ ์ตœ์ ํ™” ํ›„ ๋ฐฐ์šด ์  & ๋Š๋‚€ ์ 

โœ… ํ”„๋กฌํ”„ํŠธ์—์„œ AI์˜ "์—ญํ• "์„ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ •์˜ํ•˜๋ฉด ์‘๋‹ต ํ’ˆ์งˆ์ด ํ–ฅ์ƒ๋œ๋‹ค!
โœ… ์‘๋‹ต ์œ ํ˜•(Classification)์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์‹œํ•˜๋ฉด AI๊ฐ€ ์ƒํ™ฉ์— ๋งž๊ฒŒ ๋” ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋™์ž‘ํ•œ๋‹ค.
โœ… ์ถœ์ฒ˜๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์‚ฌ์šฉ์ž๊ฐ€ AI์˜ ์‘๋‹ต์„ ๋” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
โœ… AI๊ฐ€ ๋„ˆ๋ฌด ๋”ฑ๋”ฑํ•˜๋ฉด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ๋–จ์–ด์ง€๋ฏ€๋กœ, "Casual"ํ•œ ๋Œ€ํ™” ๊ธฐ๋Šฅ๋„ ์ค‘์š”ํ•˜๋‹ค!
โœ… ํ”„๋กฌํ”„ํŠธ๋Š” ํ•œ ๋ฒˆ ๋งŒ๋“ค๊ณ  ๋๋‚˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์ง€์†์ ์œผ๋กœ ์‹คํ—˜ํ•˜๊ณ  ๊ฐœ์„ ํ•ด์•ผ ํ•œ๋‹ค.


๐Ÿ“Œ ์ตœ์ข… ์ •๋ฆฌ (TL;DR)

  • ๊ธฐ์กด ์ฑ—๋ด‡์€ ์ผ์ƒ ๋Œ€ํ™”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ , ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์‘๋‹ต์— ์ถœ์ฒ˜๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Œ.
  • โœ… ํ”„๋กฌํ”„ํŠธ ๊ฐœ์„ :
    • ๐ŸŽฏ Casual ๋Œ€ํ™” ๊ฐ€๋Šฅํ•˜๋„๋ก ์œ ์—ฐ์„ฑ ์ถ”๊ฐ€.
    • ๐Ÿ“Œ Informational ์‘๋‹ต ์‹œ ์ถœ์ฒ˜(Reference) ํฌํ•จํ•˜๋„๋ก ์„ค์ •.
    • ๐Ÿ› ๏ธ AI๊ฐ€ ์‘๋‹ต ์œ ํ˜•์„ ์Šค์Šค๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™” ํ๋ฆ„ ์œ ์ง€.
  • ๐Ÿš€ ๊ฒฐ๊ณผ:
    • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐœ์„  (๋” ์ž์—ฐ์Šค๋Ÿฌ์šด ์‘๋‹ต ๊ฐ€๋Šฅ!)
    • ์ •๋ณด์˜ ์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ (์ถœ์ฒ˜ ํฌํ•จ!)
    • AI์˜ ์ผ๊ด€๋œ ์‘๋‹ต ํ’ˆ์งˆ ํ™•๋ณด!

๐Ÿ› ๏ธ 5. ๋ฌธ์„œ ํฌ๋กค๋ง & ๋ฒกํ„ฐ DB ์ €์žฅ - ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ตœ์ ํ™”


๐Ÿ›‘ ๋ฌธ์ œ ์ƒํ™ฉ

1๏ธโƒฃ ๊ธฐ์กด์—๋Š” ๋‹จ์ˆœํžˆ ํ…์ŠคํŠธ๋งŒ ๋ฒกํ„ฐ DB์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹

  • ๋ฌธ์„œ๋ฅผ ํฌ๋กค๋งํ•œ ํ›„, text๋งŒ ๋ฒกํ„ฐํ™”ํ•˜์—ฌ FAISS์— ์ €์žฅ.
  • ์ถœ์ฒ˜(title) ์ •๋ณด๊ฐ€ ์—†์–ด์„œ, ์–ด๋–ค ๋ฌธ์„œ์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ์ธ์ง€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†์—ˆ์Œ.

2๏ธโƒฃ ์‚ญ์ œ ๋ฐ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ์–ด๋ ค์›€

  • ๋ฒกํ„ฐ DB๋Š” ์ผ๋ฐ˜์ ์ธ ๊ด€๊ณ„ํ˜• DB์™€ ๋‹ฌ๋ฆฌ ID ๊ธฐ๋ฐ˜ ์‚ญ์ œ ๊ธฐ๋Šฅ์ด ์ œํ•œ์ .
  • ๊ธฐ์กด ๋ฐฉ์‹์—์„œ๋Š” ํŠน์ • ๋ฌธ์„œ๋ฅผ ๋ฒกํ„ฐ DB์—์„œ ์‚ญ์ œํ•˜๋ ค๋ฉด ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Œ.

3๏ธโƒฃ AI ์‘๋‹ต ์ƒ์„ฑ ์‹œ ์ฐธ๊ณ  ๋ฌธํ—Œ ์ •๋ณด ์ œ๊ณต ํ•„์š”

  • AI๊ฐ€ ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ์—์„œ ์‘๋‹ต์„ ์ƒ์„ฑํ•  ๋•Œ, ์–ด๋–ค ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ–ˆ๋Š”์ง€ ์ถœ์ฒ˜(title)๋ฅผ ํฌํ•จํ•ด์•ผ ํ–ˆ์Œ.
  • ํ•˜์ง€๋งŒ ๊ธฐ์กด ๋ฐฉ์‹์—์„œ๋Š” ๋ฒกํ„ฐ DB์—์„œ ๊ฒ€์ƒ‰๋œ ํ…์ŠคํŠธ๋งŒ ๋ฐ˜ํ™˜ โ†’ ์ถœ์ฒ˜(title)๋ฅผ ํ™œ์šฉํ•  ๋ฐฉ๋ฒ•์ด ์—†์—ˆ์Œ.

โœ… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• - Document ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ตฌ์กฐ ๋„์ž…

๐Ÿ’ก 1) ๋ฒกํ„ฐ DB์— ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ฐœ์„ 
๐Ÿ“Œ ํ…์ŠคํŠธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ฌธ์„œ์˜ ์ถœ์ฒ˜(title) ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ์ €์žฅ!

from langchain.schema import Document

# ๊ธฐ์กด ๋ฐฉ์‹ (๋‹จ์ˆœ ํ…์ŠคํŠธ ์ €์žฅ)
text = "This is a sample document about AI."
faiss.add_texts([text])

# ๊ฐœ์„ ๋œ ๋ฐฉ์‹ (๋ฌธ์„œ ์ •๋ณด + ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํฌํ•จ)
document = Document(
    page_content="This is a sample document about AI.",
    metadata={
        "title": "AI Research Paper 2023",
        "source": "https://example.com/ai-research",
    }
)
faiss.add_documents([document])

๐Ÿ“Œ ๊ฒฐ๊ณผ:
โœ… ๋ฒกํ„ฐ DB์—์„œ ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ์˜ ์ถœ์ฒ˜(title)๊นŒ์ง€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ ๊ฐ€๋Šฅ!
โœ… ๋ฌธ์„œ์˜ ์ถœ์ฒ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ(์‚ญ์ œ, ์—…๋ฐ์ดํŠธ)๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง.

๐Ÿ’ก 2) ๋ฌธ์„œ ID ๊ธฐ๋ฐ˜ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
๐Ÿ“Œ ๋ฒกํ„ฐ DB์—์„œ ํŠน์ • ๋ฌธ์„œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก title์„ ID์ฒ˜๋Ÿผ ํ™œ์šฉ

# ๋ฒกํ„ฐ DB์—์„œ ํŠน์ • ๋ฌธ์„œ ์‚ญ์ œ
def delete_document_by_title(faiss, title):
    docs = faiss.similarity_search_with_score(title, k=10)  
    for doc, score in docs:
        if doc.metadata.get("title") == title:
            faiss.delete(doc)  # ํŠน์ • ๋ฌธ์„œ๋งŒ ์‚ญ์ œ

๐Ÿ“Œ ๊ฒฐ๊ณผ:
โœ… ๋ถˆํ•„์š”ํ•œ ๋ฌธ์„œ๋ฅผ ์†์‰ฝ๊ฒŒ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€!
โœ… ๋ฒกํ„ฐ DB์—์„œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ.

๐Ÿ’ก 3) AI๊ฐ€ ์ฐธ๊ณ  ๋ฌธํ—Œ์„ ์ž๋™์œผ๋กœ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ •๋ฆฌ

  • AI๊ฐ€ ์‘๋‹ต์„ ์ƒ์„ฑํ•  ๋•Œ, ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์„ ํ†ตํ•ด informational ์‘๋‹ต์ผ ๊ฒฝ์šฐ ์ถœ์ฒ˜(title)๋ฅผ ํฌํ•จํ•˜๋„๋ก ์„ค์ •.
  • ๋‚˜๋Š” ๋ฒกํ„ฐ DB์—์„œ ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(title, source)๋ฅผ LLM์— ๋„˜๊ฒจ์ฃผ๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰.
  • AI๊ฐ€ ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‘๋‹ต์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•จ.

๐Ÿ“Œ ๊ฒฐ๊ณผ:
โœ… ๋‚ด๊ฐ€ ์ง์ ‘ ์‘๋‹ต์— ์ถœ์ฒ˜๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•„๋„, ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ†ตํ•ด AI๊ฐ€ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„!
โœ… ์ •๋ณด ์ œ๊ณต์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ฐธ๊ณ  ๋ฌธํ—Œ์ด ํฌํ•จ๋˜๋ฉด์„œ ์‹ ๋ขฐ๋„ ํ–ฅ์ƒ.


๐Ÿ› ๏ธ ๋ฒกํ„ฐ DB ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ฐœ์„  ํ›„ ์–ป์€ ์ด์ 

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๊ฐ€ ์‰ฌ์›Œ์ง!

  • โœ… ๋ฌธ์„œ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ โ†’ ํ•„์š” ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์†์‰ฝ๊ฒŒ ์ œ๊ฑฐ ๊ฐ€๋Šฅ.
  • โœ… ๋ฒกํ„ฐ DB์—์„œ ํŠน์ • ๋ฌธ์„œ๋ฅผ ID ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ.

๐Ÿ“Œ AI ์‘๋‹ต์˜ ์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ!

  • โœ… AI๊ฐ€ ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ์ •๋ณด๋ฅผ ๋ณด๋‹ค ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„.
  • โœ… ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•˜๋ฉด์„œ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง๊ณผ์˜ ์—ฐ๊ณ„๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์—ˆ์Œ.

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•˜๋ฉด์„œ ์‹œ์Šคํ…œ ์„ค๊ณ„์— ๋Œ€ํ•œ ๊นŠ์€ ๊ณ ๋ฏผ์„ ํ•  ์ˆ˜ ์žˆ์—ˆ์Œ!


๐Ÿ”ฅ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ตœ์ ํ™” ํ›„ ๋ฐฐ์šด ์  & ๋Š๋‚€ ์ 

โœ… ํ…์ŠคํŠธ๋งŒ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊นŒ์ง€ ๊ณ ๋ คํ•ด์•ผ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค.
โœ… ๋ฒกํ„ฐ DB๋Š” ๊ด€๊ณ„ํ˜• DB์™€ ๋‹ค๋ฅด๊ฒŒ ID ๊ธฐ๋ฐ˜ ์‚ญ์ œ๊ฐ€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์—, ID์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ํ•„๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
โœ… AI์˜ ์‘๋‹ต ์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฐธ๊ณ  ๋ฌธํ—Œ(title)์„ ํ•จ๊ป˜ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ •๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.
โœ… ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ฏผํ•˜๋Š” ๊ณผ์ •์ด ๊ฒฐ๊ตญ ์ „์ฒด์ ์ธ ๊ฒ€์ƒ‰ & ์‘๋‹ต ํ’ˆ์งˆ ๊ฐœ์„ ์œผ๋กœ ์ด์–ด์ง„๋‹ค!


๐Ÿ“Œ ์ตœ์ข… ์ •๋ฆฌ (TL;DR)

  • ๊ธฐ์กด์—๋Š” ํ…์ŠคํŠธ๋งŒ ๋ฒกํ„ฐ DB์— ์ €์žฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์„œ ๊ด€๋ฆฌ ๋ฐ ์ถœ์ฒ˜ ์ œ๊ณต์ด ์–ด๋ ค์›€.
  • โœ… ๋ฒกํ„ฐ DB์— ๋ฌธ์„œ title, ์ถœ์ฒ˜ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ฐœ์„ .
  • โœ… title์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์„œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€.
  • โœ… AI ์‘๋‹ต ์ƒ์„ฑ ์‹œ ์ฐธ๊ณ  ๋ฌธํ—Œ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ •๋ฆฌ.
  • ๐Ÿš€ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฌธ์„œ ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ์˜ ๊ด€๋ฆฌ & ์‘๋‹ต ํ’ˆ์งˆ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋จ!

profile
Spring Boot ๋ฐฑ์—”๋“œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด