๋ค์ฏ๋ฒ์งธ ์น์ RAG ๊ธฐ๋ฐ ๋ํํ ์ฑ๋ด ๋ง๋ค๊ธฐ์ ๋๋ค. ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋๋ค.!pip install streamlit-chat!pip install streamlit!pip install langchain!pip install faiss-cpu ์ค์น ์ดํ ์ฃผ์์ฒ๋ฆฌ ํด์ค๋๋ค RAG์ ์ฐ์ผ ๋ฐ์ดํฐ๋ PDF์ ๋๋ค.PDF๋ฅผ loadํ ๋ค, ๊ฐ์ ธ์จ ํ ์คํธ๋ฅผ ์๋ฒ ๋ฉ ์ฒ๋ฆฌ ์ดํ ํ์ด์์ค์ ์ ์ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฌ์ค๊ณ , open ai key๋ฅผ ์ ๋ ฅํฉ๋๋ค sk-import streamlit as stfrom streamlit_chat import messagefrom langchain.embeddings.openai import OpenAIEmbeddingsfrom langchain..
์ฒซ๋ฒ์งธ ์น์ ๊ฐ๋จํ ์ฑ๋ด ๋ง๋ค๊ธฐ RAG๊ตฌํ์ ๋ฐฉ์์ด ์๋์ฑGPT๋ชจ๋ธ์ ๊ฐ์ ธ์์ ๋ง๋๋ ์ฑ๋ด์ ๋๋ค !pip install langchain!pip install streamlit!pip install openai!pip install langchain_community ๋จผ์ ์๋์ฝ๋ค ๊ฐ์ํ๊ฒฝ์ langchain, streamlit, openai ๋ฅผ ์ค์นํด์ค๋๋ค ๊ทธ๋ฆฌ๊ณ ์ฑ๋ด ์ฝ๋ ์์ฑ import streamlit as stfrom langchain.chat_models import ChatOpenAIst.set_page_config(page_title="๋ฌด์์ด๋ ์ง๋ฌธํ์ธ์~")st.title('๋ฌด์์ด๋ ์ง๋ฌธํ์ธ์~')import osos.environ["OPENAI_API_KEY"] = "sk-"def..
LLM ์ด๋ ๋๊ท๋ชจ '์ธ์ด ๋ชจ๋ธ'์ผ๋ก์ปดํจํฐ์๊ฒ ์ธ์ด๋ฅผ ๊ฐ๋ฅด์น๋ ๋ฐฉ๋ฒ ์ด๋ค. ์ฌ๋ฌ๊ฐ์ง ์ธ์ด ๋ชจ๋ธ์ด ์กด์ฌ 1. ํต๊ณ์ ์ธ์ด ๋ชจ๋ธ - ์ด์ฐฝ๊ธฐ ์ธ์ด ๋ชจ๋ธ๋ก ํต๊ณ๋ฅผ ๊ธฐ๋ฐํ์ฌ ํ์ต n-gram ํํThe cat sat on the mat 1-gramThe / cat / sat / on / the / mat 2-gramThe cat / cat sat / sat on ... 3-gramThe cat sat / cat sat on .... -> ํต๊ณ์ ํจํด ํ์ต์ ํตํ ์์ธก๋จ์ : ๋ฌธ๋งฅ ์ดํด๋๊ฐ ๋จ์ด์ง 2. ์ ๊ฒฝ๋ง ์ธ์ด ๋ชจ๋ธ ์ธ๊ฐ์ ๋ด๋ฐ ์ธํฌ๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด ์ ๋ณด ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋ณธ ๋ฐ ๋ง๋ฆ ์ ๋ ฅ์ธต -> ์๋์ธต(๋ฐ์ดํฐ ์ฒ๋ฆฌ, ํจํด ํ์ต) -> ์ถ๋ ฅ์ธต ๋ํ์ ์ธ ์ ๊ฒฝ๋ง ์ธ์ด ๋ชจ๋ธ1) RNN(Recurrent Neura..
์จ๋ผ์ธ ๊ฑฐ๋(๊ธ์ต, ๊ฒฐ์ ๋ฑ)์ ํต์ฌ์ ์ธ ๊ธฐ์ - ๊ณต๊ฐํค ์ํธํ - ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ ๊ฑฐ๋ ๊ณผ์ ์์ ๋ ๊ฐ์ง ์ฃผ์ ์ฌ์์ ์ฒ๋ฆฌํ๋ค. 1. ํจ์จ์ฑ - ์์ฒ ๋ช ์ ๊ณ ๊ฐ์ด ์ถฉ๋์ด๋ ๋ชจ์ ์์ด ๋์์ ๊ฑฐ๋๋ฅผ ์ํํ๊ฒ ํ๋๋ก ํจ2. ์ ๋ขฐ์ฑ - ๋ฐ์ดํฐ ์์ค์ ์ผ์ผํค๋ ๋ฌธ์ (๋ฌผ๋ฆฌ์ ๊ฒฐํจ)๊ฐ ๋ฐ์ํด๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ๋๋ก ํจ ------------------------------------------------------------------------------------------------ ๋ฐ์ดํฐ๋ฒ ์ด์ค- ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ํ ์ด๋ธ ์ด๋ผ๊ณ ๋ณผ ์ ์์ผ๋ฉฐ,- ์ผ๊ด๋์ด์ผ ํ๋ค e.g.1. A์ ์น๊ตฌ B, C2. B์ ์น๊ตฌ D (์ผ๊ด์ฑ์ ์ด๊ธ๋จ) - ์์ ์ฒ๋ฆฌ์ค ์คํจํ ๊ฒฝ์ฐ ๋ถ์ผ์น๊ฐ ์ผ์ด๋ ์ ์์...
1. ์ฌ์ฉ์์๊ฒ ๋ธ๋๋ฉ ๋์์ธ(UI)์ ์ดํํ๊ธฐ ๋ณด๋ค๋ ๋ณด๋ค๋ ์ข์ UX๋ฅผ ์ ๊ณตํ๊ณ ๊ทธ๊ฒ ๊ณง ๋ธ๋๋ฉ์ด ๋จ (#7) 2. ํฐํธ๋ 2๊ฐ์ง๋ง ์ฌ์ฉ (ํ์ดํ์ฉ, ๋ณธ๋ฌธ์ฉ) 3. ๊ธ์ ํฌ๊ธฐ์ ๊ตต๊ธฐ๋ก ์ ๋ณด ์ฒด๊ณ ํํ (ํ์ง๋ง ํฌ๊ธฐ ์ข ๋ฅ๊ฐ 2~3๊ฐ์ง ๋์ง์๋๋ก) 4. ํด๋ฆฌ์คํฑ(์ผ์ ์ํ์ ๊ฒฝํ)์ด ์ ์ฉ๋ UI UX๋ฅผ ์ ๊ณต 5. ๊ฒ์ ์ ๋ ฅ ์ฐฝ์ ๋๋ณด๊ธฐ ๋ฒํผ๊ณผ ๊ฐ์ด ์จ์ผํจ(+ ํฐ์น ์ ํค๋ณด๋๊ฐ ์ฌ๋ผ์์ผํจ) 6. ์ฌ๋ผ์ด๋ UI๋ ์๋ํ ํ ์ ์๋ ๊ฐ์๋ง(e.g. ๋ณผ๋ฅจ, ๋ฐ๊ธฐ, ์ปฌ๋ฌ๋ฏน์ค) 7. ์ ํ ์ฌํญ์ด 2๊ฐ์ง๋ผ๋ฉด ๋ผ๋์ค ๋ฒํผ, ์ฌ๋ฌ ๊ฐ์ง์ผ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ํผ์ปค UI (์ฌ๋ฌ๊ฐ์ง ์ผ ๊ฒฝ์ฐ Filter ์ ๋ ฅ์ฐฝ์ ์ถ๊ฐํ๋ฉด ์ข์) 8. ๊ฐ๋ก ์คํฌ๋กค ์ง์, ์ธ๋ก ์คํฌ๋กค ์งํฅ 9. ์ธํผ๋ํฐ ์คํฌ๋กค์ ํผ๋์์๋ง (+ํ์ด์ง๋๋ฒ๋งํ๋ฉด์ข์)..
๊ณต๊ฐํค ์ํธํ์์๋ณด๊ธฐ์ ์์ ์๊ฒจ๋๊ฒ๋ ๋ฐ๋จ์ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋จ- ๋น๋ฐ ์ฝ์๋ฅผ ์ฐ๊ณ ์ถ์ ๋น๋ฐ ์ฝ์๋ฅผ ์ฐ๋ ๋ฐฉ๋ฒ 2๊ฐ์ง 1. ๋น๋ฐ ๋ด์ฉ์ ์ฝ์์ ์ ์ด์ ๋ณด๋ -> ๋ด์ฉ์ด ์ ์ถ๋ ์ ์์ 2. ๋น๋ฐ ์ฝ๋๋ฅผ ์ฝ์์ ์ ์ด์ ๋ณด๋ (์ํธํ) -> ์์ ์๋ง ํด๋ ๊ฐ๋ฅ (๋ณตํธํ) - ์กฐ๊ฑด: ๊ณต์ ๋ ๋น๋ฐ์ฝ๋๊ฐ ์์ ๊ฒฝ์ฐ(๊ณต๊ฐ ํค) - ํค(key)๋: ๋ณตํธํ ํ ๋ ์ฌ์ฉ๋๋ ์ซ์ (์ด์ ๋ก ๋ฌธ์ ๋ฐ๋ ๊ฒ๊ณผ ๊ฐ์) ์ํธํ ๋ฐฉ์ 1. 128 ๋นํธ ์ํธํ -> 38์๋ฆฌ ์ซ์ํค๋ฅผ ์ด์ฉํจ 2. ๋ธ๋ก ์ํธ -> ๋ฉ์ธ์ง๋ฅผ 10~15์ ๋จ์ ๋ธ๋ก์ผ๋ก ํค๋ ์์ด ์ํธํ -> ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ธ๋ก ์ํธ๋ AES -> 16์ ๋ธ๋ก์ 128๋นํธ ํค์ ํจ๊ป 10์ฐจ๋ก ํผํฉํ์ฌ ์ํธํ ..
๋ณตํฉํจํด - ์ฌ๋ฌ ํจํด์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ ๋ณตํฉ ํจํด ์์ - ์ค๋ฆฌ ์๋ฎฌ๋ ์ด์ ๊ฒ์ public interface Quackable { public void quack(); } public class MallardDuck implements Quackable { public void quack() { System.out.println("๊ฝฅ๊ฝฅ"); } } public class DuckCall implements Quackable { public void quack() { System.out.println("๊ฝ๊ฝ"); } } public class DuckSimulator { public static void main(String[] args) { DuckSimulator simulator = new Du..
ํ ํ๋ฆฟ ๋ฉ์๋ ํจํด - ์๊ฐ ์์ ์์ค์์ ์๊ณ ๋ฆฌ์ฆ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ ํ์ ํด๋์ค์์ ๊ตฌ์ฒด์ ์ธ ๋จ๊ณ๋ฅผ ๊ตฌํํ๋ ํจํด์ ๋๋ค. - ์ฅ์ ์ฝ๋ ์ค๋ณต์ ์ค์ด๊ณ ์ ์ฐ์ฑ์ ๋์ผ ์ ์๋ค. - ์์ class Coffee { func boilWater() { print("๋ฌผ ๋์ด๋ ์ค") } // ๊ณตํต func brew() { print("ํํฐ๋ฅผ ํตํด ์ปคํผ๋ฅผ ์ฐ๋ ค๋ด๋ ์ค") } func pourInCup() { print("์ปต์ ๋ฐ๋ฅด๋ ์ค") } // ๊ณตํต func addCondiments() { print("์คํ๊ณผ ์ฐ์ ๋ฅผ ์ถ๊ฐํ๋ ์ค") } } class Tea { func boilWater() { print("๋ฌผ ๋์ด๋ ์ค") } // ๊ณตํต func brew() { print("์ฐจ๋ฅผ ์ฐ๋ ค๋ด๋ ์ค") } func p..
ํผ์ ๊ฐ๊ฒ๋ฅผ ์ด์ํ๋ฉฐ ํฉํ ๋ฆฌ ํจํด์ ๋ํด ์์๊ฐ๋ณด๊ฒ ์ต๋๋ค. ๋จผ์ ํผ์๋ฅผ ์ฃผ๋ฌธ๋ฐ์ต๋๋ค. ์ฃผ๋ฌธ์ ๋ฐ์ผ๋ฉด ํผ์ ํ์ ์ ๊ฒฐ์ ํ๊ณ , ์ค๋นํ๊ณ ํฌ์ฅํ๊ณ ํผ์๋ฅผ ๋ฐํํ๋ ๊ณผ์ ์ ๋๋ค. protocol Pizza { var name: String { get } func prepare() func bake() func cut() func box() } class CheesePizza: Pizza { var name: String { return "Cheese Pizza" } func prepare() { print("Preparing \(name)") } func bake() { print("Baking \(name)") } func cut() { print("Cutting \(name)") } func box() { p..
๋์์ธ ์์น - ๋ฌ๋ผ์ง๋ ๋ถ๋ถ์ ๋ถ๋ฆฌ, ๋ฌ๋ผ์ง์ง ์๋ ๋ถ๋ถ์ ์บก์ํ ํ๋ค. ๊ตฌํ ์์ฃผ๊ฐ ์๋, ์ธํฐํ์ด์ค ์์ฃผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋ ์ ์ง๋ณด์ ํ๊ธฐ๊ฐ ์ฉ์ดํ๋ค. ์ธํฐํ์ด์ค์ ๊ตฌํํด์ผํ ๊ธฐ๋ฅ์ ์ ์ํ๊ณ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ์ฑํํ๋ class์ ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค e.g. ์๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๋ ค๊ณ ํฉ๋๋ค ์๋ ์ฌ๋ฌ ์ข ๋ฅ๊ฐ ์์ต๋๋ค. ์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ง์ ํ๋๋ฐ ๋ ์๋์๊ณ ๋ ์ง ๋ชปํ ์๋ ์์ต๋๋ค. ๋์์ธ ์์น์ ์ ์ฉํ์ฌ ์ธํฐํ์ด์ค ์์ฃผ์ ๊ตฌํ์ ํด๋ณด๊ฒ ์ต๋๋ค. ์ธํฐํ์ด์ค์๋ ๋ ๊ฐ์งํ๋ค๋ Fly ํจ์๊ฐ ์ ์๋์ด์๊ณ (์บก์ํ) ๋ ์์๋ class์ ๋ ์ง ๋ชปํ๋ class๋ก ๋ถ๋ฆฌํ์ฌ ๋ถ๋ฅํฉ๋๋ค ํด๋น class๋ ๋ชจ๋ Fly๋ผ๋ ํจ์๊ฐ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์์ํฉ๋๋ค ์ด๋ ๊ฒ ์์ฑํ ๊ฒฝ์ฐ ๋๋ ์, ๋ ์ง ๋ชปํ๋ ์ ๋ชจ๋ ๋..
- Total
- Today
- Yesterday
- focus timer ์ดํ
- rag ๊ธฐ๋ฐ llm
- swift get excel
- swift urlsession ๊ณตํตํ
- swift urlsession network module
- swift queryitem encode
- ๋ ๋์ธ์ด
- ๋ ๋์ธ์ด ์ดํ
- ๊ณต๋ถ ํ์ด๋จธ ์ดํ
- llm csv
- swift urlcomponent encode
- swift ์์ ๊ฐ์ ธ์ค๊ธฐ
- swift filemanager get excel
- swift urlsession module
- llm pdf rag
- rag ๊ธฐ๋ฐ llm ์ฑ๋ด
- swift excel read
- swift ์๊ฐ
- swift ์์ ์ฝ๊ธฐ
- chatgpt rag llm
- swift network ๊ณตํตํ
- filemanager excel read
- swift ๋คํธ์ํฌ ๋ชจ๋ํ
- swift urlsession refactoring
- swift network module
- rag llm pdf
- swift network refactoring
- swift filemanager excel
- readysay
- ์๋์ํํธ ๋ ์ด์ธ์ด
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |