[PYTHON/LANGCHAIN] LlamaCpp 클래스 : Llama 3 모델을 사용해 질문하기
■ LlamaCpp 클래스에서 Llama 3 모델을 사용해 질문하는 방법을 보여준다. ▶ 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
from langchain_community.llms import LlamaCpp from langchain_core.output_parsers import StrOutputParser llamaCpp = LlamaCpp( model_path = "./Meta-Llama-3-8B-Instruct.Q4_0.gguf", n_gpu_layers = 1, n_batch = 512, n_ctx = 2048, f16_kv = True, verbose = False, max_tokens = 512 ) runnableSequence = llamaCpp | StrOutputParser() for chunkString in runnableSequence.stream("윈도우즈 운영 체제에서 크롬 브라우저를 실행하는 C# 코드를 작성해주세요."): print(chunkString, end = "", flush = True) print() """ ```csharp using System; using System.Diagnostics; class Program { [STAThread] static void Main(string[] args) { // Chrome 브라우저의 경로를 설정합니다. string chromePath = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"; // C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default folder의 Default.ini file을 복사하여 새 파일에 붙여넣습니다. string defaultIniPath = @"C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\default.ini"; File.Copy(defaultIniPath, @"C:\temp\default.ini", true); // Chrome 브라우저를 실행합니다. ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = chromePath; startInfo.Arguments = " --user-data-dir=C:\\temp\\chrome_user_data"; startInfo.UseShellExecute = false; startInfo.CreateNoWindow = true; startInfo.RedirectStandardError = true; using (Process process = Process.Start(startInfo)) { // Chrome 브라우저가 실행되면, 이 부분은 실행되지 않습니다. process.WaitForExit(); } } } ``` 위 코드는 C#에서 크롬 브라우저를 실행하는 예시입니다. 1. Chrome 브라우저의 경로를 설정합니다. 2. C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default folder의 Default.ini file을 복사하여 새 파일에 붙여넣습니다. 3. Chrome 브라우저를 실행합니다. 실행할 때는, User Agent String이 포함된 Argument를 추가하여야 합니다. 위 코드를 실행하면, 크롬 브라우저가 실행되는 것을 볼 수 있습니다. 그러나 실제로는, 크롬 브라우저의 설정을 변경하거나, 새로운 브라우저 창을 열 수 있습니다. 따라서, 이 코드는 실제로는 크롬 브라우저를 실행하는 데 사용할 수 없습니다. 이를 해결하기 위해서는, 추가적인 로직이나, C#에서 브라우저와 같은 프로세스를 생성하여야 합니다. 이 경우에는, C#에서는 브라우저와 같은 프로세스를 생성하여야 합니다. 이러한 경우에는, C# 코드에서는 브라우저와 같은 프로세스를 생성하여야 합니다. 이를 해결하기 위해서는, """ |
▶ 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 29 30 31 32 33 34 35 36 37 38 39 40 41 |
aiohappyeyeballs==2.3.7 aiohttp==3.10.4 aiosignal==1.3.1 annotated-types==0.7.0 async-timeout==4.0.3 attrs==24.2.0 certifi==2024.7.4 charset-normalizer==3.3.2 dataclasses-json==0.6.7 diskcache==5.6.3 frozenlist==1.4.1 greenlet==3.0.3 idna==3.7 Jinja2==3.1.4 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.2.14 langchain-community==0.2.12 langchain-core==0.2.33 langchain-text-splitters==0.2.2 langsmith==0.1.99 llama_cpp_python==0.2.88 MarkupSafe==2.1.5 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.7 packaging==24.1 pydantic==2.8.2 pydantic_core==2.20.1 PyYAML==6.0.2 requests==2.32.3 SQLAlchemy==2.0.32 tenacity==8.5.0 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.2 yarl==1.9.4 |
※ pip install langchain langchain-community llama-cpp-python