@@teddynote prompt = ChatPromptTemplate.from_messages( [ ( "system", """You are an expert in perfumes. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say you don't know:
์๋์ฐ ์ฌ์ฉ์์ ๋๋ค. ollama run EEVE-Korean-10.8B:latest์ ์คํํ๋ฉด llama runner process no longer running: 1 error:failed to create context with model ์ด๋ผ๋ ์ค๋ฅ๊ฐ ๋จ๋๋ฐ, ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น์?ใ ใ
ํน์ ollama ์๋ ์๋ฌ๋ ์ ๋จ๋๊ฑด์ง ์์ค๊น์? ๊ตฌ๊ธ๋งํด๋ ์์๋์ค๋ค์ ValueError: Ollama call failed with status code 500. Details: {"error":"llama runner process no longer running: -1 CUDA error: the provided PTX was compiled with an unsupported toolchain. current device: 0, in function ggml_cuda_compute_forward at /root/parts/ollama/build/llm/llama.cpp/ggml-cuda.cu:2212 err GGML_ASSERT: /root/parts/ollama/build/llm/llama.cpp/ggml-cuda.cu:60: !\"CUDA error\""}
00:00 ์ธํธ๋ก
00:57 ๋ก์ปฌ ๋ชจ๋ธ ์ฌ์ฉ ์ ๊ฑฑ์ ๊ฑฐ๋ฆฌ
02:21 EEVE ๋ชจ๋ธ ์๊ฐ(์ผ๋์ ์ค๋ผ์)
02:43 ๊ตฌ์กฐ ์๊ฐ
04:00 GGUF ํ์ผ
04:49 ์ผ๋์ ์ค๋ผ์2
05:15 Heegyu๋ GGUF
06:25 ๋ค์ด๋ก๋ ๋ฐ๊ณ modelfile
09:28 EEVE ๋ชจ๋ธ ์ค์น
10:42 Ollama์ ์ฌ๋ฆฐ ๋ชจ๋ธ ํ ์คํธ
11:34 LangServe ์ค์
12:30 ์ค์ ์ค๋ช
13:01 ์๋ฒ ๊ตฌ๋
13:35 asitop (GPU ๋ชจ๋ํฐ๋ง)
16:45 ๋ค์ ๋จ๊ณ(ํ์ฉ)
17:44 Remote Chain(LCEL)
18:52 ์๋ฒ์ ์ธํ ํ๊ธฐ
20:14 ngrok ํฌํธ ํฌ์๋ฉ
23:01 llm runnable
24:18 ๋ฒ์ญ๊ธฐ
25:05 remote runnable RAG
26:01 Streamlit ํ ์คํธ
26:44 pdf RAG ํ ์คํธ
๊ฐ์ฌํฉ๋๋ค๐ฑ๐
์์ค์ฝ๋๋ ์ ๋ฆฌํด์ 3์๊ฐ ๋ด๋ก ์ ๋ก๋ ํด๋๋ฆด๊ป์~ ์ข์ ๋ฐค ๋์ธ์.
vscode๋ด ์์ค ํ๋ฉด์์ ์์ฑํ ์์ด์ฝ์ด ๋์ค๋๊ฑด ๋ฌด์จ ์ต์คํ ์ ์ธ๊ฐ์?
@@๋งํฌ์ IT Github Copilot Extension ์ ๋๋ค!
16:00 ๋ถํฐ ๋งฅ๋ถ์ด ๋ฒ๊ฑฐ์ ํด์ ์บ ๋ ๋๊ธฐ๋๊ฒ ์๊ธฐ๋ค์ ใ ใ
์์ ํญ์ ์ ๋ณด๊ณ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค~~!
๋งฅ๋ถ์ด ๋๋ฌด ํ๋ค์ด ํฉ๋๋ค๐ญ๐ญ๐ญ ์์ฒญ ๊ฐ์ฌํฉ๋๋ค๐๐
์ค๋ช ๋๋ฌด ์ ๋ค์์ต๋๋ค. ๋ฉ์ง ๊ฐ์์ ๋๋ค!
์ ๋์ ์์ฌํ์ต๋๋ค! ์กด๊ฒฝํ๋ ๊ต์๋๊ป์ ๋๊ธ ๋ฌ์์ฃผ์๋ ์๊ด์ ๋๋ค. ๊ต์๋์ ๋ชจ๋๋ฅผ ์ํ ๋ฅ๋ฌ๋ ๋ฃ๊ณ ๋ง์ด ๋ฐฐ์ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค๐๐
์ค ์ด ๋๊ธ์ ์ ๋ง ๊ทํ๋ค์
๊ฐ์ฌํฉ๋๋ค.
์์ด์ฟ ์ด๋ ๊ฒ ํฐ ๊ธ์ก์...๐ญ ๊ฐ์ฌํฉ๋๋ค. ๋ง์๋ ๊ฑฐ ์ฌ๋จน๊ฒ ์ต๋๋ค๐
์ญ์ ํ๊ตญ์ด sllm ์ค์์๋ eeve ๋ชจ๋ธ์ด ์์ฆ ์ธ๊ธฐ๊ฐ ์๋ค์~
์ข์ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค!
์ธ๊ธฐ๊ฐ ์๋๋ฐ์๋ ์ด์ ๊ฐ ์๋๋ผ๊ตฌ์! ๊ฐ์ฌํฉ๋๋ค๐
์์ ๋๋ ๋๊ธฐ๋ฉฐ.. ๋ก์ปฌ์์ ์ ์ฆ..
๐ญ
์ ํธ๊ธฐ์ฌ์ ๋ฐ๋ผํด๋ดค๋๋ฐ ๊ฒ๋ ์๋๋ค์ ์ข์ ์๋ฃ ๊ฐ์ฌํฉ๋๋ค ๐๐
๋์์ด ๋์ จ๋ค๋ ๋คํ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค~!
์๋ ollama๋ก ํ์ ํ๋ฉด์ ๋๋๋๊ณ ์์๋๋ฐ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ๊ณ ๊ตฌ๋ง์ ์ฌ์ด๋ค ์ค์ก์ต๋๋ค...
ใ ใ ใ ใ ใ ๊ฐ์จํฉ๋๋ค.
์ค~~~ ์ข์ ๋ด์ฉ ๊ฐ์ฌํฉ๋๋ค. ์ด๋ฐ๊ฑธ ์ฐพ๊ณ ์์๋๋ฐ์..
์ ๋์~ ์ด๋ฐ๊ฑธ ์ฐพ๋ค๊ฐ ์์์ผ๋ก ๋ง๋ค์์ต๋๋ค ใ
์ข์๊ฐ์ ์ฌ๋ฐ๊ฒ ์ ๋ณด์์ต๋๋ค. ์ค๋๋ ๋ง์ ๊ณต๋ถ๊ฐ ๋์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๋์์ด ๋์ จ๋ค๋ ๋คํ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค ๐
์ ๊ฐ ์ฐพ๋ ๋ด์ฉ์ด๋ค์ ๐ ๐ ๐ ์ ๋๋ค
๊ฐ์ฌํฉ๋๋น๐๐
๋๋ฌด๋๋ฌด ์๋ดค์ต๋๋ค. ์ข์ ์์ ๊ฐ์ฌํฉ๋๋ค.
๋ค ์์ฒญํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค๐๐
๋ด์ฉ์ด ๋๋ฌด ์ข์์ ๋ฐ๋ก ๋ฉค๋ฒ์ฝ ๊ฐ์ ํ์ต๋๋ท!! ๊ฐ์ฌํด์~ ํ ๋๋!
์์ด์ฟ ๋ฉค๋ฒ์ญ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค ์์ผ๋ก๋ ์ข์ ์ฝํ ์ธ ์ ๋ก๋ ํ๊ฒ ์ต๋๋ค๐
์ข์ ์์ ๋๋ฌด ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฌํฉ๋๋ค~^^
์ฌํ๋ฐฉ๋ฒ: ollama create ์คํ์
์๋ฌ๋ฐ์: Error: unknown parameter 'TEMPERATURE'
ํด๊ฒฐ: Modelfile-V02์ ์ฐธ๊ณ , Modelfile์ TEMPERATURE์ temperature ๋ก ๋ณ๊ฒฝ
๊ฐ์ฌํฉ๋๋ค๐
๋ญ์ผ ๋น์ ์๋์์ด ์ฃผ๋ ๋๋ฌด...?
๋๋ฌด ๊ฐ์ฌํฉ๋๋ค...
์ด๋ฉ?! ๋ค ๊ฐ์ ธ๊ฐ์ธ์๐คค
๋ด์ฉ๋ ์ฌ๋ฏธ์๊ณ ์ค๋ช ๋ ์์ ์ดํด๋ฉ๋๋ค. ์ข์ ์ปจํ ์ธ ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค๐๐
ํ๋ฅญํ ๊ฐ์ ๊ณ ๋ง์ต๋๋ค. ๋๋ถ์ ๋งฅ๋ถ์ผ๋ก ๋ก์ปฌ์์ ๋น ๋ฅด๊ฒ ํ ์คํธํด๋ณผ ์ ์์์ต๋๋ค!
์ถํ๋๋ฆฝ๋๋ค!!๐
๊ฐ์ ๋๋ฌด ์ํ์๋ค์. ํฐ ๋์์ด ๋์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค๐๐ ์์ผ๋ก๋ ์ด์ฌํ ํ๊ฒ ์ต๋๋ค!
15:56 ์์ ๋๊ธฐ๋๊ฒ๋ง ๋ด๋ ๋ก์ปฌ ๋ฐ์คํฌํ์์ ์ ๋์๊ฐ๊ณ ์์์ด ๋๊ปด์ง๋๋ค. ๐
์ปดํจํฐ๊ฐ ๋ง์ด ํ๋ค์ด ํ๋๋ผ๊ณ ์๐ญ๐ญ
์๋ ํ์ธ์ :) ๊ตฌ๊ธ๋ง๊ณผ gpt๋ฅผ ์จ๋ด๋ ํด๊ฒฐ์ด ์๋์ด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค,,ใ 10:29 ollama create ์ ํ๋ฉด command must be one of "from", "license", "template", "system", "adapter", "parameter", or "message" ์๋ฌ๊ฐ ๋์ค๋๋ฐ ํด๊ฒฐ๋ฒ์ ์์ค๊น์..?ใ ใ
ํ๋กฌํํธ ํ ํ๋ฆฟ์ ํน์ ์์ ์์ด ๊ทธ๋๋ก ์ฌ์ฉํ์ จ์๊น์? ์์ด๋ฉด ์์ ์ ํ์ จ์๊น์? ๋ง์ฝ ์์ ํ์ จ๋ค๋ฉด ์์ฑํ์ ํ ํ๋ฆฟ์ ๊ณต์ ํด ์ฃผ์๊ฒ ์ด์~?
@@teddynote ollama create EEVE-Korean-10.8B -f EEVE-Korean-Instruct-10.8B-v1.0-GGUF/Modelfile ์ด๋ ๊ฒ ๊ทธ๋๋ก ์ฌ์ฉํ์์ต๋๋ค!
@@teddynote ์๋ ค์ฃผ์ ํ๋กฌํํธ ํ ํ๋ฆฟ ์์ ์์ด ํ์ต๋๋ค!
๊ฐ์ ์ ๋ง ์ ๋ดค์ต๋๋ค. ๋ง์ง๋ง streamlit ์์ ๊ตฌ๋ํ ๋ ๋ต๋ณ์ด ๋ค ์์ฑ๋ ํ์ ๋์ค๋ ๊ฒ ๋ง๊ณ stream ํ์์ผ๋ก ๋์ค๊ฒ ํ๋ ๋ฐฉ๋ฒ๋ ์ค๋ช ํด ์ฃผ์๋ฉด ๊ฐ์ฌ๋ผ๊ฒ ์ต๋๋ค(runnable ํํ์์์)
์์ค์ฝ๋์ ๋ฐ๋ก ์ ๋ฐ์ดํธ ํด๋จ์ต๋๋ค^^
Expected response header Content-Type to contain 'text/event-stream', got 'application/json'
๋ณ๊ฒฝํ์ ์ฝ๋๋ก ํด๋ณด๋ ์ด๋ฐ ๋ฉ์์ง๊ฐ... ๋จ๋ค์ใ ใ
์๋ง ๋๋ฉ์ธ๋์ llm ์ ๋ถํ์ ๊ทธ๋ฐ ๊ฒ ์๋๊น์? llm๋ถ์ฌ๋ณด์ธ์~
@@๋ฐํํธ-d3d ๋ฐฉ๊ธ ์์ค์ฝ๋์ ์ฃผ์ ์์ธํ ๋ถ์ฌ์ ์ฝ๋ ์ ๋ฐ์ดํธ ํด๋จ์ผ๋ ์ฐธ๊ณ ํด ๋ณด์ธ์~
@@teddynote ๋ฆ์์๊ฐ๊น์ง ๋ต๋ณ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค โบ๏ธ
์๋ ํ์ธ์. ์ ์์ค๋ฅผ ํ์ฉํด ๋ฆฌ๋ชจํธ๋ก 2๋ช ์ด์ ๋์์ ์ ํ ์คํธ๋ฅผ ํ๋๋ฐ
๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์๋๋๊ฒ ๊ฐ์ต๋๋ค.
(1๋ช ์ง๋ฌธ ๋ง์ณ์ผ ๋ค์ ์ง๋ฌธ ๊ฐ๋ฅ)
xionic์ ollama๋ฅผ ์ฌ์ฉ์ํด์
์ฌ๋ฌ๋ช ๋์ ์ง๋ฌธ ๊ฐ๋ฅํ๊ณ chat,llm๋ฑ์ ๋์ ์ง๋ฌธ์ด ์๋๋๋ฐ ์ด๋ค ๋ถ๋ถ์ ์์ ํด์ผ ํ ๊น์?
ollama์์ parallel ์ค์ ์ ํด๋ณด์ธ์!
github.com/ollama/ollama/issues/761
์๋ด์จ์~
๊ฐ์ฌํฉ๋๋ค :)
๋ค ์ ๋ ๊ฐ์ฌํฉ๋๋ค ๐
๊ฐ์ ์ ๋ง ์ ๋ณด์์ต๋๋ค. ํ์ฌ ์์ ์ผ๋ก ํ๊ตญ์ด๋ฅผ ๊ฐ์ฅ์์๋ sllm ๋ชจ๋ธ์ ๋ฌด์์ธ์ง ์ฌ์ญค๋ด์~. ํ์ฌ ๋ด๋ถ์์ ์ธ๊ฑฐ๊ตฌ์.7b๋8b 9b์ ๋๊ตฌ์.. 1) beomi ๋ llama3.2 2) ์ ฌ๋ง 3) ์ ๊ฐ์ ์์์ eeve ์ ๋ ์๊ฐํ๋๋ฐ์...ํน์ ๊ฐ์ฌ๋์ด ๋ณด์๊ธฐ์ ๊ธฐ์ ์์ ํ์ธํ๋ํด์ ์ธ ๊ฑฐ๋ฉด ํ๊ตญ์ด๋ฅผ ๊ฐ์ฅ ์ ํ๋ ๋ชจ๋ธ์ด ์์๊น์?? ๋ฏธ๋ฆฌ ๊ฐ์ฌํฉ๋๋ค.~
gemma 9b
Qwen 2.5
llama3.2 (beomi๋)
exaone (license ๊ฒํ ํ์)
์ถ์ฒ ๋๋ฆฝ๋๋ค^^
@@teddynote ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค~~ ๊ทธ๋ฐ๋ฐ ๊ฐ์ฌ๋ ์์ ์ผ๋์์์ ๋ง๋ solar ๊ธฐ๋ฐ์ eeve ๋ ์ ์ถ์ฒ ์ํ์ จ๋์ง ์ฌ์ญค๋ด๋๋ ๊น์?? ๊ทธ๋ฆฌ๊ณ ํ์๋ง ๊ธ์ต๊ถ์์ ์ฑ๋ด์ ๋ง๋๋ ค๋๋ฐ unsloth ์ textstreamer ๋ฅผ ์ฐ๋ ค๋๋ฐ ์ด๋ป๊ฒ ์๊ฐํ์๋์ง...3๋ฒ์งธ ์ง๋ฌธ์ gguf ๋ฅผ ๋ฐ์์์ fastapi ๋ก ์ฌ๋ฆฌ๋ ค๋๋ฐ. ๊ผญ ollama๋ฅผ ์ค์นํด์ผํ ๊น์? ๋ฏธ๋ฆฌ ๊ฐ์ฌํฉ๋๋ค~~.. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฌ๋ ์ผ๊ตด๋ ์์๊ฒผ๋๋ฐ ๋ชฉ์๋ฆฌ๋ ์ง์ง ์ ํ๋ฒ ์ค ์ ๋ง ์ฃฝ์์ผ๋ก ์ข์ผ์ธ์!
@ eeve ๋ ์ปจํ ์คํธ๊ฐ ์์์ rag์์๋ ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ธ ๊ฒ ๊ฐ์์ ใ unsloth ๋ก ๋จ์ผ gpu ํ์ธํ๋์ ์ข์๋ฐ ํฐ ๋ชจ๋ธ์ gpu๊ฐ ์ฌ๋ฌ์ฅ ํ์ํด์ ์ด๋ ค์ฐ์ค๊บผ์์
๋ชจ๋ธ ์๋น์ vllm๊ณ ๋ คํด ๋ณด์๋ฉด ์ข๊ณ ์~
fastapi ์๋ฒ์์ ๋ชจ๋ธ ์๋นํ์ค ๋ฐ vllm์ผ๋ก ๋ชจ๋ ํธ์คํ ํ๋ ๊ฑธ ์ถ์ฒ ๋๋ฆฝ๋๋ค~
ํ ๋๋ ธํธ๋ ์์๋ณด๊ณ ๊ตฌํํด์ ์์ฐ๊ณ ์์ต๋๋ค. ๋ฌด๋ฃ ์๋ฒ ๋ฉ ๋ชจ๋ธ ํ์ฉํด์ ๋งํฌ๋ค์ดํ ๋ฒกํฐ์คํ ์ด mmr ๋ฆฌํธ๋ฆฌ๋ฒ๋ก ์ฐ๊ณ ์๋๋ฐ์. ๊ฒ์ ์ ํ์ฑ์ด๋ ์ถ๋ก ์ ๋์ฑ ๊ณ ๋ํํด์ ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ค ์ ๋ฃ๊ฐ์๋ฅผ ๋ด์ผํ๋์ง ๊ถ๊ธํฉ๋๋ค.
์๋ ํ์ธ์!
๊ฒ์ ์ ํ์ฑ์ด๋ ์ถ๋ก ์ ์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๊ฝค๋ ๋ง์ต๋๋ค. ๋ฐ์ดํฐ๋ ์ํฉ์ ๋ฐ๋ผ ๋ฐฉ๋ฒ์ ์ถ๋ ค์ ์คํ์ ์งํํด ๋ณผ ์ ์๋๋ฐ์.
์ํค๋ ์ค์์ retriever ํํธ๋ฅผ ์ดํด๋ณด์๋ ๊ฒ์ ์ถ์ฒ ๋๋ฆฌ๊ณ ์. ํจ์คํธ์บ ํผ์ค ์ ๋ฃ๊ฐ์์์๋ retriever ํํธ๋ฅผ ๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์์
์ ํ๋ธ์๋ ์ ๊ฐ ์ ๋ก๋ํ ์๋ฃ๊ฐ ์๋๋ฐ์
ua-cam.com/users/liveaMUopbBrAmA?si=KgUTIo3Zhb4HX7ki
์ด๊ฑธ ๋ณด์ ๋ ์ข์ต๋๋ค^^
ํ ๋๋ ์์๋ณด๋ฉฐ ์ ์ธ๊ณ๋ฅผ ๊ฒฝํํ๊ณ ์์ต๋๋ค.
ollama create ์ Error:command must be one of "from", "license", "template", "system", "adapter",
"parameter", or "message" ๋ฐ์ํด์ temperature ๋ถ๋ถ ์ ๊ฑฐ ํ ์์ฑํ์์ต๋๋ค. ๊ฐ์ ๋ฌธ์ ๋ ์์ผ์ จ๋์ง์?
๋ง์ต๋๋ค ๋ฌธ์ ์์ต๋๋ค ์ฝ๋ ์์ ํด ๋๊ฒ ์ต๋๋ค^^
์ฑ UI๋ก๋ง LLM์ ์ฌ์ฉํ๋ค๊ฐ ์ด๋ ๊ฒ ํ์ด์ฌ ๊ฐ๋ฐํ๊ฒฝ์์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ฒ์ ์ ํ๋ค์. ํ์ด์ฌ ์ฝ๋ฉ์ ๊ฐ๋ฏธํ๋ฉด LLM์ ์ด์ฉํด์ ์๋ง์ ํ์ฉ๋ฒ์ ์ฐพ์ ์ ์์ ๊ฒ ๊ฐ๊ตฐ์. ํฅ๋ฏธ์ง์ง ํฉ๋๋ค.
์ ๋ง ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ๋ค์ด ๋ง์ด ์์ต๋๋ค~^^ ๋ค์ํ ์คํ์ ํด๋ณด์ธ์!!
ํ ๋๋ ธํธ๋ ์์ ์ ๋ณด๊ณ ์์ต๋๋ค,, unsloth๋ก raw text๋ฅผ 1000step ์ ๋ ํ์ต์ ํ๋๋ฐ์ ๋ต๋ณ ๊ฒฐ๊ณผ๊ฐ ์ ์์์น์์์ rag??์ชฝ์ ์์๋ณด๊ณ ์๋๋ฐ,, ์ ๊ฐ ํ์ต์ ์๋ชป์ํจ๊ฑธ๊น์? q&aํํ๊ฐ ์๋๋ผ ๊ทธ๋ฐ๊ฑด์ง.. ๋จ์ผ ํ ์คํธ๋ฅผ ์ชผ๊ฐ์ด์ ํ์ต์ ์์ผฐ๋๋ฐ ์ ํ ์๋ฑํ ๋๋ต์ ํ๋ค์.. LORAํํ์ ํ์ธํ๋๋ณด๋ค RAG์ชฝ์ด ๋ ์ ํํ ๋ต๋ณ์ ๋ฐ์๋ณผ์์์๊น์? ํฅํ์๋ ๋ฒ๋ฅ ์ชฝ ์ฑ๋ด์ ์๊ฐํ๊ณ ์๋๋ฐ..๊ถ๊ธํฉ๋๋ค
์๋ ํ์ธ์!
RAG์ ํ์ธํ๋์ ์์ ํ์ผ์ ๋ฌธ์ ๋ ์๋๊ณ ์ ๋๋ค ๊ฐ๋ฅํ๋ค๋ฉด ํ์๋ ๊ฒ์ด ์ข์ง๋ง ์์์ RAG๋ก ํ์๋ ๊ฑธ ์ถ์ฒ ๋๋ฆฝ๋๋ค
๋ฐ์์ ์์ค์๋ ๋ต๋ณ๊ฐ์ฌ๋๋ฆฝ๋๋ค,, question-answer ํํ์ ๋ฐ์ดํฐ์ ์ด ์๋๋ผ ๋จ์ผ rawtext ํ์ต์ unsloth๊ฐ์ loraํํ์ ํ์ธํ๋์์๋ ์ ํํ ์ถ๋ก ์ด ์ด๋ ค์ด๊ฑธ๊น์? ํ์ต์์์ผ๋ ์์ gpt ์ด์ฐฝ๊ธฐ ์์ค์ดํ์ ๋ต๋ณ์ด๋์ค๋๋ฐ ใ ใ ๋๊ฐํ๋ค์ ๋ชจ๋ธ์ ๋ฌธ์ ์ธ์ง.. blossom ๋ชจ๋ธ์ฌ์ฉํ๋๋ฐ ๋๋ฌด๊ธฐ๋์ดํ๋ผ ๋ฌด์กฐ๊ฑด q&aํํ๋ก ํ์ต์์์ผ์ผํ๋ฉด ๊ธฐ์ ์์์ฌ์ฉํ๊ธฐ์๋ ๋ฐ์ดํฐ์ ์ค๋น๋ถํฐ ์ด๋ ต๊ฒ๋ค์ฉ
๊ฒฐ์ ํ์ต๋๋ค ใ ์ด์ฌํ ํด๋ณผ๊ฒ์
๊ฐ์ฌํฉ๋๋ค ใ ์์ผ๋ก ๋์์ด ๋๋ ์ฝํ ์ธ ์ด์ฌํ ์ ์ํ๊ฒ ์ต๋๋ค!
์๋ ํ์ธ์ ModuleNotFoundError: No module named 'langserve.pydantic_v1' ์ด ๋ชจ๋๋ง ์๋ค๊ณ ๋์ค๋๋ฐ ํน์ ์ด๋ค ๋ฌธ์ ์ผ๊ฐ์? ๊ฒ์ํด๋ ๋ํต ๋ชจ๋ฅด๊ฒ ์ด์ ์ฌ์ญค๋ด ๋๋ค. ํน์ langserve ๋ฒ์ ์ด 0.3.0์ธ๋ฐ ์ด๊ฒ ๋ฌธ์ ์ผ๊ฐ์?(pydantic ๋ฒ์ ์ 2.9.2 ์ ๋๋ค)
์๋ ํ์ธ์? langchain ๋ฒ์ ์ด 0.3.0 ๋๋ก ์ฌ๋ผ์ค๋ฉด์ pydantic ๋ฒ์ ์ด ๋ฐ๋์๋๋ฐ์.
๋ค์๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ ํ์ฌ ๋ค์ ํ ๋ฒ ํ ์คํธ ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
server.py ํ์ผ์
from langserve.pydantic_v1 import BaseModel, Field
์ฝ๋๋ฅผ
from pydantic import BaseModel, Field
๋ณ๊ฒฝํด ์ฃผ์ธ์!
๊ฐ์ฌํฉ๋๋ค!
ํ๊น ํ์ด์ค์ ๋ชจ๋ธ์ ollama์ ์ ๋ก๋ ํ๋ ค๊ณ ํ๋๋ฐ "unsupported content type: text/plain; charset=utf-8" ๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํฉ๋๋ค. ํน์ ๋ฌธ์ ์์ธ์ด๋ ํด๊ฒฐ๋ฐฉ๋ฒ์ ์๊ณ ๊ณ์ค๊น์ ?
์์ฑํ์ ํ ํ๋ฆฟ์ ์ธ์ฝ๋ฉ ์ค๋ฅ๊ฐ ์๊ฑฐ๋ ํ ํ๋ฆฟ ์์ฒด์ ์ค๋ฅ๊ฐ ์์ ๊ฒ ๊ฐ์์. ์คํ ํ ๋ฒ ํ์ธํด ๋ณด์๊ฒ ์ด์?
์์ ์๋ณด๊ณ ์์ต๋๋ค. ํ ๋๋ ธํธ๋.
์งํํ๋ค ๊ถ๊ธํ๊ฒ ์๊ฒผ๋๋ฐ์ ํด๋น ์์ ๊ธฐ์ค์ MacOs์์๋ง ๊ฐ๋ฅํ๊ฑธ๊น์?
์ฐพ์๋ณด๋, Ollama๊ฐ ํ์ฌ๋ ๊ณต์์ ์ผ๋ก MacOs๋ง ์ง์ํ๋คํ์ฌ, ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๋,
๊ฐ์ํํ๊ฒฝ์์ macOS๋ฅผ ์ค์นํด์, ๊ตฌ๋์ ํ๋๊ฐ, .gguf ํ์ผ์ด ๋ฆฌ๋ ์ค ํ๊ฒฝ์์๋ ์ผ๋ฐ์ ์ผ๋ก Llama.cpp ํํ๋ก ํธํ์ด ๊ฐ๋ฅํ๋คํ์ฌ
๊ฐ์ ๋ฆฌ๋ ์คํ๊ฒฝ์์ ํด๋น .ggufํ์ผ์ .cppํํ๋ก ๋ณํํด์ cpu + cuda๋ฅผ ํ์ฉํด ๊ฐ๋์ํค๋ ๋ฐฉ๋ฒ ๋ฐ์๋ ์๋๊ฑธ๊น์?
ํน์๋ ์ง๋๊ฐ์๋ ๋ถ์ค์ ์๋์ฐ์ ํ๊ฒฝ์์ Ollama์ ์ฌ๋ฆฌ๋ ๋ถ๋ถ์ ํด๊ฒฐํ์ ๋ถ์ด ์๋ค๋ฉด ๊ณต์ ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์ฐพ์๋ณด๋, ๋ฆฌ๋ ์ค, ์๋์ฐ ๋ค ์ง์ํ๋ค์ค! ๊ฐ์ฌํฉ๋๋ค ใ ใ
๋ค ๋ชจ๋๋ค ์ง์ํฉ๋๋ค^^
Modelfile์ 'TEMPERATRUE 0' ์ด ๋ถ๋ถ์ ๋ฃ์ผ๋ฉด ```Error: command must be one of "from", "license", "template", "system", "ada``` ์ด๋ฐ ์๋ฌ๊ฐ ๋จ๊ณ ๊ทธ ๋ถ๋ถ์ ๋นผ์ผ ์ ์์๋ํ๋๋ฐ ์ด์ ๊ฐ ๋ญ๊น์?
์คํ๊ฐ ์์ด์์~ temperature 0 ์ผ๋ก ์ค์ ํ์๋ฉด ๋ฉ๋๋ค~
@@teddynote temperature 0 ์ผ๋ก ๋ฃ์ด๋ ๊ฐ์ ์๋ฌ๊ฐ ๋จ๋ค์. ์ง์ฐ๋๊น ํด๊ฒฐ์ ๋๋๋ฐ ์ด์ ๋ฅผ ์๋ฌด๋ฆฌ ๊ฒ์ํด๋ ์ ๋์์ ์๊ฒฌ ์ฌ์ญ๊ณ ์ถ์ต๋๋ค
@@ํ-d8k temperature ํ ํ๋ฆฟ์ ์ต์ ์์ ๋น ์ ธ์ ๊ทธ๋ด ์๋ ์์ด์ ๋นผ๊ณ ํ์ ๋ ๋์ค์ ์ง์ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋นผ๊ณ ์งํํ์๋ฉด ๋ฉ๋๋ค~
ํ ๋๋! ๋๋ฌด ์ข์ ๊ฐ์ ์ ๋ค์์ต๋๋ค. ์ ๋ง ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ ์ฉํ ์ ์์์ต๋๋ค.
ํ ๊ฐ์ง ์ถ๊ฐ ์ง๋ฌธ์ด ์์ต๋๋ค!
์ ๋ชฐ๋ผ์ ์ด๊ฒ์ ๊ฒ ์ฐพ์๋ดค์ง๋ง ์ ์๋ผ์ ์ง๋ฌธ๋๋ ค์ใ ใ
์ง๊ธ์ ํ์ผ์ ์ฌ๋ฆฐ ์ํ์์๋ง, ํด๋น ํ์ผ์ ๋ํ ๋ต๋ณ์ ๋ฐ์ ์ ์๋๋ฐ์.
ํ์ด์ง์์ ํ์ผ์ ์ฌ๋ฆฌ์ง ์๋๋ผ๋, ๋ฏธ๋ฆฌ ์๋ฒ ๋ฉ ๋ ๋ฒกํฐdb๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ต๋ณ ๋ฐ๊ฒ ํ๊ณ ์ถ์๋ฐ ์ ์๋๋ค์ใ ใ
๋ฐ์์๊ฒ ์ง๋ง ๋ต๋ณ์ฃผ์๋ฉด ๋๋ฌด ๊ฐ์ฌํ๊ฒ ์ค๋น๋ค!
์๋ ํ์ธ์!
ํ์ผ์ ์ฌ๋ ค์ ์๋ฒ ๋ฉ ํ์ฌ vectordb ์ ์ ์ฅํ๋ ๊ตฌ์กฐ๊ฐ ์๋, vector db ์์ฒด๋ฅผ disk ์ ์ ์ฅํ๊ณ , PDF ์ ๋ก๋๋ฅผ ํ์ง ์๊ณ ๋ฐ๋ก vector db ๋ฅผ ๋ก๋ํ๋ ๊ตฌ์กฐ๋ก ๋ณ๊ฒฝํ์๋ฉด ๋ฉ๋๋ค!
๋ฒกํฐ DB ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ wikidocs ์ ์ ๋ก๋ ํด๋์์ต๋๋ค.
wikidocs.net/234014
@@teddynote ์ค!! ์ ๋ง ๊ฐ์ฌํฉ๋๋ค! ๋ฐ๋ก ์ ์ฉํด๋ณผ๊ฒ์!!!
๋๋ฌด ์ข์๊ฐ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์๊ฒฉ์ผ๋ก ์๋น์ค ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ณ ๋ฏผํ๋๋ฐ ํฐ ๋์์ด ๋์์ต๋๋ค.
์ด ๊ตฌ์ฑ์ผ๋ก ํ์๋ง์์ ํ์๋ง ๋ด๋ถ๋ก ์๋น์ค๊ฐ ๊ฐ๋ฅํ ๊น์?( ์ด๊ฑด ๋น์ฐํ ์ ๊ฐ ํ ์คํธ ํด๋ด์ผ ํ๋๊ฑด๋ฐ ์์ง ์ค๋ ฅ์ด ์๋์ด์ ์ง๋ฌธ๋๋ฆฌ๋ค์ ...)
๊ทธ๋ฆฌ๊ณ M3 ์ฌ์์ด ์ด๋ป๊ฒ ๋๋์? ์๊ฐ๋ณด๋ค ์๋ต ์๋๊ฐ ๋๋ฌด ๋น ๋ฅธ๋ฐ์!!
ํ์๋ง๋ผ๋ฆฌ๋ ์๋ก ํต์ ์ด ๋๋ฉด ๋ฌธ์ ์์๊ป๋๋ค. ๋ค๋ง ์ด๋ ngrok ๋์ ๋ด๋ถ ์์ดํผ๋ฅผ ์ฌ์ฉํด์ผ ํ๊ณ ์ ๋ฐฉํ๋ฒฝ์ด ํด๋น ํฌํธ์ ๋ํด ์ด๋ ค ์์ด์ผ ํฉ๋๋ค.
M3 ์ ๋ง ๋น ๋ฅด๋๋ผ๊ตฌ์! ๋งฅ๋ถ ํ๋ก M3 gpu ์ ๊ทธ๋ ์ด๋ ํ CTO ์ฌ์์ ๋๋ค. ๊ตณ์ด ๋งฅ๋ถ ์๋๋๋ผ๋ ์์ํ ๋ชจ๋ธ์ด๋ผ์ GPU ๋ฌ๋ฆฐ ๋ ธํธ๋ถ์ด๋ผ๋ฉด ์ด๋์ ๋ ๋ต๋ณ ์๋๋ ๋น ๋ฅธํธ์ ๋๋ค^^
์ค ์ฃผํผํฐ ๋์ปค ๊ฐ๋ค์ผ์๋๋ฐ ์ต์ํ ๋๋ค์์ด๋ค ์ถ์๋๋ฐ ํ ๋๋์ด ๋ง๋์ ๊ฑฐ์๊ตฐ์! ์ปค์คํ ํด์ ์ ์ฐ๊ณ ์์ต๋๋ค
llm๊น์ง ใ ใ ๊ฐ์ฌํฉ๋๋ค gpt api์ฝ ๋น์ฉ ์๋์๋ ์์ผ๋ ค๋์
4090 ์ ๊ธฐ์ธ๋ ๋น๊ต๋ฅผ ํด๋ด์ผ ๊ฒ ๋ค์ ใ ใ
ํน์ ํ ํฐ ์ต๋ ์ธํ ์์ํ ๊ธธ์ด๊ฐ ์ด๋ป๊ฒ ๋๋์ง ์์ค๊น์?
์ ๋ ์ด๋ถ๋ถ์ ์ฐพ์๋ด์ผ ํ๋๋ฐ์. ๋ฒ ์ด์ค ๋ชจ๋ธ์ธ SOLAR ๊ฐ ์ ์ถ๋ ฅ 4096๊ฐ ์๋ ๊ฒ์ผ๋ก ๊ธฐ์ตํฉ๋๋ค. ๋ฐ๋ผ์, ์๋ง๋ 4096๊ฐ์ผ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๊ฑด ์ ๋ ์ ํํ์ง ์์ผ๋ ํ ๋ฒ ํ ์คํธํด ๋ด์ผ์ง ์ ํํ ์ ์ ์์ ๊ฒ ๊ฐ์์! ์ฌ๊ธฐ llm.extractum.io/model/upstage%2FSOLAR-10.7B-Instruct-v1.0,5KwUWNTl8dKlCxQ8QeQtzZ ์์ SOLAR ๋ชจ๋ธ์ ์คํ์ ํ์ธํด ๋ณด์ค ์ ์์ด์~
@@teddynoteโค
์๋ ํ์ธ์~ ์์ ์๋ณด๊ณ ์์ด์ ๋ฐ๋ผํ๋ฉด์ ์๋ฌ๋ถ๋ถ์ด ์๋๋ฐ
python server.py ๋ฅผ ์ ๋ ฅํ๋ฉด fastapi๊ฐ no module ์ํ๋ก ์๊พธ ๋จ๋ค์ github์์ requirements.txt ๋ฅผ ๋ช๋ฒ์ด๋ ํฐ๋ฏธ๋์ฐฝ์์ ๋ด๋ ค๋ฐ์๋๋ฐ๋
๋๊ฐ์ต๋๋ค ใ ใ ํน์ ํด๊ฒฐ๋ฐฉ๋ฒ์์ค๊น์ ๊ตฌ๊ธ๋ง์ ํ๋๋ฐ ํ์ด์ฌ ๋ฒ์ ์ ๋ฐ๊ฟ๋ณด๋ผํด์ ๋ฐ๊พธ๊ณ , ํฐ๋ฏธ๋์ด์๋ค ๋ซ์๋ณด๋ผํด์ ๋คํด๋ดค๋๋ฐ๋ ์๋ฉ๋๋ค...
์๋ ํ์ธ์? ํน์ ๊ฐ์ํ๊ฒฝ ํ๊ฒฝ ๊ตฌ์ฑ์ด ๋์์๊น์~?
๊ตฌ์ฑ ์ํ๊ณ ๋ฒ ์ด์ค์ ๊ทธ๋ฅ ์ค์นํ๋ฉด ์๋๋ ๊ฒฝ์ฐ๋ ์์ด์์!
์๋ ์์ ๋ณด์๊ณ ๊ฐ์ํ๊ฒฝ ํ ๋ฒ ๊ตฌ์ฑํ์ ๋ค์์ ์๋ํด ๋ณด์๊ฒ ์ด์?
#๋ญ์ฒด์ธ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ๐ฐ๐ท ์ ๋ฐ์ดํธ ์์๐ฅ ์ฒ์ ์ฌ์ฉ์๋ฅผ ์ํ ์น์ ํ ํ๊ฒฝ์ค์น(Windows, Mac)
ua-cam.com/video/mVu6Wj8Z7C0/v-deo.html
@@teddynote ์ ๋ง ๊ฐ์ฌํฉ๋๋ค!! ์ด ๋ฌธ์ ๋ ํด๊ฒฐ๋์์ต๋๋ค! ๊ทธ๋ฐ๋ฐ, ๋ ๋ฌธ์ ๊ฐ ์๋๊ฒ ๋ก์ปฌํธ์คํ ์ ๋์ง๋ง, ์ ๊ฐ ai์๊ฒ ๋ฌผ์ด๋ณด๋ฉด Exception in ASGI application ์ด๋ผ๊ณ ๋จ๋ฉด์ ํฐ๋ฏธ๋์ฐฝ์ ์๋ฌ๊ฐ ๋๋ค์ .. .ํน์ ๋ฐฉ๋ฒ์์๊น์ ๊ตฌ๊ธ๋ง ํด๋ณด๋๊น CA์ธ์ฆ์ ๋๋ฌธ์ด๋ผ๊ณ ํด์ ์ธ์ฆ์๋ ๋ค์ด๋ฐ์๋ณด๊ณ ํ๋๋ฐ ์ฌ์ ํ ๋๊ฐ๋ค์ ์ฌ๋ถํ ์ ๊ณ์ํด๋ ๋๊ฐ๊ตฌ... ํน์ ์ด ๋ฌธ์ ์ฌํญ์ ๋ํด ์๊ณ ๊ณ์๋ฉด ์๋ ค์ฃผ์ธ์ !!!
์๋ดค์ต๋๋ค. m3 max ์ฑ๋ฅ๋ ์๋นํ๋ค์!
๋ง์กฑ์ค๋ฝ์ต๋๋ค๐
์ข์ ์์ ๊ฐ์ฌํฉ๋๋ค. ๋์์์ ๋ณด๋ฉด์ ๊ณผ์ ์ ๋ฐ๋ผํ๊ณ ์๋๋ฐ ์๊พธ server.py๋ฅผ ์คํํ๋ ๊ณผ์ ์์
ModuleNotFoundError: No module named 'langserve.pydantic_v2'
์ด๋ฐ ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํ๋๋ฐ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค
ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ํด์ ๋ต๋ณํด ์ฃผ์ค์ ์์ผ์ค๊น์??
์๋ ํ์ธ์! ์๋ง ์ต๊ทผ์ langchain v0.3.x ์ ๋ฐ์ดํธ ์ดํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์์.
์ด ๋ถ๋ถ์ ์ ๊ฐ ๋น ๋ฅด๊ฒ ์์ ํด์ ์ ๋ฐ์ดํธ ํด๋๋ฆด๊ป์^^
์ง๊ธ ๋น์ฅ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค
pip install langchain==0.2.16
๋ฒ์ ์ผ๋ก ์ฌ์ค์น
๊ทธ ๋ค์์ ์๋ํด๋ด ์ฃผ์ธ์^^
์๋ ํ์ธ์! ์ฐ์ , RAG๋ฅผ ์ฒ์ ์์ํ๋ ๊ฐ๋ฐ์๋ก ๋๋ฌด ๋ง์ ๋์์ ๋ฐ๊ณ ์์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค
ํ๊ฐ์ง ๋ฌธ์ ๋๋ฆด ๊ฒ์ด,
local์์ ๋์ ํ์ธ ํ heroku๋ฅผ ๊ฒฐ์ฌ ํ์ฌ (์ ๋ฃ๋ก ๋ฐ๋์๊ตฐ์.. ใ ก.ใ ก) ํธ์คํ ์ ํ๋ ๊ณผ์ ์์
Heroku ์ค์ ํ git push ๋ฅผ ํ๋ฉด requirements.txt ์ package๋ฅผ ์ฐพ์ ์ปดํ์ผ ํ๋ ์ค,
๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ ํฉ๋๋ค.
(ํด๋น package๋ฅผ ๋ง๊ณ ํด๋ด๋ .. ๊ณ์ ๋ค๋ฅธ package ๋ค์์ ๋ฒ์ ์ ์ฐพ์ง ๋ชปํ๋ค๊ณ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค์..)
RROR: Could not find a version that satisfies the requirement apturl==0.5.2 (from versions: none)
remote: ERROR: No matching distribution found for apturl==0.5.2
-----> Python version has changed from python-3.12.7 to python-3.11.8, clearing cache
remote: -----> Requirements file has been changed, clearing cached dependencies
remote: -----> Installing python-3.11.8
remote: -----> Installing pip 24.0, setuptools 70.3.0 and wheel 0.44.0
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote: Collecting aiohappyeyeballs==2.4.3 (from -r requirements.txt (line 1))
remote: Downloading aiohappyeyeballs-2.4.3-py3-none-any.whl.metadata (6.1 kB)
remote: Collecting aiohttp==3.10.9 (from -r requirements.txt (line 2))
remote: Downloading aiohttp-3.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.6 kB)
remote: Collecting aiosignal==1.3.1 (from -r requirements.txt (line 3))
remote: Downloading aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)
remote: Collecting annotated-types==0.7.0 (from -r requirements.txt (line 4))
remote: Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
remote: Collecting anyio==4.5.0 (from -r requirements.txt (line 5))
remote: Downloading anyio-4.5.0-py3-none-any.whl.metadata (4.7 kB)
remote: ERROR: Could not find a version that satisfies the requirement apturl==0.5.2 (from versions: none)
remote: ERROR: No matching distribution found for apturl==0.5.2
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
remote: Verifying deploy...
ํ ๋๋ ์์์์๋ ์ ๋๋ ๊ฒ์ผ๋ก ๋ณด์ ..
Heroku์ชฝ ๋ฌธ์ ์ธ ๊ฒ์ธ์ง ๋๋ ์์ ์ดฌ์์ ์ฌ์ฉ ๋ requirements.txt ํ์ผ์ด ์ข ๋ค๋ฅธ ๊ฒ์ธ์ง ์ ์ ์์๊น์?
๋ฏธ๋ฆฌ ๊ฐ์ฌ๋๋ ค์~~~
์๋ ํ์ธ์~? ํด๋น ์ค๋ฅ๋ง ๋ด์๋ ๋์ผ requirements.txt ์ธ์ง ํ์ธ์ด ์ด๋ ต์ต๋๋ค๋ง ํน์ github ์ ์ฌ๋ ค ๋์ requirements.txt ํ์ผ์ ๊ทธ๋๋ก ๋ด๋ ค ๋ฐ์ ์ฌ๋ฆฌ์ จ์๊น์~?
gguf ํ์ผ๊น์ง ๋ค์ด ๋ฐ์๊ณ Modelfile ๋ง๋๋๊ฒ ๊น์ง๋ ํ๋๋ฐ ollama create๋ฅผ ํ๋๊น Error: command must be one of "from", "license", "template", "system", "adapter", "parameter", or "message" ๊ฐ ๋ฐ์ํ๋๋ฐ ์์ธ์ด ๋ญ๊น์?
TEMPERATURE๋ฅผ ์์ ๋๊น ํด๊ฒฐ๋์์ต๋๋ค
์ ์ข์ต๋๋ค ์ ๊ฐ temerature ๋นผ๊ณ ์ ๋ฐ์ดํธ ํด๋์๊ป์^^
@@user-bj9lt7fg8c ๊ณ์ ์๋์ ๋๊ธ ๋ณด๊ณ ํด๊ฒฐ ํ์ต๋๋ค!!! ใ ใ
์ค๋๋ ์ข์ ๋ด์ฉ์ด๋ค์. ๊ฐ์ฌํฉ๋๋ค. ํน์ ํ๋ก์ ํธ ํ์ค ์ํฅ์ ์์ผ์ ๊ฐ์?
์ด๋ค ํ๋ก์ ํธ์ธ์ง ๊ฐ๋ตํ๊ฒ ๋ง์ํด ์ฃผ์ค ์ ์์ผ์๋ค๋ฉด teddylee777@gmail.com ์ด์ชฝ์ผ๋ก ๋ณด๋ด์ฃผ์๋ฉด ๊ฐ์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค๐๐
@@teddynote ์ ์ ํ ์์ ์ ์ฐ๋ฝ๋๋ ค ๋ณด๊ฒ ์ต๋๋ค.
์ฌ๋ ค์ฃผ์๋ ๊ฐ์๋ฅผ ํตํด ์ ๋ง ๋ง์ ๋์์ ๋ฐ๊ณ ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ํ ๊ฐ์ง ๊ถ๊ธํ ๊ฒ์ด ์์ต๋๋ค.
rag chain ๊ณผ MessageHistory๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ค๊ณ ํ๋๊น ์๋ฌ๊ฐ ๋๋๋ฐ์.
์ฌ์ฉ๋ฒ์ ์ ๋ชฐ๋ผ์ ์ด๋ ๊ฒ ๋ฌธ์๋๋ฆฝ๋๋ค. ์์ค ์ฝ๋๋ ์๋์ ๊ฐ์ต๋๋ค.
chain = (
{
"context": retriever | format_docs,
"question": RunnablePassthrough(),
}
| prompt
| llm
)
response = chain.invoke(user_input)
rag ์ฒด์ธ์ ์ถ๊ฐํ๊ณ message history๋ ์ถ๊ฐํ์ง ์๋ ๊ฒฝ์ฐ- ์ ๋์ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ์๋์ ๊ฐ์ด message history๋ฅผ ์ถ๊ฐ ํ๋ฉด ์๋ฌ๊ฐ ๋๋๋ผ๊ตฌ์...
chain = (
{
"context": retriever | format_docs,
"question": RunnablePassthrough(),
}
| prompt
| llm
)
chain_with_memory = (
RunnableWithMessageHistory( # RunnableWithMessageHistory ๊ฐ์ฒด ์์ฑ
chain, # ์คํํ Runnable ๊ฐ์ฒด
get_session_history, # ์ธ์ ๊ธฐ๋ก์ ๊ฐ์ ธ์ค๋ ํจ์
input_messages_key="question", # ์ ๋ ฅ ๋ฉ์์ง์ ํค
history_messages_key="history", # ๊ธฐ๋ก ๋ฉ์์ง์ ํค
)
)
response = chain_with_memory.invoke(
{"question": user_input}, config={"configurable": {"session_id": "abc123"}}
)
ํน์ chatprompttemplate ๋ ์ฌ๋ ค์ฃผ์ค ์์๋์?
์ฐธ๊ณ ๋ก ๋์ค์ฝ๋ ์ฑ๋์ ์ง๋ฌธ ๋จ๊ธฐ์๋ฉด ๋ ๋นจ๋ฆฌ ๋ต๋ณ ๋ฐ์ผ์ค ์ ์์ด์^^
@@teddynote prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"""You are an expert in perfumes.
Use the following pieces of retrieved context to answer the question.
If you don't know the answer, just say you don't know:
{context}
""",
),
# ๋ํ ๊ธฐ๋ก์ ๋ณ์๋ก ์ฌ์ฉ, history ๊ฐ MessageHistory ์ key ๊ฐ ๋จ
MessagesPlaceholder(variable_name="history"),
("human", "{question}"), # ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ณ์๋ก ์ฌ์ฉ
]
)
์์ ๊ฐ์ต๋๋ค.
@@Enosh6079 chain = (
{
"context": itemgetter("question") | retriever | format_docs,
"history": itemgetter("history"),
"question": itemgetter("question")),
}
| prompt
| llm
)
๋ก ๋ฐ๊ฟ์ฃผ์๊ณ from operator import itemgetter ์๋จ์ ์ถ๊ฐํด ์ฃผ์๊ณ ์.
์คํํด ๋ณด์ธ์~^^
@@teddynote ๋์ค์ฝ๋ ์ฑ๋์ด ์ด๋์ง ์๋ ค์ฃผ์ธ์~
local์์ ollama๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ๋น์ฉ์ด ๋ฐ์ํ๋ ๊ฑด๊ฐ์? ๋ง์ฝ ๋น์ฉ์ด ๋ฐ์ํ๋ค๋ฉด, ๋น์ทํ ํ์์ผ๋ก ํ๊ธ ๊ธฐ๋ฐ ์๋น์ค๋ฅผ ํ๊ณ ์ ํ ๋ license free๋ก ์ฌ์ฉํด๋ณผ๋งํ ๋ชจ๋ธ ์ถ์ฒ ๋ถํ๋๋ ค์.
๋น์ฉ์ด ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์ Ollama ์ ์ฌ๋๋ค์ด ๊ด์ฌ์ ๋ง์ด ๊ฐ์ง๋๋ค. ์คํ๋์ด ์๋ ๋ชจ๋ธ์ ๋ค์ด๋ก๋ ๋ฐ์์ ๊ตฌ๋ํ๋ ๊ฐ๋ ์ด๊ตฌ์. ๋ค๋ง, ์ปดํจํฐ์์ ๋๋ฆฌ๊ฒ๋๋ฉด ์ ๊ธฐ๋ฅผ ๋ง์ด ์ก์๋จน์ด์ ์ ๊ธฐ๋ฃ ์ ๋? ๋ฐ์ํ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ์ค๋ ๊ณต์ ๋๋ฆฐ EEVE ๋ชจ๋ธ ์ถ์ฒ ๋๋ฆฝ๋๋ค. ๊ฐ์ธ์ด ์ฌ์ฉํ๋ ๊ฒ์ ์์ ๋กญ๊ณ , Apache-license ๋ก ํ๊ธฐ๋์ด ์๊ธฐ๋ ํ๋ฐ์. ์์ ์ ์ธ ์ด์ฉ์ด ๊ถ๊ธํ์๋ฉด ์ด ๋ถ๋ถ์ ์์ ์์์ธ yanolja ๊ฐ๋ฐํ์ ๋ฌธ์ํด๋ณด์๋ ๊ฒ์ด ์ ํํ ๊ฒ ๊ฐ์ต๋๋ค~
์์ํ ๋ชจ๋ธ์์๋ VRAM 12G ์ ๋์์๋ ์ํํ๊ฒ ๋๋ฆด์ ์๋์?
์ ๊ฐ ํ ์คํธ ํด๋ณธ ํ๊ฒฝ์ด mac ์ด๋ผ ๋จ์ ๋น๊ต๊ฐ ์ด๋ ต๊ฒ ์ง๋ง 12G์ถฉ๋ถํ ๋์๊ฐ ๊ฒ ๊ฐ์ต๋๋ค!
์ข์ ๊ฐ์ ๊ณต์ ํด ์ฃผ์ ์ ๋๋ฌด ๊ฐ์ฌํฉ๋๋ค. ์ ํ์ฉํ๊ณ ์๋๋ฐ์. ํ ๊ฐ์ง ๊ถ๊ธํ ๊ฒ์ด ์์ต๋๋ค.
lang serve๋ฅผ ๊ตฌ๋ํ ํ์ ์ฒ์ ์ง๋ฌธํ ๋ ์๊ฐ์ด ์ข ๊ฑธ๋ฆฌ๋ฐ, ํน์ cold start ๋ฌธ์ ์ผ๊น์? ๋๋ฒ์งธ๋ถํฐ๋ ์๋ต์ด ๋๋ฆฌ์ง ์์ต๋๋ค.
๋ก์ง์์ ์ฒ์ ์ฒด์ธ์ ๋ง๋ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ์๋ฒ ๊ตฌ๋ํ๋ฉด์ ์ฒด์ธ ๋ง๋ค์ด ๋์ผ์๋ฉด ์ง์ฐ์๊ฐ์ ์ค์ฌ๋ณด์ค ์ ์์ต๋๋ค^^
์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ๋ณด์ฌ์ฃผ์ ๋๋ก ๋ฐ๋ผํ๊ธฐ ์ฝ๋ฉ ํ์ฌ ์งํํ์์ต๋๋ค.!!!
๋ค์ ํ๋ฒ ํ ๋ ๋๊ป ๊ฐ์ฌ ๋๋ ค์!!
๋ค๋ฅธ ๊ฒ๋ค์ ์ ์งํ ๋์์ต๋๋ค. ์ต์ข ์ผ๋ก streamlit ์์ ์๋๊ณ ์์ด์.
์๋์ฐ ํ๊ฒฝ์์ ์งํํด์ ๊ทธ๋ฐ์ง ์ต์ข streamlit ์์ pdf ๋ฌธ์๋ฅผ ๋ฑ๋กํ๋
"PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH?"
์๋ฌ๊ฐ ๋ฐ์ํ์ฌ poppler ๋ฅผ ์ค์น ํ๊ณ ํ๊ฒฝ๋ณ์์ ๋ฑ๋ก ํ์ง๋ง ์์ง ์ค๋ฅ๋ฅผ ํด๊ฒฐ ๋ชปํ๊ณ ์์ต๋๋ค.
๋ค๋ฅธ ์๋์ฐ ํ๊ฒฝ์์ ์์ ํ๋ ๋ถ๋ค์ ์ ๋์๋์?
poppler ์๋์ฐ ์ค์น ๊ฐ์ด๋ ์๋ ๋งํฌ ํ ๋ฒ ์ฐธ๊ณ ํด ๋ณด์ธ์!!
blog.naver.com/kiddwannabe/222464734713
์๋ ํ์ธ์, ์ ๋ง ์ข์ ์์ ๊ฐ์ฌํฉ๋๋ค. ๋ชจ๋ ๋ค ์ฑ๊ณตํ์ผ๋, stramlit ์คํ ํ PDF๋ถ๋ฌ์์ ์ง์ํ ๋ ๊ณ์ํด์ TypeError: 'CacheBackedEmbeddings' object is not callable ์ค๋ฅ๊ฐ ๋จ๋ค์... ํน์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ค ์ ์์ผ์ค๊น์?
์์ฑํ์ ์ฝ๋๋ ๋จ๊ฒจ ์ฃผ์ค ์ ์์๊น์~?
๋ชจ๋ธ์ ollama์์ runํ๊ณ serveํ๋ฉด ์ต์๋์ธ์ Text Generator์ด๋ Copilot๊ฐ์ ๊ณณ์์๋ ๋ชจ๋ธ ์ด์ฉํ๋๊ฒ๋ ํด๋ณด์ จ๋์!
๋ค ๋ฐฉ๊ธ ๋ง์ํด ์ฃผ์ ์ ํด๋ดค๋๋ฐ~ ๊ฝค๋ ์ ๋์ํฉ๋๋ค! ์์ด๋์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ธ๋ผ์ด์ธ๋ ๋๋ถ์ ์ต์๋์ธ ์ ๋ฌธํด์ ๋๋ฌด๋ ์ ํ์ฉํ๊ณ ์์ต๋๋ค~ ์์ผ๋ก๋ ๊ฟํ ์ป์ผ๋ฌ ์์ฃผ ๊ฐ๊ฒ ์ต๋๋ค~^^
์ข์๊ฐ์ ์ ๋ดค์ต๋๋ค!! ๋ณด๋์ค ๊ถ๊ธํ๊ฒ ์๊ฒผ๋๋ฐ aws์ ๊ฐ์ด ๋ฆฌ๋ ์คํ๊ฒฝ์์๋ ์ด ์์๊ณผ ๊ฐ์ด ๋๊ฐ์ด ๋ฐ๋ผํ๋ฉด ์น์๋ฒ๋ฅผ ๊ตฌ์ถํ ์ ์์๊น์??
๋ต ๊ฐ๋ฅํฉ๋๋ค! ๋ฐฉํ๋ฒฝ ์ค์ ์ ์ถ๊ฐ๋ก ํด์ผํ ์๋ ์์ต๋๋ค!
์๋ ํ์ธ์ ํ ๋๋. ์ข์ ๊ฐ์ ํญ์ ๊ฐ์ฌํฉ๋๋ค. ํน์ ์ธํธ๋ผ๋ท ๊ฐ์ ํ์๋ง์์ ํธ์คํ ํ ์ ์๋ ๋ฐฉ๋ฒ๋ ์์๊น์?
๋ค ์ธํธ๋๋ท ๊ฐ์ ํ์๋ง๋ langserve ๊ฐ๋ฅํฉ๋๋ค~
์๋ ํ์ธ์ ํ ๋๋ !! ๋์์ ํฐ ๋์์ด ๋์์ต๋๋ค ใ ใ . ํน์ ์ฒจ๋ถ ํ์ผ๋ ํ๊ฐ๊ฐ ์๋ ๋๊ฐ ์ด์ ์ฒจ๋ถ ๊ฐ๋ฅํ๊ฒ ์ฝ๋ ์์ ํ๋ค๋ฉด ๊ฐ๋ฅํ ๊น์??
๋ต ์ฝ๊ฒ ๊ฐ๋ฅํฉ๋๋ค๐
@@teddynote ๋น ๋ฅธ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค !! ํ์ผ ์ฒจ๋ถ ๋ถ๋ถ์ 200mb๊น์ง ์ฒจ๋ถ ๊ฐ๋ฅํ๋ค๊ณ ๋์ด์๋๋ฐ ์ค์ ๊ฐ๋ฅํ๊ฑด๊ฐ์ฌ ?!
@@๊นํ๊ฒฝ-m6f ๋ ํฐ ์ฌ์ด์ฆ๋ ๊ฐ๋ฅํฉ๋๋ค~
@@teddynote ๊ฐ์ฌํฉ๋๋ค ๐๐๐ ์ด์ฌํ ๊ณต๋ถํด๋ณผ๊ฒ์!!
์๋์ฐ์์ cuda ์ค์ ํ๋ ๋ฐฉ๋ฒ ์ ์ ์์๊น์. main.py์์ model_kwargs = {"device": "cuda"} ๋ก ํ์ง๋ง CPU๋ฅผ ์ฌ์ฉํ๊ณ ์์ด ์ง๋ฌธ๋๋ฆฝ๋๋ค ใ ใ ใ
์ฐ์ ์๋์ฐ์์ CUDA ์ค์ ์ด ๋์ด ์์ผ์ ์ผ model_kwargs = {"device": "cuda"} ์ด๊ฑธ ์ฌ์ฉํ์ค ์ ์์ด์. ๊ตฌ๊ธ์ "Windows CUDA ์ค์น" ํค์๋๋ก ๊ฒ์ํ์ ์ ์ค์น ๋จผ์ ํด๋ณด์ญ์ผ!!
๋ต๋ณ ๊ฐ์ฌ๋๋ฆฝ๋๋ค ๋งฅ์ ๋ค๋ฅธ ์ค์ ์์ด ๊ฐ๋ฅํ๋๋ฐ ์๋์ฐ๋ฏ ๋ณ๋๋ก ์ค์น๊ฐ ํ์ํ๊ตฐ์. ์ค์น ์งํํด๋ณด๊ฒ ์ต๋๋ค.
์ ๋๋ก ๋ฐ๋ผํ๋ฉด, ์ธํฐ๋ท ์ฐ๊ฒฐ ์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ง์๊น์? ์ค์นํ ๋๋ ์ธํฐ๋ท ์ฐ๊ฒฐ ์๊ณ , ์ฌ์ฉํ ๋๋ ์ธํฐ๋ท ์ฐ๊ฒฐ ์์ด๋ ๋๋๊ฑธ๊น์ฉ?
์์์ ๋ฐฉ์์ด๋ผ๋ฉด ์ค์น ํ ๋๋ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ํ์ํฉ๋๋ค~
์๋ ํ์ธ์
๋ก์ปฌ ์๋น์ค ์ธํ ํ
์๋์ฐ์์ ๋ก์ปฌ, ๋ฆฌ๋ชจํธ ์ ์ํด์ ์ง๋ฌธ์ 1๊ฐ๋งํด๋ ์๋๊ฐ ์์ฒญ ๋๋ฆฝ๋๋ค.
์ง๋ฌธ๊ณผ ๋์์ cpu 99%, ๋ฉ๋ชจ๋ฆฌ full, gpu๋ ๊ฑฐ์ ์๋จน์ต๋๋ค.
(๋ ธํธ๋ถ ์ฌ์ : i7 12์ธ๋, 16g, ๋ด์ฅ๊ทธ๋ํฝ)
ํน์ ์ด์ ๊ฐ ์์๊น์?
๋ค ์ธ์ฅ ๊ทธ๋ํฝ(์๋น๋์ ๊ณ์ด) ์ด ๋ฌ๋ ค์์ง ์์ผ๋ฉด ๋ต๋ณ์ด ๊ต์ฅํ ๋๋ฆฝ๋๋ค. ๋น ๋ฅธ ์ถ๋ ฅ์ ์ํด์๋ GPU๊ฐ ํ์ํฉ๋๋ค!!
์๋์ฐ ์ฌ์ฉ์์ ๋๋ค. ollama run EEVE-Korean-10.8B:latest์ ์คํํ๋ฉด llama runner process no longer running: 1 error:failed to create context with model ์ด๋ผ๋ ์ค๋ฅ๊ฐ ๋จ๋๋ฐ, ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น์?ใ ใ
ollama ๊ฐ ๊ตฌ๋ ์ค์ด์ด์ผ ํ๋๋ฐ ์ด๋ค ์ด์ ์์ ์ง ์คํ์ค์ด ์๋๋ผ๋ ๋ฉ์์ง ๊ฐ์์. ๋จผ์ ollama serve ๋ก ๊ตฌ๋์์ผ ๋๊ณ ์๋ก์ด ํฐ๋ฏธ๋์์ ollama run ๋ช ๋ น์ด ์คํํด ๋ณด์ธ์!
โ@@teddynote ollama serve ๊ตฌ๋ ํ์ ollama run์ ์คํํด๋ดค๋๋ ollama serve๋ฅผ ๊ตฌ๋ํ๋ ํฐ๋ฏธ๋์ ์๋์ ๊ฐ์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋น๋๋ค..ใ ใ
ggml_backend_cuda_buffer_type_alloc_buffer: allocating 384.00 MiB on device 0: cudaMalloc failed: out of memory
llama_kv_cache_init: failed to allocate buffer for kv cache
llama_new_context_with_model: llama_kv_cache_init() failed for self-attention cache
llama_init_from_gpt_params: error: failed to create context with model 'C:\Users\Commeci\.ollama\models\blobs\sha256-2ede7a0e79157cecbdd6f6890d6a463e73d8b05040330bfd2fce53bb39b47e28'
{"function":"load_model","level":"ERR","line":410,"model":"C:\\Users\\Commeci\\.ollama\\models\\blobs\\sha256-2ede7a0e79157cecbdd6f6890d6a463e73d8b05040330bfd2fce53bb39b47e28","msg":"unable to load model","tid":"19392","timestamp":1714406828}
time=2024-04-30T01:07:08.795+09:00 level=ERROR source=routes.go:120 msg="error loading llama server" error="llama runner process no longer running: 1 error:failed to create context with model 'C:\\Users\\Commeci\\.ollama\\models\\blobs\\sha256-2ede7a0e79157cecbdd6f6890d6a463e73d8b05040330bfd2fce53bb39b47e28'"
๊ตฌ๊ธ๋ง ํด๋ด๋ ํด๊ฒฐ๋ฒ์ด ๋์ค์ง ์๋ค์..ใ ใ
@@์ด๊ผผ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ๋ค๋ ์๋ฌ์ธ ๊ฒ ๊ฐ์์. ์ด๋ฏธ GPU ๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์์ ์ฌ์ฉํ๊ณ ์์ด์ ๊ฐ์ฉํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์์ ์๋ฌ๋ฌ์ ์ ์์ต๋๋ค~
@@teddynote ์์..ใ ใ ใ ใ ใ ์ง์ง์ง์ง ๊ฐ์ฌํฉ๋๋ค!!!!!!!! ๋๋ถ์ ํด๊ฒฐํ์ต๋๋ค!!!!!!! ๋ฆ์ ์๊ฐ๊น์ง ๋์์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ใ ใ ใ ใ ใ ํญ์ ๋ง์ ๋์ ๋ฐ๊ณ ์์ด์!ใ ใ
๋ฉ์ง๋ค์.
๊ทธ๋ฐ๋ฐ, cmd์์ ์คํํ๋ฉด ํ์คํ ๋น ๋ฅด๊ณ gpu 100% ๋จน๋๋ฐ, python server.js ํ๋ฉด ๋๋ต๋ ๋๋ฆฌ๊ณ gpu ์ฌ์ฉ๋๋ ์์ฌ๋ผ๊ฐ๋๋ฐ ์ด์ ๊ฐ ๋ฌด์์ผ๊น์?
์ ์ ๋ ์ด๊ฑฐ์ ๋งํ์ ์ด๊ฒ์ ๊ฒ ์ฐพ์๋ณด๋ ์ค์ธ ใ _ใ CUDA ์ค์ server.py์ ํ์ํ๊ฑฐ ๊ฐ์๋ฐ ์ด๋๋ค ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค์;;
cuda ์ค์ ์ด ์ ๋์ด ์๋์ง ํ์ธํด ๋ณด์๊ฒ ์ด์?
์ ์ด๊ฒ์ ๊ฒ ํ๋ค๊ฐ ํด๊ฒฐ๋์๋ค์.
1. CUDA์ฌ์ค์น(์ค์น๋ด์ฉ ์์ธํ ๋ณด๋ 1๊ฐ๋ง ์ค์น์๋ฃ๋๊ณ ๋๋จธ์ง ์ ๋ถ ์คํจ์์;;;)
2. ๋ด์ฅ๊ทธ๋ํฝ์นด๋ ๋ฐ์ด์ค์ค ์์์ ์ฌ์ฉ ์ํจ
๊ทธ๋์ ๋ ํน์ดํ๊ฒ CMD์์์ llama3:70B๋ cpu๋ก ๋์ํ๋ค์. ์์๋ชจ๋ธ์ GPU๋ก ๋์ํ๋๋ฐ;;;
@@netan81 70B ์ด๋ค ์์ํ ๋ชจ๋ธ์ ์ฌ์ฉํ์๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง vram ๋ฉ๋ชจ๋ฆฌ๊ฐ GPU 1์ฅ์ผ๋ก๋ ๊ฐ๋นํ๊ธฐ ์ด๋ ค์ด ์ฌ์ด์ฆ๋ผ๋ฉด ๋ชป ์ฌ๋ฆด๊ป๋๋ค ใ
ํ ๋๋ ๋ ์ข์ ๊ฐ์ ๊ฐ์ฌ ๋๋ฆฝ๋๋ค. ํ ๊ฐ์ง ์ง๋ฌธ์ด ์์ด ๋ฌธ์ ๋๋ฆฝ๋๋ค. Streamlit ๋ก์ปฌ ์์ ๊ตฌํ ์, ํน์ ํ๊ธ ์๋ฒ ๋ฉ ๊ด๋ จํด์ ํ์๋ง์ธ๊ฒฝ์ฐ ์ถ์ฒ ํด์ฃผ๋งํ๊ฒ ์์๊น์?? ๋ฐ์์๋ ์ ๋์๋๋ฐ ํ์๋ง์ธ ๊ณณ์์๋ PDF๋ฑ๋ก์์ ๊ณ์ ์ค๋ฅ๊ฐ ๋ฐ์๋์ด์์
์๋ ํ์ธ์! ํน์ langserve github์ ์ ๋ก๋๋ streamlit ์์ ์์ bge-m3 ์๋ฒ ๋ฉ ์ฌ์ฉํ๋ ์์ ๊ฐ ์๋๋ฐ์. ํ์๋ง์์๋ ๋ฌธ์ ์์ด ์ ๋์ํ๊ณ pdf ๋ ๋ฌธ์ ์์ด ์ ์๋ฒ ๋ฉ ๋๋๋ฐ์. ํ ๋ฒ ํ์ธํด ๋ณด์๊ฒ ์ด์? ์์ค์ฝ๋ ๋งํฌ ๋จ๊ฒจ๋๋ฆฝ๋๋ค.
github.com/teddylee777/langserve_ollama/blob/main/example/main.py
๋ง์ฝ์ ํ์๋ง์์ ์๋๋ ์ด์ ๋ฅผ ์ฐพ์๋ฉด ํ๊น ํ์ด์ค์์ ๋ชจ๋ธ ๋ค์ด๋ก๋ ํ ๋ ๋งํ์์ ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๋ถ๋ถ์ ์ธ๋ถ๋ง์์ ๋ค์ด๋ก๋ ๋ฐ์ ๋์ผ์๊ณ ๊ทธ ๋ค์๋ถํฐ๋ ํ์๋ง์ผ๋ก ์งํํด ๋ณด์ญ์ผ~!!
์ง๊ธ ๋ณด๋๊น ์ด๋ฐ Llm ํธ์คํ ์ ๊ฐ๊ฒฉ์ด ์ด๋ง์ด๋งํ๋๋ฐ... chatgpt๋ฅผ ํ์ธํ๋์์ผ์ ์๋น์ค๋ฅผ ๋ฐ์นญํ๋ ๊ฒ๊ณผ ์ด๋ ๊ฒ ๋ฐ๋ก ์๋ฒ์ ๋์์ ํ ๊ฒฝ์ฐ ๋น์ฉ ์ ๊ฐ์ ์ด๋์ชฝ์ด ๋ ๋์๊น์?
ChatGPT๋ฅผ ํ์ธํ๋ ํ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฌ์ง๋ ์๊ณ ์์ด์. ์ด์ ๋ ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋ ๊ฒ์ฒ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์๊ณ ๋น์ฉ์ด ๋น์ผ ๊ฒ๋ ๋จ์ ์ด๊ณ ์. ๋ฒ ์ด์ค ๋ชจ๋ธ๋ 3.5 ๊ธฐ๋ฐ์ ๋๋ค.
๋น์ฉ ์ ๊ฐ๋ง ์๊ฐํ์๋ฉด ํ์ธ ํ๋ ๋ง๊ณ ๊ทธ๋ฅ GPT api ์ฌ์ฉํ์๋๊ฒ ๋ซ๊ตฌ์. ์ฌ์ฉ๋์ด ๋ง์์ง๋ฉด ๊ทธ ๋๋ ํธ์คํ ๋น์ฉ์ด ๋ ์ธ๊ฒ ๋จนํ ์ ์์ต๋๋ค
์๋ ํ์ธ์!
์ข์ ์์ ์ ๋ดค์ต๋๋ค
์ด๋ ๊ฒ ํ๋ฉด ์ฌ๋ด ์๋ฒ์ ์ค์น๋ ์ฌ๋ผ๋ง๋ฅผ ํตํด์๋ง ๋์ํ๋๊ฑฐ์ฃ ?
์ธ๋ถ์์ ์ฐ๊ฒฐ์ (๋ณด์์ ๋ฌธ์ ๊ด๋ จ)์ ์๋๊ฑฐ์ฃ ?
๋ค ์ฌ๋ด์์ ๋์ ๊ฐ๋ฅํ๊ตฌ์ ํ๋ก์๋ ์ค์ ๊ฐ๋ฅํฉ๋๋ค~ ๋ณด์์ ๋ชจ๋ธ ์์ฒด์ ๋ฌธ์ ๋ณด๋ค๋ ์ฐ๊ฒฐ์ ๋ณด์ ์ค์ ๋ง ์ ํด์ฃผ์๋ฉด ๋ฌธ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค^^
์๋ ํ์ธ์ ์ด๋ฒ์ ์ฒ์ ๋ฅ๋ฌ๋์ ๊ณต๋ถํ๋ ์ฌ๋์ ๋๋ค! ๋จผ์ ์ข์ ์์ ๋จ๊ฒจ์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ ๊ฐ vscode์ wsl ์ฐ๋ํด์ ์ฌ์ฉํ๊ณ ์๋๋ฐ wsl์ ๊นํ๋ธ์ ์๋ requirement๋ฅผ ์ค์นํ๊ณ
์ฝ๋๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ server.py๋ฅผ ๋๋ ค์ playground์ ๋ค์ด๊ฐ์ ์ง๋ฌธํ๋๋ฐ ๋ฐ์์ด ์๋๋ผ๊ตฌ์ ํน์ cuda๋ฅผ wsl์์๋ ์๋๋ฉด ์๋์ฐ ์์ฒด์ cuda๋ฅผ ๋๋ค ์ค์น ํด์ผํ๋์?
์๋๋ฉด xionic.py์ ์๋ api_key๋ ๊ด๋ จ ์๋๊ฑด๊ฐ ํด์์!
์๋ ํ์ธ์ ํ ๋๋, OpenAI๋ก embedding ํ๋๊ฑด ์ ๋๋๋ฐ์... ์๋ฌด๋๋ ๋ณด์์ ์ธ ๋ถ๋ถ์ด ๊ณ ๋ ค๋์ด์ ๋ง๋ค์ด ๋์ผ์ ํ๊น ํ์ด์ค ์ฝ๋๋ก embedding์ ํ๊ณ ์ถ์๋ฐ, ์๋ฃ๋ฅผ ์ฌ๋ฆฌ๊ณ ์ง๋ฌธ์ ํ๋ฉด AssertionError ๊ฐ ๋์ต๋๋ค. ์งง์ ์๊ฐ์ ์์ฑ๊น์ง๋ ํ๋๋ฐ, ์ด ๋ถ๋ถ์์ ๋งํ์ ์ด๋ ๊ฒ ๋๊ธ ๋จ๊ฒจ๋ด ๋๋ค! ๊ทธ๋ฆฌ๊ณ ์๋ฒ ํ ์ OpenAI๋ก ํ๋๊ฑด ๋ณด์์ ๊ด์ฐฎ์๊น์? API๋ OpenAI๋ ํ์ต๋ฐ์ดํฐ๋ก ์ฐ์ง ์๋๋ค๊ณ ๋ ํ๋๋ฐ, ์๋ฌด๋๋ ๊ฐ์ธ์ ๋ณด๊ฐ ๋ค์ด๊ฐ๋ค๋ฉด ๋ฌด์ํ ์ ์์ ๊ฒ ๊ฐ์ ๋ถ๋ถ์ด๋ผ ์ฌ์ญค๋ด ๋๋ค.
๋ค ์ค๋ฅ๊ฐ ๋๋ ๋ถ๋ถ์ ๋์ค์ฝ๋์ ๋จ๊ฒจ์ฃผ์๋ฉด ๋ฉ์์ง ๋ณด๊ณ ๋ต๋ณ ๋๋ฆด ์ ์์ ๊ฒ ๊ฐ์์. ๋๊ธ๋ก ๋จ๊ฒจ ์ฃผ์ ๋ ์ข๊ตฌ์~
openai embedding ์ ๊ด์ฐฎ๋ค๊ณ ์๊ฐํ๋๋ฐ์. api ์จ์ ๋ชจ๋ธ ๋ต๋ณ ๋ฐ๋ ๊ฑด ์๋ฌด๋๋ ๋ณด์์ด ๊ฑฑ์ ๋์ค ์ ์์ฃ . ๋ง์ฝ ์ด ๋ถ๋ถ์ด ๊ฑฑ์ ์ด์๋ผ๋ฉด ๋ก์ปฌ ๋ชจ๋ธ๋ก(llama3, eeve korean) ๋ค์ด ๋ฐ์์ ์งํํ์ ์ผ ๋์ง๋ง GPU ์ธํ๋ผ ๊ตฌ์ถ์ ๋๋ฐ๋์ด์ผ ์ํ์๋ ์ถ๋ ฅ์ด ๋์ค์ค๊บผ์์! ์ฐธ๊ณ ํ์ญ์ผ^^
@@teddynote ์, ์ถ๊ฐ๋ก ๋ง์ ๋๋ฆฌ๋ฉด Nvidia ์นด๋๊ฐ ์์ด cuda๋ก ์ ํ ํ๊ณ ๊ณต์ ์ฃผ์ EEVE Korean์ผ๋ก ์ฌ์ฉํ์ต๋๋ค. ์๋ต์ ํ๋ฆฌํฐ๊ฐ ์๊ฐ๋ณด๋ค๋ ์ข์์ ๋ ์ฌ์ฉํด๋ณด๊ณ ์ถ์์ต๋๋ค. ๋ค๋ง embedding์ OpenAI๋ก ํ๋ฉด ์ฌ๋ฆฌ๋ ๋ฐ์ดํฐ๊ฐ ๋๊ฐ์ด OpenAI๋ก ๋์ด๊ฐ๋ ๊ฒ ๊ฐ์ ๊ฑฑ์ ๋์ด์ ๋ง๋ค์ด๋์ผ์ USE_BGE_EMBEDDING = True๋ก ํ๊ณ ์ฌ์ฉํ๋๋ ์๋ฌ๊ฐ ๋๊ฑฐ์์ต๋๋ค!
@@cklee4069 ๋ค~ ๊ทธ๋ฌ์๊ตฐ์. ์ดํดํ์ต๋๋ค. ์ค๋ฅ๋ ์ธ๋ถ๋ก๊ทธ๊ฐ ์์ผ๋ฉด ๊ตฌ์ฒด์ ์ผ๋ก ์์ธ์ ์๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
์ ์ถํด๋ณด์๋ฉด VRAM ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ ์ ์์ ๊ฒ ๊ฐ์์ ์๋๋ฉด BGE ๋ชจ๋ธ๋ GPU์ ์ฌ๋ ค์ผ ํ๋๋ฐ์ ๊ธฐ์กด LLM๊ณผ ๋์์ ์ฌ๋ผ๊ฐ๋ ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ด ๋ฐ์ํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค~
@@teddynote CPU๋ก ๋ฐ๊ฟ๋ ๋๊ฐ์ ์๋ฌ๊ฐ ๋์ค๋ค์, ์ฌ๊ธฐ๊น์ง ๋ง์กฑํ๊ฒ ์ต๋๋ค. ํจ์คํธ ์บ ํผ์ค ๊ฐ์ ๋ณด๋ฉด์, ํ๋ํ๋ ๊ณต๋ถ ํด๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ์๊ฐ ๋ผ์ด๋ธ๋ ์ํ์ธ์~
@@cklee4069 ๋ต! ๋์ค์ ๋์ค์ฝ๋์ ์๋ฌ ๋จ๊ฒจ์ฃผ์ฌ ํ ๋ฒ ๋ณผ๊ฒ์~^^ ๊ฐ์ฌํฉ๋๋ค
--local-dir-use-symlinks ๊ฐ ๊ธฐ๋ณธ๊ฐ์ด True์ด๊ธฐ๋๋ฌธ์ False๋ฅผ ๋ช ์ํด์ผํ๋๊ฑด๊ฐ์? ๊ทธ๋ฅ ๋ค์ด๋ก๋ํ๋๊ฑด๋ฐ ์ฌ๋งํฌ๊ฐ ๊ตณ์ด ์ด๋ป๊ฒ ์ ์ฐ๊ฒฐ๋๋๊ฑด๊ฐ์ฉ?
์์ผ๋ฉด ์ผ๋จ ~/.cache/~ ๊ฒฝ๋ก๋ก ๊ฐ ํ์ ์ฌ๋งํฌ๋ฅผ ๊ฑฐ๋๊ตฐ์ฉ
True๋ก ์ค์ ํ๋ฉด ํ์ผ ํฌ๊ธฐ์ ๊ด๊ณ์์ด ์ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ ์์ฑ๋ฉ๋๋ค. False๋ก ์ค์ ํ๋ฉด ํ์ผ์ด ์บ์์์ ๋ณต์ ๋๊ฑฐ๋(์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ) ํ๋ธ์์ ๋ค์ด๋ก๋๋์ด ์บ์๋์ง ์์ต๋๋ค!
์์ ๋ช ์ผ ๋์ ๋๋ ค๋ณด๋ฉด์ ๊ฐ์ ํ ๋ฐ๋ผํด๋ณด์์ต๋๋ค. ์ ๋ง ํ๋ฅญํ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค. ^^ ํน์ ๊ฐ์ ์ดํ์ ํ๊ธ embedder๋ก rag ์ฑ๋ฅ ๋น๊ต๋ฅผ ํด๋ณด์ ์ ์ด ์์๊น์? embedder๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ผ๋ก๋ ์ฑ๋ฅ์ฐจ์ด๊ฐ ๋ง์ด ๋์ง๋ ์์๊น ๊ถ๊ธํด์ ์ง๋ฌธ๋๋ ค ๋ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํน์ ํ๊ตญ์ด embedder๋ก ์ถ์ฒํด์ฃผ์ค ๋งํ ๊ฒ์ด ์์๊น์?
์๋ฒ ๋๋ฅผ ์ด๋ค ์๋ฒ ๋๋ฅผ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์, ์ง์ ๋ณ๊ฒฝํด ๋ณด์๋ฉด์ ํ ์คํธ ํด๋ณด์๋ ๊ฒ์ด ์ค์ํ ๊ณผ์ ์ค์ ํ๋๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ๊ณต๊ฐ๋ ๋ฌด๋ฃ ์๋ฒ ๋ ์ค์์๋ BGE-M3 ์๋ฒ ๋ฉ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค!
@@teddynote ๊ฐ์ฌํฉ๋๋ค. ๋ง์ํด์ฃผ์ ์๋ฒ ๋๋ฅผ ํฌํจํด์ ๋ค์ํ๊ฒ ์๋ํด๋ณด๊ฒ ์ต๋๋ค^^
โโโ@@teddynote๋ง์ํด์ฃผ์ bge-m3 ๋ก ๊ณ์ ์๋ฒ ๋ฉ ํด์ ๋ ๊ทธ ๊ตฌ์ฑ ์ค์ ๋๋ค. ์๋ฒ ๋ฉ์ ์ ํ๋ ๋ฌธ์ ๋ ์ ์๋๊ปด์ง๋๋ฐ ๋งค๋ฒ ์ง๋ฌธ ํ๋ ์ ๋ ฅํ ๋ ๋ง๋ค ๋ต๋ณ์ ์์ฑ ์ค์ ๋๋ค๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋ํ๋๊ธฐ ์ ๊น์ง 5์ด ๊ฐ๋ ๋ก๋๋ฅผ ๊ณ์ ํฉ๋๋ค. ๋ง์น ๋งค๋ฒ ์ง๋ฌธ ํ ๋๋ง๋ค ์๋ฒ ๋ฉ ๋ชจ๋ธ์ ๋ก๋ํ๋ ๋๋์ด ๋๋๋ฐ ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น์? ์๋ฒ ๋ฉ์ cpu์ cuda๋ก ๋ฐ๊ฟ ๋ด๋ ๊ฐ์ ์๋๊ฐ ๊ฑธ๋ฆฝ๋๋ค. ใ ใ gpu๋ 3090์ ์ฌ์ฉํฉ๋๋ค.
์๋ฌด๋๋ open ai ์ฒ๋ผ ์๋ฒ ๋์ ์ถ๋ก ๋ชจ๋ธ์ด ๊ฐ์ด ์๋ ์์คํ ์ด ์๋๋ผ์ ์ผ๊น์?
@@SeunggeunBaeck-ou4qf ์ง๋ฌธ๋ ์๋ฒ ๋ฉ์ ํด์ผํ๊ธฐ ๋๋ฌธ์ ์ง๋ฌธ์ ๋ํ ์๋ฒ ๋ฉ ์๊ฐ๋ ๊ณ ๋ คํด์ผ ํฉ๋๋ค! gpu ์ฌ์ฉ๋ฅ ์ฒดํฌํด ๋ณด์๋ฉด์ ์ง์ง gpu๋ฅผ ํ์ฉํ ์ถ๋ก ํ๊ณ ์๋์ง๋ ํ ๋ฒ ์ฒดํฌํด ์ฃผ์ธ์^^
์ข์ ๊ฐ์ ๋๋ถ์ ๋ก์ปฌ RAG์์คํ ์ ๊ตฌ์ถํ์์ต๋๋ค. ์ง๋ฌธ์ด ์๋๋ฐ์. Runnable์ ์ธ๋ , ๋ต๋ณ์ผ๋ก ์ฐธ์กฐ ๋ฌธ์๋ฅผ ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋์? ConversationalRetrievalChain์์ return_source_documents=True ์ ์ต์ ์ผ๋ก result['source_documents'] ์ด๋ ๊ฒ ๋ฐ์์๋๋ฐ Runnable์์ PromptTemplate์ ์ถ๊ฐ๋ฅผ ํด์ค ๋ดค๋๋ฐ, ์๊พธ ์๋ฌ๊ฐ ๋ ์ ์ด๋ค ์ฐธ๊ณ ํ ๋งํ ๋ฐฉ๋ฒ์ด ์์๊น์?
๋ต๋ณ์ ์ฐธ์กฐ ๋ฐ์ ์ ์์ด์. ํ๋กฌํํธ์ ๋ต๋ณ์ ์ฐธ์กฐ๋ฅผ ํฌํจํด ๋ฌ๋ผ๋ ์์ฒญ์ ํ๊ฒ ๋๋ฉด ๋ต๋ณ ๋ฌธ์์ด์ ์ฐธ์กฐ๊ฐ ํฌํจ๋์ด์ ๋์ค๊ธฐ๋ ํ๊ตฌ์. key ๊ฐ์ผ๋ก ๋ฐ๊ณ ์ ํ๋ค๋ฉด, json output parser ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค. ์ํค๋ ์ค์ json output parser ๋ก ๊ฒ์ํด์ ํํ ๋ฆฌ์ผ ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์์~!
๊ฐ์ฌํฉ๋๋ค. ์ผ๋จ ๋ฐ๋ก ์ฟผ๋ฆฌ ๋ ๋ ค์ ๊ฒ์ํด์ ์ฐพ์ ๋ด์์ต๋๋ค. ์๋ ค์ฃผ์ ๋ถ๋ถ๋ ํด๋ณด๊ฒ ์ต๋๋ค.
ํ ๋๋, local ํ๊ฒฝ์ colab์ผ๋ก ๋๊ณ EEVE ๋ชจ๋ธ ๋ฐ์ ์ ์๋์?
์ฝ๋ฉ์์ฌ๋ ๊ตฌ๋ํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ PC์์ ํด๋ณด์ธ์!
์ข์ ์์ ๊ฐ์ฌํฉ๋๋ค! ํน์ RAG๋ฅผ ์ ์ฉ ํ์ ๋ ์๋๊ฐ ๋ง์ด ๋๋ ค์ง๋๋ฐ chunk๋ฅผ ๋๋๋ ๊ณผ์ ์ ์ถ๊ฐํ๋ฉด ๊ฐ์ ์ด ๋ ๊น์??
์๋๋ vector db๋ฅผ ๋ฐ๊ฟ๋ณด์๋ ๊ฒ์ด ์ข์ต๋๋ค!
@@teddynote ๊ฐ์ฌํฉ๋๋ค! ํ ๋๋! ๋ช ๊ฐ์ง ๊ถ๊ธ์ฆ์ด ์์ต๋๋ค...!
1. RAG๋ฅผ ์ฌ์ฉํด์ gpt4 ์ฒ๋ผ ์น ์ ๊ทผ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ต์ ๋ด๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ฐ์?
2. ๋ํ๋จผํธ ๋ฆฌํธ๋ฆฌ๋ฒ๋ก ์๋ต์ ์์ฑํ๋ ๊ฒฝ์ฐ ๋ํ๋จผํธ์ ๋ด์ฉ์ด ์๋ ๊ฒฝ์ฐ ์ผ๋ฐ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์๊น์?
@@iopp6090 ๋ค ๋๊ฐ์ง ์ผ์ด์ค ๋ชจ๋ ๊ฐ๋ฅํฉ๋๋ค.
1๋ฒ์ ์น๊ฒ์ ๋๊ตฌ๋ฅผ ๋ถ์ด๋ฉด ๋๊ณ ์!
2๋ฒ๋ ๊ตฌํ ๊ฐ๋ฅํฉ๋๋ค~
10B์ด๋ฉด ์๋นํ VRAM์ด ๋ง์ด ํ์ํ ํ ๋ฐ ์ด๋ป๊ฒ ๋งฅ๋ถ์์ ๋์๊ฐ๋์? ์๋ฌด๋ฆฌ MAX๋ผ๊ณ ํด๋?
์์ํ ๋ชจ๋ธ์ด๋ผ์ ๊ฐ๋ฅํฉ๋๋ค!
๊ฐ์ฌํฉ๋๋ค. ollama ๋ก ๋๋ฆฐ ๊ฒ์ด๋ transformer ๋ก ๋๋ฆฐ ๊ฒ์ด๋ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์ข ์๋์ง ์ฐพ์ ๋ด์ผ๊ฒ ๋ค์
์์ํ ๋ชจ๋ธ์ด๊ธฐ ๋๋ฌธ์ ์์ํ ์์ค์ ๋ฐ๋ผ ์ฝ๊ฐ์ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค~
์์ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋คใ ํน์ gpu๋ฅผ ๊ผญ ์จ์ ํธ์คํ ํด์ผ ํ๋ค๋ฉด 3090์ ๋๋ ๋์ด์ผ ํ ๊น์?
vram ์ ๋๋ํ ์๋ก ์ข์ต๋๋ค~ ์ด๋ค ๋ชจ๋ธ์ด๋์ ๋ฐ๋ผ์ ์ถฉ๋ถํ ์๋ ํน์ ๋ถ์กฑํ ์๋ ์์ ๊ฒ ๊ฐ์์. ์ฌ๊ธฐ์ ์ง์ ๊ณ์ฐํด ๋ณด์ค ์ ์์ด์
huggingface.co/spaces/NyxKrage/LLM-Model-VRAM-Calculator
ํน์ EEVE-Korean๊ณผ LLaMA3ํ๊ณ ์ฐ๋ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๊น์??
๋ชจ๋ธ์ ๋ณดํต ๋ ์ค ํ๋๋ฅผ ํ1 ํ์ฌ ์ ํํ์ฌ ์งํํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ ๋๋ค. ๋ณดํต์ ๋ ๋ค ํ ์คํธ ํด๋ณด๊ณ ๋ ๋์ ๋ชจ๋ธ์ ํ 1 ํฉ๋๋ค๋ง, LLM ๋ผ์ฐํ ์ด๋ผ๋ ๋ฐฉ์๋ ์์ต๋๋ค. ์ฝ๋์ ๊ด๋ จํ ๋ด์ฉ์ llama ๊ฐ ํ๊ตญ์ด ์ง๋ฌธ์ eeve ๊ฐ ๋ต๋ณํ ์ ์๋๋ก ํ ์ ์์ด์~
๊ทธ๋ผ ๋ก์ปฌํธ์คํธ๋ก ๋๋ฆฌ๋ AI๋
์ต๋ ์์ , ๋ต๋ณ ๊ธธ์ด ์ ํ์ด๋ ์ด๋ฐ๊ฑฐ๋ ์๋์?
๋ต๋ณ ๊ธธ์ด์ ์ ํ์ ์๊ณ ์. ๋ต๋ณ ๊ธธ์ด์ ์ ํ์ ๋ค์ด๋ก๋ ๋ฐ์ ๋ก์ปฌ ๋ชจ๋ธ์ ๋ต๋ณ ์ ํ์ ๋ฐ๋ผ๊ฐ๋๋ค~
@@teddynote ์ํ ๊ทธ๋ ๊ตฐ์ใ ใ
Claude ๋ 250์ค ์ฏค์์ hit the maximum length limit ๊ฐ ๋จ๊ณ
GPT 4๋ ์ค๊ฐ์ ์ฝ๋ ๋นผ๋จน๋
(#์ด๋ฏธ์๋ ๊ตฌ์กฐ ์ฌ์ฉ) ์ด๋ฐ๊ฒ ์๋๋ผ
๋ง๊ทธ๋๋ก ์ฝ๋๊ฐ ๋น ์ง๊ณ
์ด์ํ๋ฐ์ "]" ๋ค์ด๊ฐ๋ ์ด์ํ ๋ฌธ์ ๊ฐ
์์ด์ ๋ก์ปฌ๋ชจ๋ธ ์ฐพ์๋ณด๊ณ ์๋๋ฐ ใ ใ
์์ฝ๋ค์.
ใ กใ กใ กใ กใ กใ กใ กใ ก
๊ถ๊ตผํ๊ฒ ์์ด์ ์ถ๊ฐ ์ง๋ฌธ ์ข ๋๋ ค๋ด ๋๋ค
์ง๊ธ ์ฐ๋ Gpu๊ฐ 1080ti 11GB ์ ๋๋ค.
๋ผ๋ง 3 70B ๋ชจ๋ธ์ ์จ๋ณด๋ ค๊ณ ํ๋๋ฐ VRAM 11GB๋ฉด ์ถฉ๋ถํ์ง ๊ถ๊ตผํฉ๋๋ค.
๋ง์ฝ ๋ถ์กฑํ๋ค๋ฉด 48GB ๊น์ง๋ ๋๋ ค๋ณผ์ ์์ต๋๋ค.
๊ตฌ๊ธ๋ง ํด๋ณด๋ Vram 160Gb ํ์ํ๊ณ
๋ญ ์์ํ ํ๋ฉด ๊ดธ์ฐฎ๋ค๋๋ฐ ๋ง๋์?
@@4527PENK ์์ํ๋ ๋ชจ๋ธ๋ก ํ ์คํธ ๊ฐ๋ฅํฉ๋๋ค. Q4 ์์ํ ๋ชจ๋ธ๋ก ํ ์คํธ ํด๋ณด์๋ฉด ๋ ๊ฒ ๊ฐ์์. 24~48GB ์ฌ์ด ์ ๋ ๋ ๊ฒ ์ ๋๋ค.
๋ค๋ง, Q4 ์์ํ๋ ์ธํ ๋ฆฌ์ ผ์ค ์์ค์ด ๋ง์ต๋๋ค. ์๋ณธ ๋ชจ๋ธ์ธ 160G ์ง๋ฆฌ๋ก ํด์ผ ๊ฑฐ์ ๋ฌด์์ค์ ์ธํ ๋ฆฌ์ ผ์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง, ๋๊ตฌ๋ ๊ทธ๋ฐ GPU ์์์ด ์๋ ๊ฒ์ ์๋๊ธฐ์ ๊ฐ์ฉํ ์ ์๋ ์์์ ๋ง์ถฐ ์์ํ๋ ๋ชจ๋ธ (Q4, Q6) ์ ๋์์ ํํํด์ ํ ์คํธ ํด๋ณด์ค ์ ์์ต๋๋ค~
@@teddynote๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค.๐
ํ ๋๋ ธํธ๋ ์ ์ ํ ๋๋ ธํธ๋์์์์ ๋ดฃ๋๋ฐ ๊ทธ llm ์ ํํด์ ์ฌ์ฉํ ์์๋ ํ๋ก๊ทธ๋จ์ด๋ฆ์ด ๊ธฐ์ต์ด์๋์,. ์ฐพ์ง๋๋ชปํ๊ฒ ๊ณ ...์ฑgpt์ ํํ๋ฉด api ํค๋ฃ๊ณ ๋ก์ปฌ๊ตฌ๋๊ฐ๋ฅํ ๋ผ๋ง๊ฐ์๊ฑฐ ์ ํํ๋ฉด ๋ผ๋ง์์์ ๋ค์ด๋ฐ์์ ์ฐ๊ณ ๊ทธ๋ฐํ๋ก๊ทธ๋จ์ด์๋๋ฐ. ์ด๋ฐํ๋ก๊ทธ๋จ์ ๋ง์ด์จ์ผ ๋ ์ข์์ง๋ค ๋ญ์ด๋ฐ๋งํ์ ง๋๊ฑธ๋ก๊ธฐ์ตํฉ๋๋ค.
LM Studio ๊ฐ ๋ก์ปฌ์์ ๋ค์ด๋ก๋ ๋ฐ์์ ๊ตฌ๋ํ๋ ํ๋ก๊ทธ๋จ์ด๊ตฌ์!
Anything LLM ์ RAG ๋จ๊ณ๋ณ ๋ชจ๋ ์ ํํ์ฌ ๊ตฌ๋ํ ์ ์๋ ํ๋ก๊ทธ๋จ ์ ๋๋ค!
@@teddynote ๊ฐ์ฌํฉ๋๋ค!!
ํ ๋๋. ollama๋ฅผ local์ด ์๋ aws ์๋ฒ๋ก ๋์์ ์ด๋ค๋ฉด ๋น์ฉ์ด ๋ง์ด ๋ค๊ฒ ์ฃ ..?
GPU ์ธ์คํด์ค ์ข ๋ฅ์ ๋ฐ๋ผ์ ๋ค๋ฅผ ๊ฒ ๊ฐ์์. ๋น์ฉ์ ์ข ๋์ ๋ก ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ง์์ ์ธ ๋น์ฉ์ ๋ฐ์ํฉ๋๋ค ใ
@@teddynote ๋ค๋ฅธ open llm ์ฌ์ฉํด๋ ๋น์ฉ๋ถ๋ด์ ํด์๋ฐ์ ์๊ฒ ๋ค์..!
cuda๋ ๋ฏธ๋ฆฌ ์ค์นํด์ผ gpu๊ฐ ์๋ํ๋๊ฑด๊ฐ์? cuda์ค์น์์ผ๋ gpu๊ฐ์๋๋๊ฑฐ๊ฐ์์์
๋ง์ต๋๋ค cuda๋ ์ค์น๋์ด์ผ gpu ์ก์์ ๋์ํฉ๋๋ค!
์ง๋ฌธ ํ๋๋งํด๋ gpu๊ฐ 100%๊ฐ ๋์ด๋ฒ๋ฆฌ๋ค์ ๋ง์ฝ์ gpt3์ฒ๋ผ ์๋น์ค๋ฅผ ํ๋ ค๊ณ ํ๋ค๋ฉด ์ปดํจํฐ๊ฐ ๋ฌด์ํ๊ฒ ๋ง์ด ํ์ํ ๊น์?
VRAM์ ๋ ํฐ GPU๋ฅผ ์ฌ์ฉํ ์ ์๊ณ ์ ์ ๋ง ์ฌ์ฉ์๊ฐ ๋ง๋ค๋ฉด ๋ ๋ง์ ์ฅ๋น๊ฐ ํ์ํ ์ ์์ด์. ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ด์ฉํ๋ฉด ์์ฝ๊ฒ ํ์ฅํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค! ๊ทธ๋ฐ๋ฐ ๋์ ๋ง์ด ๋ค์ฃ ใ
์์ง ์ค๋ฅ๊ฐ ๋๋ฌด ๋ง๋ค์
AI ์ด๋ณด์ธ๋ฐ์, Ollama๊ฐ LLM์ธ๋ฐ EEVE ๋ชจ๋ธ์ด ์ ํ์ํ์ง ๊ถ๊ธํ๋ค์
๋ค~ ollama๋ llm์ด ์๋๊ณ llm์ ๊ตฌ๋ํ๋ ํ๋ก๊ทธ๋จ ์ ๋๋ค. EEVE๊ฐ llm์ ๋๋ค~
@@teddynote ์~~๊ฐ์ฌํฉ๋๋ค
๋๋ฌด ์๋ดค์ต๋๋ค. ๋ค๋ฆ์ด ์๋๋ผ ๊ถ๊ธํ๊ฒ ์๋๋ฐ์... ์๋์ฐ์์๋ ๋๋ ๊ฑด๊ฐ์ฌ?
๋ค ๊ฐ๋ฅํฉ๋๋ค!
๋๋ฌด ์ค๋ช ์ด ์๋์ด์์ด์ rag์ ๊น์ง๋ ์ฑ๊ณต์ ํ์์ต๋๋ค. ๊ทธ rag๋ฅผ ํ๋ ค๋ฉด ์๋ฒ ๋ฉ์ openai๋ก ํ๋ค๊ณ ํ๊ณ ๋ค๋ฅธ๊ฑธ๋ก ํ ์๋ ์๋ค๊ณ ํ์ จ๋๋ฐ ์คํ์์ค๋ก ๋์ด์๋๊ฒ์ด ๋ญ๊ฐ ์์๊น์?
@@Withipad ํ๊น ํ์ด์ค์ bge-m3 ์๋ฒ ๋ฉ์ด ์์ต๋๋ค~ ํ๊ธ ์ฒ๋ฆฌ ๋ฅ๋ ฅ๋ ์ฐ์ํ ํธ์ ๋๋ค
@@teddynoteใ ใ กใ ๊ฐ์ฌ๋๋ฆฝ๋๋
ํ๊ฐ์ง๋ง ๋ง์ง๋ง์ผ๋ก ์ง๋ฌธ๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค..
๊ทธ ์คํ๋ผ์ธ ํ๊ฒฝ์์๋ ์ ๋ ์งํํ ์์๋ ํ๋ก์ ํธ์ธ๊ฐ์??
Server.py๋ฅผ ์คํ๋ผ์ธ์์ ์คํ์์ผฐ๋๋,
์๋ฌ๊ฐ ๋จ๋๋ผ๊ตฌ์ ๋ญ์ฒด์ธ ๋ชจ๋์์ ์จ๋ผ์ธ์ผ๋ก ๊ฐ์ ธ์ค๋๊ฒ ์๋๊ฒ ๊ฐ๋๋ฐ์ฉ..
๋จ์ ์ฑ๋ฅ๋ง ๋น๊ตํ๋ฉด ๊ทธ๋๋ gpt4 ๊ณ์ด์ ๋ชจ๋ธ์ด EEVE๋ณด๋ค ๋ง์ด ์ข์๊ฐ์? ํ๊ตญ์ด ๊ธฐ์ค์ผ๋ก์!
์ฑ๋ฅ์ด ์ฌ๋ฌ ๋ถ๋ถ์ ํฌํจํ๊ณ ์์ง๋ง GPT4๋ ์ ๋ ฅ์ผ๋ก ๋ฐ๋ ์ปจํ ์คํธ ๊ธธ์ด๊ฐ 128K๋ก eeve ์ 4K๋๋น ํฌ๊ธฐ ๋๋ฌธ์ RAG๋ฅผ ํ์ค ๋๋ ์ ๋ ฅ์ ๊ธธ์ด๊ฐ ๊ธธ๋ฉด ์ข์ผ๋ฏ๋ก GPT4๊ฐ ์ข๋ค๊ณ ํ ์ ์์ต๋๋ค.
์ผ๋์์ ํ๊ธ๋ชจ๋ธ๋ก ๋ฒ์ญํ๋ฉด ๋ฅ์๊ณผ ๋น๊ตํด์ ์ด๋ค๊ฐ์? ใ ใ
์ผ๋ฐ ๋ฒ์ญ ์์ค์ ํ๋ฅญํฉ๋๋ค. ์ ๋ ๋๋ฆ ๋ง์กฑํ๋ฉด์ ์ฌ์ฉํ๊ณ ์์ด์!
๋ก์ปฌ rtx 4060 8๊ธฐ๊ฐ๋ก ํ ์คํธํ๋ฉด ์์ฒญ ๋๋ฆฐ๋ฐ ๋ง๋๊ฑฐ์ฃ ? ใ
ํน์ CUDA ์ค์ ์ด ๋์ด ์์ผ์ค๊น์~? ์๋์ด ์๋ ๊ฒฝ์ฐ ๋๋ฆด ์ ์์ด์ (CPU ์ฌ์ฉ)
@@teddynote ์ด๋ป๊ฒ ํ๋ฉด cuda๋ฅผ ์ฌ์ฉํ๋์ง ๊ฐ๋จํ๊ฒ ์๋ ค์ฃผ์ค ์ ์์ผ์ ๊ฐ์
@@๋๋ํธ๋ ์ด๋-o8g cuda ๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์๋ ์ค์น ๊ณผ์ ์ด ํ์ํ๋ฐ์! ๋ธ๋ก๊ทธ์ ๊ฒ์ํด ๋ณด์๋ฉด ๊ด๋ จ ์๋ฃ๊ฐ ๋ง์ด ๋์ต๋๋ค.
GPU ๋ฒ์ ์ ๋ง๋ CUDA๋ฅผ ์ค์นํ์๋ฉด GPU๊ฐ ์ ์์ ์ผ๋ก ์๋ํฉ๋๋ค. ์์ ๋งํฌ ๊ณต์ ๋๋ฆด๊ป์~
velog.io/@sxngwxx/%EC%9C%88%EB%8F%84%EC%9A%B0Windows-CUDA-cuDNN-%EC%84%A4%EC%B9%98
LLM๋ชจ๋์์ Chat๋ชจ๋๋ก ์ด๋ป๊ฒ ๋ณ๊ฒฝํ๋์...?
์ฃผ์๊ฐ /xionic/playground ๋ก ๋์ด ์์ผ๋ฉด Chat ๋ชจ๋, /prompt/playground ๋ก ๋์ด ์์ผ๋ฉด LLM ๋ชจ๋์ธ ๋ฏ ํ๋ค์.
์๋์ฐ ๊ธฐ์ค์ผ๋ก๋ ์ค๋ช ํด์ฃผ์ค์ ์์๊น์?
์ ๊ฐ ์๋์ฐ๊ฐ ์์ด์์ ใ ใ
์๋์ฐ๋ผ๊ณ ๋ฑํ ๋ค๋ฅธ ์ ์ ์์ ๊ฒ ๊ฐ์์^^
์๋ ํ์ธ์ ์์ ๊ฐ์ฌํฉ๋๋ค.
์ ์ด๋ณด๊ฐ ๋ฐ๋ผํ๋ ค๊ณ ํ๋๋ฐ, ์ธ์ดํธ์์ GGUF ํ์ผ ๋ฐ์, Modelfile ๋ง๋๋ ค๋๋ฐ, ์๊พธ ์๋ฌ๊ฐ ๋๋ค์
modelfile ํ์ฅ์๊ฐ yaml ๋ง๋์? ๋ฉ๋ชจ์ฅ์์ ํ์ฅ์๋ฅผ yaml๋ก ์ ์ฅํ์ต๋๋ค.
cmd ์ฐฝ์์ Modelfile ์๋ ํด๋๊ฐ์ "ollama create EEVE -f Modelfile ๋ก ํ๋ฉด ํ์ผ์ ๋ชป์ฐพ๊ฒ ๋ค๊ณ ํ๊ณ ,
Modelfile.yaml ๋ก ์น๋ฉด "no FROM line for the model was specified" ๋ผ๊ณ ํ๋ ์๋ฌ๊ฐ ๊ณ์ ๋จ๋ค์.
1. Modelfile ์ ๋ณ๋ ํ์ฅ์๊ฐ ์์ต๋๋ค ๊ทธ๋ฅ ํ์ฅ์ ์์ด Modelfile ์ด๋ผ๊ณ ๋ง๋์๋ฉด ๋ฉ๋๋ค~
2. Modelfile ์์ ๋ด์ฉ์ ์ ๋ ฅํด ์ฃผ์ ์ผ ํฉ๋๋ค ๋ด์ฉ์ github.com/teddylee777/langserve_ollama/blob/main/ollama-modelfile/EEVE-Korean-Instruct-10.8B-v1.0/Modelfile
๋งํฌ์ ํ์ผ์ ๋ณด์๊ณ ์ ๋ ฅํ์๋ฉด ๋๋๋ฐ์. ๋งจ ์์ FROM ๋ค์์ ๋์ค๋ ํ์ผ์ ๊ฒฝ๋ก๋ง ๋ณธ์ธ์ด ์ ์ฅํ ๊ฒฝ๋ก๋ก ๋ณ๊ฒฝํด ์ฃผ์๋ฉด ๋ฉ๋๋ค!
@@teddynote ๊ฐ์ฌํฉ๋๋ค. modelfile ์ ํ์ฅ์ ์์ด ๋ง๋ ๋ค๋ ๋ง์ ์ดํด๋ชปํ์๋๋ฐ, ๋ฉ๋ชจ์ฅ์ด ์๋๋ผ ํด ์ด์ฉํด์ ๋ง๋๋๊น ๋๋ค์!
์๋ ํ์ธ์ ์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.^^ EEVE ๋ชจ๋ธ์ ์์ ์ฉ์ผ๋ก ์ฌ์ฉํด๋ ๋๋์?
apache 2.0 ๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๋ฆ ๋๋ค. ์์ ์ฉ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ ์ ์ฝ์ด ์์ผ๋ ์ฌ์ ์ ํ์ธํด ๋ณด์ธ์^^
ํน์ ollama ์๋ ์๋ฌ๋ ์ ๋จ๋๊ฑด์ง ์์ค๊น์? ๊ตฌ๊ธ๋งํด๋ ์์๋์ค๋ค์
ValueError: Ollama call failed with status code 500. Details: {"error":"llama runner process no longer running: -1 CUDA error: the provided PTX was compiled with an unsupported toolchain.
current device: 0, in function ggml_cuda_compute_forward at /root/parts/ollama/build/llm/llama.cpp/ggml-cuda.cu:2212
err
GGML_ASSERT: /root/parts/ollama/build/llm/llama.cpp/ggml-cuda.cu:60: !\"CUDA error\""}
llama cpp ๋ก ์คํํ์ จ๋์?
@@teddynote ์๋จ ์ฒ์์ ollama pull๋ก ๋ก๊ฒจ์ค๋ค๊ฐ ์ ์๋ฌ๊ฐ ๋จ๊ธธ๋ ์์ ๋ฐฉ์๋๋ก GGUF์์ ๊ฐ์ ธ์๋๋ฐ ๋๊ฐ์ ์ํฉ์ ๋๋ค. CUDA ๋ฒ์ ๋ฌธ์ ์ผ๊น์? ์ฐธ๊ณ ๋ก 12.2 ๋ฒ์ ์ ๋๋ค.
@@JeongminYoo-rc5bl CUDA ๋ฒ์ ๋ฌธ์ ์ผ ์ ์์ด์. ์ง์ํ๋ CUDA ๋ฒ์ ํ ๋ฒ ํ์ธํด ๋ณด์๊ณ ์ง์ํ๋ ๋ฒ์ ์ผ๋ก ํ ๋ฒ ์ค์นํด ๋ณด์๊ฒ ์ด์?
ํ ๋๋! ์์๋ณด๋ฉฐ ๋ค๋ฅธ ๋ชจ๋ธ๋ ์ ์ฉํด ๋ณด๊ณ ์์ต๋๋ค. ์ํ์ฝ๋๋ณด๋ ๋ผ๋ง3๋ ์ ์ฉํด ๋ณด์ ๊ฑฐ ๊ฐ์๋ฐ ํน์ ํ๊ธ๋ฌธ์ ์์ผ์ จ๋์?
ํ๊ธ๋ต๋ณ์ด ์๋์ค๋๊ฑด ์๋๋ฐ ๋ญ๊ฐ ํ์ง์ด ๋จ์ด์ง๊ธฐ๋ ํ๊ณ ์์คํ ํ๋กฌํํธ๋ฅผ ์ค๋ ์์ด๋ก ๋ต๋ณํ๊ธฐ๋ ํ๊ณ ๊ทธ๋ฌ๋ค์^^;
์์ด์ ํธ ์ฌ์ฉํ๋ฉด ํ๊ธ ๋ต๋ณ์ ๋ํ์ฌ ์ข ํ์ง์ด ๋จ์ด์ง๋ ๊ฑด ์ฌ์ค ์ธ๊ฒ ๊ฐ์ต๋๋ค. 8B์์๋ ํ์คํ ๊ทธ๋ ๊ตฌ์ 70B ์ฌ์ฉํ๋๊น ํ์คํ ์ข์ต๋๋ค!
์๋ ํ์ธ์. ํญ์ ์๋ฃ ๊ฐ์ฌํ ๋ณด๊ณ ์์ต๋๋ค!
๋๋ถ์ LLM ๋ ์์ฝ๊ฒ ํธ์คํ ์ด ๊ฐ๋ฅํ๋ค๋๊ฑธ ์๊ฒ ๋์๋๋ฐ์.
ํน์ ์๋ฒ ๋ฉ ๋ชจ๋ธ๋ ollama - langserve ์กฐํฉ์ผ๋ก remote ๊ฐ ๊ฐ๋ฅํ ๊น์?
๊ฐ๋ฅํ๋ค๋ฉด ํ๊ตญ์ด๊ฐ ์๋๋ ์๋ฒ ๋ฉ ๋ชจ๋ธ๋ก
์์) db = Chroma(..., embedding_function=RemoteEmbedding("์ฃผ์/embedding/", ...)
๊ฐ๋ฅํด์.
์๋์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
from langchain_core.runnables import RunnableLambda
embedder = HuggingFaceEmbeddings(...)
runnable_embedder = RunnableLambda(afunc=embedder.aembed_documents)
add_routes(app, runnable_embedder)
๊นํ ์ด์์ ์ฌ๋ผ์จ ๋ด์ฉ๋ ๊ฐ์ด ์ฐธ๊ณ ํ์๋ฉด ์ข์์
github.com/langchain-ai/langserve/discussions/383
์ ๋ง ๊ฐ์ฌํฉ๋๋คใ
์ ํ๋ ํ๊ฒฝ์ด๋ผ api ๋ฐฉ์ ๋ฐ์ ์ฌ์ฉ ๋ชปํ๋๋ฐ ๋๋ถ์ ์ฌ๋ฌ๊ฐ์ง ๋ก์ปฌ๋ชจ๋ธ๋ ์๋ํด๋ณผ์ ์๊ฒ ๋ค์!!๐
๊ฐ์ฌํฉ๋๋ค!!
๊ฐ์ฌํฉ๋๋ค~๐