■ ChatOllama 클래스를 사용해 질문하는 방법을 보여준다. (phi4:latest 모델)
▶ main.py
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 32 33 34 35 |
from langchain_core.prompts import ChatPromptTemplate from langchain_ollama import ChatOllama from langchain_core.output_parsers import StrOutputParser chatPromptTemplate = ChatPromptTemplate.from_template("{topic}에 대하여 간략히 설명해 주세요.") chatOllama = ChatOllama(model = "phi4:latest") runnableSequence = chatPromptTemplate | chatOllama | StrOutputParser() generator = runnableSequence.stream({"topic" : "deep learning"}) for responseChunkString in generator: print(responseChunkString, end = "", flush = True) print() """ 물론입니다! 딥 러닝은 인공 신경망을 기반으로 하는 기계 학습의 한 분야로, 복잡한 패턴과 관계를 자동으로 학습할 수 있는 강력한 도구입니다. 주요 특징과 개념은 다음과 같습니다: 1. **신경망 구조**: 딥 러닝 모델은 여러 계층의 신경망으로 구성됩니다. 입력 데이터는 첫 번째 층(입력 층)에 들어가고, 중간의 몇 개의 은닉층을 거쳐 최종 출력층에서 결과를 내놓습니다. 각 계층은 다양한 수의 뉴런으로 구성되어 있으며, 이들이 서로 연결되어 복잡한 함수 근사를 학습할 수 있게 됩니다. 2. **학습 과정**: 딥 러닝 모델은 주로 경험적 데이터 세트를 사용하여 학습합니다. 이 과정에서 목적 함수(예: 손실 함수)를 최소화하거나 목표 값을 극대화하는 방법을 찾습니다. 경사 하강법과 같은 최적화 알고리즘을 사용하여 모델의 매개변수(가중치와 편향)를 조정합니다. 3. **합성곱 신경망(CNN)**: 이미지 처리에 널리 쓰이는 딥 러닝 아키텍처로, 공간적 계층 구조를 통해 패턴과 특징을 자동으로 학습합니다. 필터를 사용하여 이미지에서 유용한 정보를 추출하는 데 효과적입니다. 4. **신경망 양자화(Recurrent Neural Networks, RNN)**: 시퀀스 데이터 처리에 적합하며, 순차적인 입력을 처리할 수 있게 합니다. 이는 자연어 처리 및 시계열 분석에서 많이 사용됩니다. 5. **양자화 기법**: 딥 러닝 모델의 복잡성과 메모리 요구를 줄이기 위해, 가중치와 활성화 함수를 저밀도 혹은 정수형으로 양자화하는 방식을 포함합니다. 이는 실시간 응용에서 모델의 속도와 효율성을 높이는 데 유리합니다. 6. **대규모 데이터와 컴퓨팅 파워**: 딥 러닝은 대량의 데이터 세트와 높은 계산 자원을 필요로 합니다. GPU 및 분산 컴퓨팅 기술이 이러한 요구를 충족하는 데 중요한 역할을 하고 있습니다. 딥 러닝의 발전은 이미 자율 주행, 음성 인식, 감정 분석 등 다양한 분야에서 혁신적인 변화를 가져왔으며, 앞으로도 기술의 진보에 중요한 역할을 할 것입니다. """ |
▶ requirements.txt
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 |
annotated-types==0.7.0 anyio==4.8.0 certifi==2024.12.14 charset-normalizer==3.4.1 exceptiongroup==1.2.2 h11==0.14.0 httpcore==1.0.7 httpx==0.27.2 idna==3.10 jsonpatch==1.33 jsonpointer==3.0.0 langchain-core==0.3.29 langchain-ollama==0.2.2 langsmith==0.2.10 ollama==0.4.5 orjson==3.10.14 packaging==24.2 pydantic==2.10.5 pydantic_core==2.27.2 PyYAML==6.0.2 requests==2.32.3 requests-toolbelt==1.0.0 sniffio==1.3.1 tenacity==9.0.0 typing_extensions==4.12.2 urllib3==2.3.0 |
※ pip install langchain-ollama 명령을 실행했다.