Google Colab Pro+
T4 GPU + ๊ณ ์ฉ๋ RAM
# python ์ 3.8 ๊ถ๊ณ (ํ์ฌ colab ์ 3.10)
!pip install langchain
# ์ฑ
์์๋ !pip install langchain==0.0.350 ๊ถ๊ณ .
!pip install unstructured
!pip install sentence-transformers==2.2.2
!pip install chromadb
!pip install openai
from google.colab import drive
drive.mount('/content/drive')
https://github.com/gilbutITbook/080413/blob/main/Data/AI.txt
from langchain.document_loaders import TextLoader
documents = TextLoader("/content/sample_data/AI.txt").load()
ํฐ ๋ฉ์ด๋ฆฌ์ ๋ฌธ์๋ฅผ ์์ ๋ฉ์ด๋ฆฌ๋ก ๋ถํ ํ๋ ๊ณผ์
from langchain.text_splitter import RecursiveCharacterTextSplitter
def split_docs(documents,chunk_size=1000,chunk_overlap=20):
text_splitter = RecursiveCharacterTextSplitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap)
docs = text_splitter.split_documents(documents)
return docs
# docs ๋ณ์์ ๋ถํ ๋ฌธ์๋ฅผ ์ ์ฅ
docs = split_docs(documents)
๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ ํฌ๋ก๋ง์ ์๋ฒ ๋ฉ ์ฒ๋ฆฌ๋ ๋ฒกํฐ ์ ์ฅ
์๋ฒ ๋ฉ ์ฒ๋ฆฌ ๋ชจ๋ธ : all-MiniLM-L6-v2
from langchain_community.embeddings import SentenceTransformerEmbeddings
embeddings = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")
from langchain.vectorstores import Chroma
db = Chroma.from_documents(docs, embeddings)
์ฝ๋์์ langchain_community ์๋ฌ ๋ฐ์ ์ ์คํ์์ผ ๋ณธ๋ค (์ด๊ฒ ํด๋ต์ ์๋ ๊ฒ ๊ฐ์..)
!pip install langchain_community
import os #์ด์์ฒด์ (os) ๋ชจ๋์ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
os.environ["OPENAI_API_KEY"] = "sk-key" #openai ํค ์
๋ ฅ
from langchain.chains.question_answering import load_qa_chain
chain = load_qa_chain(llm, chain_type="stuff",verbose=True)
query = "AI๋?"
matching_docs = db.similarity_search(query)
answer = chain.run(input_documents=matching_docs, question=query)
answer
'AI๋ ์ธ๊ฐ์ด๋ ๋๋ฌผ์ ์ง๋ฅ๊ณผ๋ ๋ฌ๋ฆฌ ๊ธฐ๊ณ๋ ์ํํธ์จ์ด์ ์ง๋ฅ์ ๊ฐ๋ฆฌํค๋ ์ฉ์ด์ ๋๋ค. ์ปดํจํฐ ๊ณผํ ๋ถ์ผ์์ ๋ฐ์ ํ๊ณ ์ฐ๊ตฌ๋๋ ์ง๋ฅ์ ์ธ ๊ธฐ๊ณ๋ค์ ๊ฐ๋ฆฌํค๋ฉฐ, AI ๊ธฐ์ ์ ์ฐ์ , ์ ๋ถ, ๊ณผํ ๋ถ์ผ์์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. AI ๋ถ์ผ์ ์ฃผ์ ์์ฉ ๋ถ์ผ๋ก๋ ๊ณ ๊ธ ์น ๊ฒ์ ์์ง, ์ถ์ฒ ์์คํ , ์์ฑ ์ธ์, ์์จ ์ฃผํ ์๋์ฐจ, ์ฐฝ์กฐ์ ์ธ ๋๊ตฌ, ์ ๋ต ๊ฒ์ ๋ถ์ ๋ฑ์ด ์์ต๋๋ค. Alan Turing์ด ๊ธฐ๊ณ ์ง๋ฅ์ด๋ผ๊ณ ๋ถ๋ฅด๋ ๋ถ์ผ์์ ์ฒซ ์ฐ๊ตฌ๋ฅผ ์ค์ํ๊ณ , 1956๋ ์ ํ๋ฌธ์ ๋ถ์ผ๋ก ์ค๋ฆฝ๋์์ต๋๋ค. ์ดํ ๋ฅ ๋ฌ๋๊ณผ transformer ์ํคํ ์ฒ์ ๋ฑ์ฅ์ผ๋ก AI์ ๋ํ ๊ด์ฌ๊ณผ ์๊ธ์ด ํฌ๊ฒ ์ฆ๊ฐํ์ผ๋ฉฐ, 2020๋ ๋์๋ ๋ฏธ๊ตญ์ ์ค์ฌ์ผ๋ก ์ค์ํ ๋ฐ์ ์ด ์ด๋ฃจ์ด์ง๊ณ ์์ต๋๋ค.'