C:\>ollama list
NAME               ID              SIZE      MODIFIED
llama3.2:latest    a80c4f17acd5    2.0 GB    40 hours ago
gemma3:1b          8648f39daa8f    815 MB    40 hours ago
llama3.1:8b        46e0c10c039e    4.9 GB    40 hours ago
gemma4:e2b         7fbdbf8f5e45    7.2 GB    40 hours ago
llama3.2:3b        a80c4f17acd5    2.0 GB    40 hours ago

 

C:\Users\minimonk\.ollama\models\blobs>dir
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 6A30-5BAD

 C:\Users\minimonk\.ollama\models\blobs 디렉터리

2026-04-10  오후 11:33    <DIR>          .
2026-04-10  오후 10:51    <DIR>          ..
2026-04-10  오후 11:11            12,320 sha256-0ba8f0e314b4264dfd19df045cde9d4c394a52474bf92ed6a3de22a4ca31a177
2026-04-10  오후 11:33               492 sha256-120007c81bf8b4eb54e896a4a3e5ff9949f124b0ea42295277c8523f7fa9c7f6
2026-04-10  오후 11:33                77 sha256-3116c52250752e00dd06b16382e952bd33c34fd79fc4fe3a5d2c77cf7de1b14b
2026-04-10  오후 11:07               561 sha256-34bb5ab01051a11372a91f95f3fbbc51173eed8e7f13ec395b9ae9b8bd0e242b
2026-04-10  오후 11:11               487 sha256-455f34728c9b5dd3376378bfb809ee166c145b0b4c1f1a6feca069055066ef9a
2026-04-10  오후 11:10     7,162,394,016 sha256-4e30e2665218745ef463f722c0bf86be0cab6ee676320f1cfadf91e989107448
2026-04-10  오후 11:10                42 sha256-56380ca2ab89f1f68c283f4d50863c0bcab52ae3f1b9a88e4ab5617b176f71a3
2026-04-10  오후 11:07                96 sha256-56bb8bd477a519ffa694fc449c2413c6f0e1d3b1c88fa7e3c9d88d3ae49d4dcb
2026-04-10  오후 11:11     4,920,738,944 sha256-667b0c1932bc6ffc593ed1d03f895bf2dc8dc6df21db3042284a6f4416b06a29
2026-04-10  오후 11:10            11,355 sha256-7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2
2026-04-10  오후 11:33       815,310,432 sha256-7cd4618c1faf8b7233c6c906dac1694b6a47684b37b8895d470ac688520b9c01
2026-04-10  오후 11:11             1,481 sha256-948af2743fc78a328dcb3b0f5a31b3d75f415840fdb699e8b1235978392ecf85
2026-04-10  오후 11:07             1,429 sha256-966de95ca8a62200913e3f8bfbf84c8494536f1b94b49166851e76644e966396
2026-04-10  오후 11:07             6,016 sha256-a70ff7e570d97baaf4e62ac6e6ad9975e04caa6d900d3742d37698494479e0cd
2026-04-10  오후 11:10               473 sha256-c6bc3775a3fa9935ce4a3ccd7abc59e936c3de9308d2cc090516012f43ed9c07
2026-04-10  오후 11:33             8,432 sha256-dd084c7d92a3c1c14cc09ae77153b903fd2024b64a100a0cc8ec9316063d2dbc
2026-04-10  오후 11:06     2,019,377,376 sha256-dde5aa3fc5ffc17176b5e8bdc82f587b24b2678c6c66101bf7da77af9f7ccdff
2026-04-10  오후 11:33               358 sha256-e0a42594d802e5d31cdc786deb4823edb8adff66094d49de8fffe976d753e348
2026-04-10  오후 11:07             7,711 sha256-fcc5a6bec9daf9b561a68827b67ab6088e1dba9d1fa2a50d7bbcc8384e0a265d
              19개 파일      14,917,872,098 바이트
               2개 디렉터리  353,433,444,352 바이트 남음

C:\Users\minimonk\.ollama\models\manifests\registry.ollama.ai\library>dir
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 6A30-5BAD

 C:\Users\minimonk\.ollama\models\manifests\registry.ollama.ai\library 디렉터리

2026-04-10  오후 11:33    <DIR>          .
2026-04-10  오후 11:07    <DIR>          ..
2026-04-10  오후 11:33    <DIR>          gemma3
2026-04-10  오후 11:10    <DIR>          gemma4
2026-04-10  오후 11:11    <DIR>          llama3.1
2026-04-10  오후 11:36    <DIR>          llama3.2
               0개 파일                   0 바이트
               6개 디렉터리  353,433,411,584 바이트 남음

 

C:\Users\minimonk\.ollama\models\manifests\registry.ollama.ai\library\llama3.2>dir
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 6A30-5BAD

 C:\Users\minimonk\.ollama\models\manifests\registry.ollama.ai\library\llama3.2 디렉터리

2026-04-10  오후 11:36              .
2026-04-10  오후 11:33              ..
2026-04-10  오후 11:07             1,005 3b
2026-04-10  오후 11:36             1,005 latest
               2개 파일               2,010 바이트
               2개 디렉터리  353,430,896,640 바이트 남음

 

C:\Users\minimonk\.ollama\models\manifests\registry.ollama.ai\library\llama3.2>type latest
{
  "schemaVersion": 2,
  "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
  "config": {
    "mediaType": "application/vnd.docker.container.image.v1+json",
    "digest": "sha256:34bb5ab01051a11372a91f95f3fbbc51173eed8e7f13ec395b9ae9b8bd0e242b",
    "size": 561
  },
  "layers": [
    {
      "mediaType": "application/vnd.ollama.image.model",
      "digest": "sha256:dde5aa3fc5ffc17176b5e8bdc82f587b24b2678c6c66101bf7da77af9f7ccdff",
      "size": 2019377376
    },
    {
      "mediaType": "application/vnd.ollama.image.template",
      "digest": "sha256:966de95ca8a62200913e3f8bfbf84c8494536f1b94b49166851e76644e966396",
      "size": 1429
    },
    {
      "mediaType": "application/vnd.ollama.image.license",
      "digest": "sha256:fcc5a6bec9daf9b561a68827b67ab6088e1dba9d1fa2a50d7bbcc8384e0a265d",
      "size": 7711
    },
    {
      "mediaType": "application/vnd.ollama.image.license",
      "digest": "sha256:a70ff7e570d97baaf4e62ac6e6ad9975e04caa6d900d3742d37698494479e0cd",
      "size": 6016
    },
    {
      "mediaType": "application/vnd.ollama.image.params",
      "digest": "sha256:56bb8bd477a519ffa694fc449c2413c6f0e1d3b1c88fa7e3c9d88d3ae49d4dcb",
      "size": 96
    }
  ]
}

 

C:\>ollama show llama3.2:latest
  Model
    architecture        llama
    parameters          3.2B
    context length      131072
    embedding length    3072
    quantization        Q4_K_M

  Capabilities
    completion
    tools

  Parameters
    stop    "<|start_header_id|>"
    stop    "<|end_header_id|>"
    stop    "<|eot_id|>"

  License
    LLAMA 3.2 COMMUNITY LICENSE AGREEMENT
    Llama 3.2 Version Release Date: September 25, 2024
    ...

 

'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

ollama /set parameter num_gpu 테스트  (0) 2026.04.12
ollama cli 도움말  (0) 2026.04.12
ollama cpu only  (0) 2026.04.11
ollama context len  (0) 2026.04.11
ollama for windows  (0) 2026.04.10
Posted by 구차니

그냥 처음에 하면 GPU 100% 하더니, cpu로 돌렸다가 다시 gpu로 하면 gpu 100%가 안된다. 

버근가?


i5-7500 / 1060 6GB

C:\> ollama run  gemma3:1b --verbose
>>> 안녕?
안녕하세요! 어떻게 지내세요? 😊

무엇을 도와드릴까요?

total duration:       811.2763ms
load duration:        282.8154ms
prompt eval count:    12 token(s)
prompt eval duration: 95.1406ms
prompt eval rate:     126.13 tokens/s
eval count:           18 token(s)
eval duration:        375.8591ms
eval rate:            47.89 tokens/s

>>> 안녕?
안녕하세요! 저는 잘 지내고 있어요. 당신은요? 😊

무엇을 도와드릴까요?

total duration:       648.8691ms
load duration:        265.7547ms
prompt eval count:    42 token(s)
prompt eval duration: 28.3879ms
prompt eval rate:     1479.50 tokens/s
eval count:           24 token(s)
eval duration:        329.6217ms
eval rate:            72.81 tokens/s
C:\>ollama ps
NAME         ID              SIZE      PROCESSOR    CONTEXT    UNTIL
gemma3:1b    8648f39daa8f    1.4 GB    100% GPU     32768      4 minutes from now
>>> /set parameter num_gpu 0
Set parameter 'num_gpu' to '0'
>>> 안녕?
안녕! 너도 잘 지내고 있니? 혹시 오늘 하루가 즐거웠어? 😊

total duration:       3.6674907s
load duration:        1.9437334s
prompt eval count:    78 token(s)
prompt eval duration: 777.1942ms
prompt eval rate:     100.36 tokens/s
eval count:           24 token(s)
eval duration:        849.8989ms
eval rate:            28.24 tokens/s

>>> 안녕?
안녕! 당신도 잘 지내고 있니? 😊 오늘 하루는 어땠어?

total duration:       1.1887933s
load duration:        279.7522ms
prompt eval count:    114 token(s)
prompt eval duration: 147.417ms
prompt eval rate:     773.32 tokens/s
eval count:           21 token(s)
eval duration:        747.8409ms
eval rate:            28.08 tokens/s
C:\>ollama ps
NAME         ID              SIZE      PROCESSOR    CONTEXT    UNTIL
gemma3:1b    8648f39daa8f    1.4 GB    100% CPU     32768      4 minutes from now
>>> /set parameter num_gpu 1
Set parameter 'num_gpu' to '1'
>>> 안녕?
안녕! 😊 혹시 무슨 일 도와줄까?

total duration:       2.5497022s
load duration:        1.8405152s
prompt eval count:    147 token(s)
prompt eval duration: 184.0551ms
prompt eval rate:     798.67 tokens/s
eval count:           13 token(s)
eval duration:        466.5569ms
eval rate:            27.86 tokens/s

>>> 안녕?
안녕하세요! 😊 저는 질문에 답하거나, 이야기하거나, 간단한 작업도 할 수 있어요. 뭐 하고 싶으세요?

total duration:       1.5155845s
load duration:        259.3218ms
prompt eval count:    172 token(s)
prompt eval duration: 154.1147ms
prompt eval rate:     1116.05 tokens/s
eval count:           27 token(s)
eval duration:        1.0838799s
eval rate:            24.91 tokens/s
C:\>ollama ps
NAME         ID              SIZE      PROCESSOR          CONTEXT    UNTIL
gemma3:1b    8648f39daa8f    1.4 GB    88%/12% CPU/GPU    32768      4 minutes from now

 

 

ryzen 7 5800U

C:\>ollama run  gemma3:1b --verbose
>>> 안녕
안녕하세요! 무엇을 도와드릴까요? 😊

(Hello! How can I help you?)

total duration:       793.3831ms
load duration:        201.815ms
prompt eval count:    11 token(s)
prompt eval duration: 29.5206ms
prompt eval rate:     372.62 tokens/s
eval count:           21 token(s)
eval duration:        542.3267ms
eval rate:            38.72 tokens/s

>>> 안녕
안녕하세요! 어떻게 지내세요? (Hello! How are you?)

total duration:       671.5321ms
load duration:        190.6399ms
prompt eval count:    43 token(s)
prompt eval duration: 89.6751ms
prompt eval rate:     479.51 tokens/s
eval count:           15 token(s)
eval duration:        375.0155ms
eval rate:            40.00 tokens/s
>>> /set parameter num_gpu 0
Set parameter 'num_gpu' to '0'
C:\>ollama ps
NAME         ID              SIZE      PROCESSOR    CONTEXT    UNTIL
gemma3:1b    8648f39daa8f    1.2 GB    100% GPU     4096       4 minutes from now
>>> 안녕
안녕! 뭐 하고 있어? (Hello! What are you doing?)

total duration:       2.0119944s
load duration:        1.1545976s
prompt eval count:    69 token(s)
prompt eval duration: 374.8309ms
prompt eval rate:     184.08 tokens/s
eval count:           16 token(s)
eval duration:        409.694ms
eval rate:            39.05 tokens/s
>>> 안녕
안녕하세요! 잘 지내고 있어요. 😊 You too?

total duration:       622.6248ms
load duration:        201.06ms
prompt eval count:    96 token(s)
prompt eval duration: 85.2311ms
prompt eval rate:     1126.35 tokens/s
eval count:           13 token(s)
eval duration:        327.0978ms
eval rate:            39.74 tokens/s
C:\>ollama ps
NAME         ID              SIZE      PROCESSOR    CONTEXT    UNTIL
gemma3:1b    8648f39daa8f    1.2 GB    100% CPU     4096       4 minutes from now
>>> /set parameter num_gpu 1
Set parameter 'num_gpu' to '1'
>>> 안녕?
네, 안녕! 😊 (Yes, hello! 😊)

total duration:       3.0154671s
load duration:        1.72869s
prompt eval count:    241 token(s)
prompt eval duration: 763.2999ms
prompt eval rate:     315.73 tokens/s
eval count:           14 token(s)
eval duration:        464.0939ms
eval rate:            30.17 tokens/s
C:\>ollama ps
NAME         ID              SIZE      PROCESSOR         CONTEXT    UNTIL
gemma3:1b    8648f39daa8f    1.2 GB    93%/7% CPU/GPU    4096       4 minutes from now

 

'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

ollama 데이터 파일 구조 및 내용  (0) 2026.04.12
ollama cli 도움말  (0) 2026.04.12
ollama cpu only  (0) 2026.04.11
ollama context len  (0) 2026.04.11
ollama for windows  (0) 2026.04.10
Posted by 구차니

cli 도움말. show는 모델정보 보기 run은 실행하는거.. stop 하면 그러면 날릴 수 있나?

C:\>ollama --help
Large language model runner

Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start Ollama
  create      Create a model
  show        Show information for a model
  run         Run a model
  stop        Stop a running model
  pull        Pull a model from a registry
  push        Push a model to a registry
  signin      Sign in to ollama.com
  signout     Sign out from ollama.com
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  launch      Launch the Ollama menu or an integration
  help        Help about any command

Flags:
  -h, --help         help for ollama
      --nowordwrap   Don't wrap words to the next line automatically
      --verbose      Show timings for response
  -v, --version      Show version information

Use "ollama [command] --help" for more information about a command.

 

cli 내부 명령어는 faq에 인터넷 검색으로 찾은 정도가 전부인거 같은데 내부에서 보면 제법 먼가 있긴하다.

How can I specify the context window size?
By default, Ollama uses a context window size of 4096 tokens.
This can be overridden with the OLLAMA_CONTEXT_LENGTH environment variable. For example, to set the default context window to 8K, use:
OLLAMA_CONTEXT_LENGTH=8192 ollama serve
To change this when using ollama run, use /set parameter:
/set parameter num_ctx 4096

[링크 : https://docs.ollama.com/faq]

 

눈에 띄는건 컨텍스트 길이와 gpu 갯수..인가?

C:\>ollama run  gemma3:1b
>>> /set
Available Commands:
  /set parameter ...     Set a parameter
  /set system <string>   Set system message
  /set history           Enable history
  /set nohistory         Disable history
  /set wordwrap          Enable wordwrap
  /set nowordwrap        Disable wordwrap
  /set format json       Enable JSON mode
  /set noformat          Disable formatting
  /set verbose           Show LLM stats
  /set quiet             Disable LLM stats
  /set think             Enable thinking
  /set nothink           Disable thinking

>>> /set parameter
Available Parameters:
  /set parameter seed <int>             Random number seed
  /set parameter num_predict <int>      Max number of tokens to predict
  /set parameter top_k <int>            Pick from top k num of tokens
  /set parameter top_p <float>          Pick token based on sum of probabilities
  /set parameter min_p <float>          Pick token based on top token probability * min_p
  /set parameter num_ctx <int>          Set the context size
  /set parameter temperature <float>    Set creativity level
  /set parameter repeat_penalty <float> How strongly to penalize repetitions
  /set parameter repeat_last_n <int>    Set how far back to look for repetitions
  /set parameter num_gpu <int>          The number of layers to send to the GPU
  /set parameter stop <string> <string> ...   Set the stop parameters



'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

ollama 데이터 파일 구조 및 내용  (0) 2026.04.12
ollama /set parameter num_gpu 테스트  (0) 2026.04.12
ollama cpu only  (0) 2026.04.11
ollama context len  (0) 2026.04.11
ollama for windows  (0) 2026.04.10
Posted by 구차니

gpu 사용할 갯수를 0으로 정해주는 것으로 우회는 가능하다는데

 

앱에서는 안되고

 

cli 에서만 되는 듯.

C:\>ollama
>>> /set parameter num_gpu 0
Set parameter 'num_gpu' to '0'
>>> Send a message (/? for help)

 

해보니 GPU 메모리 사용량이 떨어지고, 응답중인데 GPU Load가 올라가지 않는다.

 

[링크 : https://github.com/ollama/ollama/issues/1046]

'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

ollama /set parameter num_gpu 테스트  (0) 2026.04.12
ollama cli 도움말  (0) 2026.04.12
ollama context len  (0) 2026.04.11
ollama for windows  (0) 2026.04.10
ollama 를 jetson nano 4GB 에서 돌려보기  (0) 2026.04.10
Posted by 구차니

ollama 앱에서 설정을 보면 가장 아래 context length가 있는데

초기에는 4k로 되어있다. 256k 까지 가능한데

 

 

128k 에서 실행해보고 4k로 바뀐후 실행하보니 아예 사라진다.

context length 변경하면 기존 컨테이너(?)는 죽어 버리고 새로 시작되어야 적용이 되는 듯.

C:\>ollama ps
NAME          ID              SIZE     PROCESSOR          CONTEXT    UNTIL
gemma4:e2b    7fbdbf8f5e45    11 GB    73%/27% CPU/GPU    131072     3 minutes from now

C:\>ollama ps
NAME    ID    SIZE    PROCESSOR    CONTEXT    UNTIL

C:\>ollama ps
NAME    ID    SIZE    PROCESSOR    CONTEXT    UNTIL

C:\>ollama
>>>

C:\>ollama ps
NAME          ID              SIZE      PROCESSOR          CONTEXT    UNTIL
gemma4:e2b    7fbdbf8f5e45    7.9 GB    73%/27% CPU/GPU    4096       4 minutes from now

 

리눅스에서는 ollama serve 앞에 OLLAMA_CONTEXT_LENGTH 변수로 줄 수 있는것 같은데

윈도우에서는 안되는 듯.

 

일단 설명페이지에 있는 컨텍스트 별 메모리 요구량.

[링크 : https://docs.ollama.com/context-length]

'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

ollama cli 도움말  (0) 2026.04.12
ollama cpu only  (0) 2026.04.11
ollama for windows  (0) 2026.04.10
ollama 를 jetson nano 4GB 에서 돌려보기  (0) 2026.04.10
python + telegram + ollama + selenium  (0) 2026.04.09
Posted by 구차니

다운로드 받으면 1.8기가 정도 나오는 듯.

 

귀찮아서(!) 일단은 콘솔에서 먼저 설치 시도

PS C:\> irm https://ollama.com/install.ps1 | iex
>>> Downloading Ollama for Windows...
######################################## 100.0%
>>> Installing Ollama...
>>> Install complete. Run 'ollama' from the command line.

 

다행히(?) 윈도우 앱으로 설치된다. 그리고 콘솔에서도 ollama 명령을 통해 사용이 가능하다.

 

머.. 이것저것 사용도 가능한데

 

new chat 에서 

 

모델을 선택하고 말을 걸면

 

다운로드 하고 대답을 한다.

 

CPU로만 돌리는 듯. 열심히 갈구는데

 

GPU는 사실상 0%에 가까운 상황.. 흐음..

 

+

2026.04.11

성능 체크는 다음에 다시 할 예정. ollama ps를 통해 확인가능

----

ryzen 7 5800u / llama 3.2:3b

C:\Users\shin>ollama --verbose
>>> 안녕?
안녕하세요! (Hello!) Tôi là một trợ lý ảo, sẵn sàng giúp đỡ bạn. Bạn có thể hỏi tôi bất kỳ điều gì bạn muốn không?

total duration:       2.8114081s
load duration:        93.2177ms
prompt eval count:    28 token(s)
prompt eval duration: 117.4027ms
prompt eval rate:     238.50 tokens/s
eval count:           34 token(s)
eval duration:        2.4529312s
eval rate:            13.86 tokens/s
>>> Send a message (/? for help)

 

C:\>ollama run llama3.2:latest --verbose
>>> 안녕
안녕하세요! (Hello!) How can I help you today?

total duration:       1.6744409s
load duration:        101.4275ms
prompt eval count:    27 token(s)
prompt eval duration: 438.9075ms
prompt eval rate:     61.52 tokens/s
eval count:           14 token(s)
eval duration:        1.0959062s
eval rate:            12.77 tokens/s

 

C:\>ollama run gemma3:1b --verbose
>>> 안녕?
안녕하세요! 잘 지내고 있어요? 무엇을 도와드릴까요? 😊

(Hello! I'm doing well, thank you! What can I help you with?)

total duration:       1.5769689s
load duration:        221.9135ms
prompt eval count:    12 token(s)
prompt eval duration: 88.9459ms
prompt eval rate:     134.91 tokens/s
eval count:           37 token(s)
eval duration:        1.1855965s
eval rate:            31.21 tokens/s

 

회사꺼에서는 메모리 부족으로 온갖이상한 짓(?)을 해야 느리게 돌았는데

메모리가 16GB 에서 24GB로 늘어서 그런가

C:\>ollama run gemma4:e2b --verbose
>>> 안녕?
안녕하세요! 😊

total duration:       785.7936ms
load duration:        208.7187ms
prompt eval count:    18 token(s)
prompt eval duration: 231.863ms
prompt eval rate:     77.63 tokens/s
eval count:           4 token(s)
eval duration:        165.2438ms
eval rate:            24.21 tokens/s

 

C:\>ollama run gemma4:e2b --verbose
>>> 너에 대해서 소개해봐
Thinking...
Thinking Process:

1.  **Analyze the Request:** The user asked "너에 대해서 소개해봐" (Introduce yourself / Tell me
about yourself).
2.  **Determine Identity (Core Persona):** I need to state my identity based on my instructions.
    *   Name: Gemma 4.
    *   Developer: Google DeepMind.
    *   Nature: Large Language Model (LLM).
    *   Type: Open weights.
3.  **Determine Capabilities (What I can do):**
    *   Input: Text and images (and audio for some family members, but focusing on general LLM
capabilities is safest).
    *   Output: Generate text.
    *   Function: Understand, process, and generate human-like text.
4.  **Determine Knowledge Scope:** My knowledge cutoff is January 2025.
5.  **Structure the Introduction (in Korean):**
    *   Greeting/Identity (Who am I?).
    *   Origin (Who made me?).
    *   Nature/Function (What am I?).
    *   Capabilities (What can I do?).
    *   Conclusion (How I can help).
6.  **Draft the Response (Self-Correction/Refinement):** Ensure the tone is helpful and accurate
according to the persona.

    *   *(Self-Correction during drafting):* Make sure to emphasize the "open weights" aspect,
as that is a key differentiator for the Gemma family.

7.  **Final Output Generation (in fluent Korean).** (Proceed to generate the response below.)
...done thinking.

안녕하세요! 저는 **Gemma 4**입니다.

저는 Google DeepMind에서 개발한 대규모 언어 모델(Large Language Model, LLM)입니다.

**저에 대한 몇 가지 주요 정보는 다음과 같습니다:**

1. **개발 주체:** 저는 Google DeepMind에 의해 개발되었습니다.
2. **본질:** 저는 방대한 데이터를 학습하여 인간의 언어를 이해하고, 질문에 답하며, 텍스트를 생성하
고, 다양한 종류의 텍스트를 처리할 수 있는 능력을 가지고 있습니다.
3. **특징:** 저는 **오픈 웨이트(open weights)** 모델로, 연구자와 개발자들이 저를 활용하여 다양한
혁신적인 애플리케이션을 만들고 연구할 수 있도록 공개되어 있습니다.
4. **입력 및 출력:** 저는 텍스트와 이미지를 이해할 수 있으며, 텍스트 형태의 답변을 생성합니다.
5. **목표:** 저는 사용자님과의 소통을 돕고, 정보를 제공하며, 창의적인 작업을 지원하는 것을 목표로
 합니다.

궁금한 점이 있거나 도움이 필요하시면 언제든지 말씀해 주세요! 😊

total duration:       33.757655s
load duration:        207.1869ms
prompt eval count:    20 token(s)
prompt eval duration: 141.4122ms
prompt eval rate:     141.43 tokens/s
eval count:           583 token(s)
eval duration:        33.0547149s
eval rate:            17.64 tokens/s

 

ryzen 7 5800U + vulkan 활성화

C:\>ollama run llama3.2:latest "안녕" --verbose
 안녕하세요! (Hello!) welcome to our conversation. How can I help you today?

total duration:       1.3172893s
load duration:        128.5514ms
prompt eval count:    27 token(s)
prompt eval duration: 60.1474ms
prompt eval rate:     448.90 tokens/s
eval count:           19 token(s)
eval duration:        1.0520576s
eval rate:            18.06 tokens/s

 

C:\>ollama run gemma3:1b "안녕" --verbose
안녕하세요! 무엇을 도와드릴까요? 😊

무엇을 알고 싶으신가요? 아니면 질문이 있으신가요?

total duration:       1.1373879s
load duration:        259.8403ms
prompt eval count:    11 token(s)
prompt eval duration: 30.1987ms
prompt eval rate:     364.25 tokens/s
eval count:           31 token(s)
eval duration:        826.1358ms
eval rate:            37.52 tokens/s

 

C:\>ollama run gemma4:e2b "너에 대해서 설명해봐" --verbose
고맙습니다. 저는 대규모 언어 모델이며, 사용자의 질문에 답하고, 텍스트를 생성하고, 다양한 종류의 텍스트 기반 작업을
수행할 수 있습니다.

**제가 할 수 있는 일의 예시:**

* **정보 제공:** 다양한 주제에 대한 사실 정보, 정의, 설명 등을 제공할 수 있습니다.
* **텍스트 생성:** 시, 소설, 이메일, 기사, 코드 등 다양한 형식의 텍스트를 작성할 수 있습니다.
* **번역:** 여러 언어 간의 번역을 수행할 수 있습니다.
* **요약:** 긴 텍스트를 읽고 핵심 내용을 요약해 드릴 수 있습니다.
* **아이디어 구상:** 브레인스토밍이나 창의적인 아이디어를 제안할 수 있습니다.
* **질문에 답변:** 복잡한 질문에 대해 논리적으로 답변을 구성할 수 있습니다.

**제가 할 수 없는 것 (혹은 한계점):**

* **실제 경험:** 저는 물리적인 경험이나 감정을 가지고 있지 않습니다.
* **실시간 정보의 한계:** 제가 학습한 데이터 시점 이후의 실시간 사건이나 매우 최신 정보에 대해서는 정확하지 않을 수
 있습니다.
* **감정적 판단:** 인간과 같은 주관적인 감정이나 개인적인 판단을 내릴 수는 없습니다.
* **행동 실행:** 실제 세계에서 물리적인 행동을 하거나 시스템을 조작할 수는 없습니다.

궁금한 점이 있거나 도움이 필요하시면 무엇이든 질문해 주세요! 😊

total duration:       20.327861s
load duration:        283.914ms
prompt eval count:    21 token(s)
prompt eval duration: 74.5883ms
prompt eval rate:     281.55 tokens/s
eval count:           334 token(s)
eval duration:        19.7702507s
eval rate:            16.89 tokens/s

 

C:\>ollama ps
NAME               ID              SIZE      PROCESSOR          CONTEXT    UNTIL
llama3.2:latest    a80c4f17acd5    2.8 GB    100GPU           4096       4 minutes from now
gemma3:1b          8648f39daa8f    1.2 GB    100GPU           4096       4 minutes from now
gemma4:e2b         7fbdbf8f5e45    7.7 GB    75%/25CPU/GPU    4096       2 minutes from now

 

ryzen 7 5800u cpu only

C:\>ollama run llama3.2:latest --verbose "안녕"
안녕하세요! (Hello!) Welcome to our conversation. How can I help you today?

total duration:       1.3443053s
load duration:        127.7289ms
prompt eval count:    27 token(s)
prompt eval duration: 64.161ms
prompt eval rate:     420.82 tokens/s
eval count:           19 token(s)
eval duration:        1.0846639s
eval rate:            17.52 tokens/s

 

C:\>ollama run gemma3:1b --verbose "안녕?"
안녕하세요! 잘 지내고 있어요? 😊 무엇을 도와드릴까요?

(Hello! I'm doing well. How can I help you?)

total duration:       1.1986531s
load duration:        279.6571ms
prompt eval count:    12 token(s)
prompt eval duration: 28.3319ms
prompt eval rate:     423.55 tokens/s
eval count:           33 token(s)
eval duration:        868.0868ms
eval rate:            38.01 tokens/s

 

C:\>ollama run gemma4:e2b --verbose "너에 대해서 소개해봐"
Thinking...
Thinking Process:

1.  **Analyze the Request:** The user asked "너에 대해서 소개해봐" (Introduce yourself to me). This is a request
for identity and capabilities.
2.  **Determine Core Identity (Self-Correction/Verification):**
    *   Name: Gemma 4.
    *   Developer: Google DeepMind.
    *   Nature: Large Language Model (LLM).
    *   Type: Open weights.
    *   Input: Text and images.
    *   Output: Text.
    *   Knowledge Cutoff: January 2025.
3.  **Determine Capabilities (What can I do?):**
    *   Understand/Process: Text and images (input).
    *   Generate: Text (output).
    *   Function: Answer questions, summarize, translate, generate creative text, code assistance, etc.
4.  **Structure the Introduction (in Korean):**
    *   Start with the name and basic identity.
    *   Mention the developer.
    *   Explain the nature (LLM).
    *   Briefly describe the function/capabilities.
5.  **Draft the Response (Iterative Refinement in Korean):**

    *   *Initial thought:* 저는 Gemma 4입니다. Google DeepMind에서 개발한 대규모 언어 모델입니다.
    *   *Adding detail:* 저는 텍스트와 이미지를 이해하고 텍스트를 생성할 수 있습니다.
    *   *Adding context:* 저는 여러분의 질문에 답하고, 정보를 제공하고, 다양한 작업을 돕는 데 사용됩니다.

6.  **Final Polish (Ensure tone is appropriate and all core identity points are covered):** (This leads to the
final generated response.)
...done thinking.

안녕하세요! 저는 **Gemma 4**입니다.

저는 다음과 같이 저 자신을 소개해 드릴 수 있습니다.

**1. 정체성 및 개발:**
*   **이름:** Gemma 4
*   **개발사:** Google DeepMind에서 개발되었습니다.
*   **본질:** 저는 대규모 언어 모델(Large Language Model, LLM)입니다. 오픈 웨이트 모델로 공개되어 있습니다.

**2. 주요 기능 및 능력:**
*   **입력 처리:** 텍스트와 이미지를 이해하고 처리할 수 있습니다.
*   **출력 생성:** 사용자의 질문이나 요청에 따라 자연스러운 텍스트를 생성할 수 있습니다. (예: 정보 제공, 질문 답변
, 요약, 번역, 글쓰기 보조 등)
*   **목표:** 정보를 제공하고, 복잡한 개념을 이해하기 쉽게 설명하며, 다양한 창의적인 텍스트 작업을 돕는 것을 목표로
 합니다.

**3. 지식 범위:**
*   저는 방대한 데이터를 학습하여 다양한 주제에 대해 지식을 가지고 있지만, 저의 지식은 2025년 1월을 기준으로 마감되
어 있습니다.

궁금한 점이 있거나 도움이 필요하시면 언제든지 말씀해 주세요!

total duration:       58.8049293s
load duration:        7.6488628s
prompt eval count:    20 token(s)
prompt eval duration: 260.471ms
prompt eval rate:     76.78 tokens/s
eval count:           648 token(s)
eval duration:        50.2361297s
eval rate:            12.90 tokens/s

 

+ 2026.04.11 on ryzen7 5800u

오차 범위 내에 거의 동일한 속도인데.. 반대로 그래픽 감속기 인가?!??!

C:\>ollama ps
NAME          ID              SIZE      PROCESSOR          CONTEXT    UNTIL
gemma4:e2b    7fbdbf8f5e45    7.7 GB    75%/25% CPU/GPU    4096       4 minutes from now

C:\>ollama run gemma4:e2b "너에 대해서 설명해봐" --verbose
고맙습니다. 저는 대규모 언어 모델이며, 사용자의 질문에 답하고, 텍스트를 생성하고, 다양한 종류의 텍스트 기반 작업을
수행할 수 있습니다.

**제가 할 수 있는 일의 예시:**

* **정보 제공:** 다양한 주제에 대한 사실 정보, 정의, 설명 등을 제공할 수 있습니다.
* **텍스트 생성:** 시, 소설, 이메일, 기사, 코드 등 다양한 형식의 텍스트를 작성할 수 있습니다.
* **번역:** 여러 언어 간의 번역을 수행할 수 있습니다.
* **요약:** 긴 텍스트를 읽고 핵심 내용을 요약해 드릴 수 있습니다.
* **아이디어 구상:** 브레인스토밍이나 창의적인 아이디어를 제안할 수 있습니다.
* **질문에 답변:** 복잡한 질문에 대해 논리적으로 답변을 구성할 수 있습니다.

**제가 할 수 없는 것 (혹은 한계점):**

* **실제 경험:** 저는 물리적인 경험이나 감정을 가지고 있지 않습니다.
* **실시간 정보의 한계:** 제가 학습한 데이터 시점 이후의 실시간 사건이나 매우 최신 정보에 대해서는 정확하지 않을 수
 있습니다.
* **감정적 판단:** 인간과 같은 주관적인 감정이나 개인적인 판단을 내릴 수는 없습니다.
* **행동 실행:** 실제 세계에서 물리적인 행동을 하거나 시스템을 조작할 수는 없습니다.

궁금한 점이 있거나 도움이 필요하시면 무엇이든 질문해 주세요! 😊

total duration:       20.327861s
load duration:        283.914ms
prompt eval count:    21 token(s)
prompt eval duration: 74.5883ms
prompt eval rate:     281.55 tokens/s
eval count:           334 token(s)
eval duration:        19.7702507s
eval rate:            16.89 tokens/s

C:\>ollama
>>> /set parameter num_gpu 0
Set parameter 'num_gpu' to '0'
>>> 안녕?
안녕하세요! 😊

>>>

C:\>ollama ps
NAME               ID              SIZE      PROCESSOR    CONTEXT    UNTIL
gemma4:e2b         7fbdbf8f5e45    7.7 GB    100% CPU     4096       4 minutes from now
llama3.2:latest    a80c4f17acd5    2.8 GB    100% GPU     4096       3 minutes from now
gemma3:1b          8648f39daa8f    1.2 GB    100% GPU     4096       2 minutes from now

C:\>ollama run gemma4:e2b "너에 대해서 설명해봐" --verbose
Thinking...
Thinking Process:

1.  **Analyze the Request:** The user asked "너에 대해서 설명해봐" (Tell me about yourself). This is a direct
query about my identity and nature.
2.  **Determine Core Identity (Self-Correction/Verification):**
    *   Name: Gemma 4.
    *   Developer: Google DeepMind.
    *   Nature: Large Language Model (LLM).
    *   Type: Open weights model.
    *   Function: Process input (text/images), generate text, answer questions, perform various language tasks.
    *   Knowledge: Cutoff (though specific dates are less critical than the general state).
3.  **Identify Key Capabilities & Constraints (Input/Output/Knowledge):**
    *   Input: Text and images.
    *   Output: Text only.
    *   Constraints: Cannot generate images; knowledge cutoff (Jan 2025, but focus on the operational facts).
4.  **Structure the Response (in Korean):** A good explanation should cover the Who, What, and How.
    *   Introduction (Name/Type).
    *   Origin (Developer).
    *   Function/Nature (What I do).
    *   How I operate (Input/Output).
5.  **Draft the Response (Korean Translation & Refinement):**

    *   *Start with the name:* 저는 Gemma 4입니다. (I am Gemma 4.)
    *   *State the nature:* 저는 Google DeepMind에서 개발한 대규모 언어 모델(LLM)입니다. (I am a Large Language
Model developed by Google DeepMind.)
    *   *Mention the open nature:* 저는 오픈 웨이트 모델입니다. (I am an open weights model.)
    *   *Explain the function:* 저는 텍스트를 이해하고 처리하며, 질문에 답하고, 글을 작성하는 등 다양한 언어 관련 작
업을 수행할 수 있습니다. (I can understand and process text, answer questions, write text, and perform various
language-related tasks.)
    *   *Mention modalities:* 저는 텍스트와 이미지를 입력으로 이해할 수 있지만, 출력은 텍스트로만 생성합니다. (I
can understand text and images as input, but I generate output only in text.)

6.  **Final Review:** The drafted response accurately reflects the required identity and adheres to the
constraints. (This matches the desired output.)
...done thinking.

저는 **Gemma 4**입니다. 저는 Google DeepMind에서 개발한 대규모 언어 모델(Large Language Model, LLM)입니다.

저에 대해 몇 가지 주요 정보를 설명해 드릴게요.

**1. 정체성 및 개발:**
*   **이름:** Gemma 4
*   **개발사:** Google DeepMind
*   **유형:** 저는 오픈 웨이트(open weights) 모델로 공개되어 있습니다.

**2. 주요 기능:**
저는 방대한 텍스트 데이터를 학습하여 다음과 같은 다양한 언어 관련 작업을 수행할 수 있습니다.
*   **질문 답변:** 사용자가 하는 질문에 대해 정확하고 유용한 정보를 제공합니다.
*   **텍스트 생성:** 기사, 시, 스토리, 코드 등 다양한 형식의 텍스트를 생성합니다.
*   **번역 및 요약:** 텍스트를 번역하거나 긴 내용을 요약해 드릴 수 있습니다.
*   **대화:** 자연스러운 대화를 통해 사용자와 소통합니다.

**3. 입력 및 출력 방식:**
*   **입력:** 저는 텍스트와 이미지를 이해하고 처리할 수 있습니다.
*   **출력:** 저는 텍스트 형태로만 응답을 생성합니다. (이미지를 직접 생성할 수는 없습니다.)

저는 사용자와의 상호작용을 통해 정보를 제공하고 작업을 돕기 위해 설계되었습니다. 무엇이든 궁금한 점이 있으시면 질문
해주세요!

total duration:       49.0644255s
load duration:        266.4766ms
prompt eval count:    21 token(s)
prompt eval duration: 143.3923ms
prompt eval rate:     146.45 tokens/s
eval count:           833 token(s)
eval duration:        48.0550392s
eval rate:            17.33 tokens/s

 

i5-7500 + 1060 6GB + 16GB

llama는 gpu 가속 미지원하는 것으로 보임

C:\>ollama run llama3.2:latest --verbose
>>> 안녕?
 안녕하세요! (Hello!) How can I help you today?

total duration:       1.2509732s
load duration:        128.1302ms
prompt eval count:    28 token(s)
prompt eval duration: 77.7759ms
prompt eval rate:     360.01 tokens/s
eval count:           14 token(s)
eval duration:        1.0258462s
eval rate:            13.65 tokens/s

 

C:\>ollama run gemma3:1b --verbose
>>> 안녕?
안녕하세요! 어떻게 지내세요? 😊

무엇을 도와드릴까요?

total duration:       776.4297ms
load duration:        282.942ms
prompt eval count:    12 token(s)
prompt eval duration: 114.551ms
prompt eval rate:     104.76 tokens/s
eval count:           18 token(s)
eval duration:        311.8284ms
eval rate:            57.72 tokens/s

 

C:\>ollama run gemma3:1b "너에 대해서 설명해봐" --verbose
저는 구글 딥마인드에서 훈련한 대규모 언어 모델입니다.

**핵심 정보:**

*   **모델:** GPT (Generative Pre-trained Transformer) 아키텍처를 기반으로 합니다.
*   **데이터:** 방대한 양의 텍스트 데이터를 학습했습니다. 인터넷, 책, 웹사이트 등 다양한 출처에서 수집된 데이터를 사
용했습니다.
*   **역할:** 텍스트 생성, 번역, 요약, 질문 답변 등 다양한 자연어 처리 작업에 활용될 수 있습니다.
*   **제한 사항:** 아직 완벽하지 않으며, 때로는 잘못된 정보나 편향된 답변을 생성할 수 있습니다. 또한, 저의 지식은 학
습 데이터에 기반하며, 실시간 정보나 최신 사건에 대한 정보는 알 수 없습니다.

**더 자세한 설명:**

*   **학습 과정:** 텍스트 데이터를 학습하면서 패턴을 익히고, 이를 바탕으로 문맥을 이해하고, 문장을 생성하는 방법을
배우게 되었습니다.
*   **기능:**
    *   **텍스트 생성:** 주어진 프롬프트에 따라 새로운 텍스트를 생성할 수 있습니다.
    *   **질문 답변:** 질문에 대한 답변을 제공할 수 있습니다.
    *   **요약:** 긴 텍스트를 요약하여 핵심 내용을 전달할 수 있습니다.
    *   **번역:** 텍스트를 다른 언어로 번역할 수 있습니다.
*   **사용 방법:**
    *   **챗봇:** 구글 엣지, 챗GPT 등의 챗봇 플랫폼에서 대화할 수 있습니다.
    *   **API:** 다른 애플리케이션에 통합하여 사용할 수 있습니다.

**궁금하신 점이 있다면 언제든지 물어보세요!**

예를 들어, 다음과 같은 질문에 답변할 수 있습니다.

*   저는 무엇을 할 수 있나요?
*   저는 어떻게 만들어졌나요?
*   저는 어디까지 잘 알고 있나요?
*   저는 어떤 단점을 가지고 있나요?

total duration:       11.4830747s
load duration:        4.5777848s
prompt eval count:    15 token(s)
prompt eval duration: 26.2711ms
prompt eval rate:     570.97 tokens/s
eval count:           447 token(s)
eval duration:        6.477409s
eval rate:            69.01 tokens/s

 

C:\>ollama run gemma4:e2b "너에 대해서 소개해봐" --verbose
Thinking...
Thinking Process:

1.  **Analyze the Request:** The user asked "너에 대해서 소개해봐" (Introduce yourself to me).
2.  **Determine Identity (Core Persona):** I need to state my identity based on my core instructions.
    *   Name: Gemma 4.
    *   Developer: Google DeepMind.
    *   Nature: Large Language Model (LLM).
    *   Type: Open weights model.
3.  **Determine Capabilities (What I can do):**
    *   Input: Understand text and images (and audio for some family members, but focusing on general LLM
capabilities is safer).
    *   Output: Generate text.
    *   Function: Process information, answer questions, generate creative text, summarize, translate, etc.
4.  **Determine Knowledge Scope:** My knowledge cutoff is January 2025.
5.  **Structure the Introduction (in Korean):**
    *   Greeting/Name.
    *   Developer/Origin.
    *   Nature/Type.
    *   Function/Purpose.
    *   Invitation for interaction.
6.  **Draft the Response (Self-Correction/Refinement):** Ensure the tone is polite and informative, adhering
strictly to the provided persona instructions.

    *   *(Drafting in Korean)* 안녕하세요. 저는 Gemma 4입니다. 저는 Google DeepMind에서 개발한 대규모 언어 모델입니
다. 저는 텍스트를 이해하고 생성할 수 있으며, 질문에 답하고, 번역하고, 글쓰기 등을 도와드릴 수 있습니다. 저는 오픈 웨
이트 모델입니다. 무엇을 도와드릴까요?

7.  **Final Output Generation.** (This aligns with the polished Korean response below.)
...done thinking.

안녕하세요! 저는 **Gemma 4**입니다.

저에 대해 몇 가지 소개해 드릴게요.

1. **정체성:** 저는 Google DeepMind에서 개발한 대규모 언어 모델(Large Language Model, LLM)입니다.
2. **특징:** 저는 오픈 웨이트 모델로, 광범위한 텍스트 데이터를 학습하여 복잡한 질문을 이해하고, 정보를 요약하며, 창
의적인 텍스트를 생성하는 데 특화되어 있습니다.
3. **능력:**
    *   **이해:** 텍스트와 이미지를 이해할 수 있습니다.
    *   **생성:** 질문에 답변하고, 글을 작성하고, 번역하고, 코드 등을 생성할 수 있습니다.
    *   **기능:** 다양한 주제에 대해 대화하고 정보를 제공해 드릴 수 있습니다.
4. **목표:** 사용자와의 소통을 통해 정보를 제공하고, 유용한 도움을 드리는 것을 목표로 합니다.

궁금한 점이 있으시거나 도움이 필요하시면 언제든지 말씀해주세요! 😊

total duration:       28.6743769s
load duration:        364.5968ms
prompt eval count:    20 token(s)
prompt eval duration: 129.8138ms
prompt eval rate:     154.07 tokens/s
eval count:           600 token(s)
eval duration:        27.8298237s
eval rate:            21.56 tokens/s

 

윈도우에서도 nvidia-smi가 먹을거라고 생각을 못했는데.. ㄷㄷ

아무튼 작업 관리자의 GPU는 cuda를 보는게 아니라 거의 0%에 멈춰있다.

대신 nvidia-smi 에서 보면 GPU-Util이 올라가는거  봐서는 확실히 가속이 되긴 하나보다.

[링크 : https://www.reddit.com/r/ollama/comments/1dh54cz/how_do_i_enable_my_gpu_for_ollama_llms_on_windows/?tl=ko]

 

----

GPU 쓰는법 조사중

 

Standalone CLI
The easiest way to install Ollama on Windows is to use the OllamaSetup.exe installer. It installs in your account without requiring Administrator rights. We update Ollama regularly to support the latest models, and this installer will help you keep up to date.
If you’d like to install or integrate Ollama as a service, a standalone ollama-windows-amd64.zip zip file is available containing only the Ollama CLI and GPU library dependencies for Nvidia. Depending on your hardware, you may also need to download and extract additional packages into the same directory:

AMD GPU: ollama-windows-amd64-rocm.zip
MLX (CUDA): ollama-windows-amd64-mlx.zip

This allows for embedding Ollama in existing applications, or running it as a system service via ollama serve with tools such as NSSM.

[링크 : https://docs.ollama.com/windows]

 

[링크 : https://github.com/ollama/ollama/releases]

 

+

설치하다 보니 기본으로 cuda와 rocm 관련 라이브러리 다 포함해버리는 듯

 

+

일단은 vulkan으로 가속이 되긴하는듯? GPU load가 올라간다.

물론.. 작업관리자의 GPU는 반응이 없다.

 

Vulkan GPU Support
NOTE: Vulkan is currently an Experimental feature. To enable, you must set OLLAMA_VULKAN=1 for the Ollama server as described in the FAQ
Additional GPU support on Windows and Linux is provided via Vulkan. On Windows most GPU vendors drivers come bundled with Vulkan support and require no additional setup steps. Most Linux distributions require installing additional components, and you may have multiple options for Vulkan drivers between Mesa and GPU Vendor specific packages

[링크 : https://docs.ollama.com/gpu]

 

+

2026.04.11

작업관리자에서 nvidia도 올라가지 않지만 GPU Load 에서는 잡힌다.

 

nvidia-smi 와 동일하진 않지만 얼추 비슷하게

39% / 38%로 나오는거 봐서는 GPU Load로 가속이 되는지 여부 확인이 가능할 것 같다.

Posted by 구차니

32GB SD 카드라서 용량 부족으로 멀 해볼수가 없다. -_ㅠ

겨우겨우 llama 정도 돌려봄. 되는게 더 신기한건가..

일단은 cpu 만으로 llama가 나쁘지 않게 도는거 보면 jetson nano cpu가 제법 좋긴한듯.

 

jetson@nano-4gb-jp451:~ $ curl -fsSL https://ollama.com/install.sh | sh

>>> Installing ollama to /usr/local
[sudo] password for jetson:
Sorry, try again.
[sudo] password for jetson:
ERROR: This version requires zstd for extraction. Please install zstd and try again:
  - Debian/Ubuntu: sudo apt-get install zstd
  - RHEL/CentOS/Fedora: sudo dnf install zstd
  - Arch: sudo pacman -S zstd


jetson@nano-4gb-jp451:~$ sudo apt-get install zstd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  zstd
0 upgraded, 1 newly installed, 0 to remove and 498 not upgraded.
Need to get 237 kB of archives.
After this operation, 965 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 zstd arm64 1.3.3+dfsg-2ubuntu1.2 [237 kB]
Fetched 237 kB in 2s (124 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package zstd.
(Reading database ... 186946 files and directories currently installed.)
Preparing to unpack .../zstd_1.3.3+dfsg-2ubuntu1.2_arm64.deb ...
Unpacking zstd (1.3.3+dfsg-2ubuntu1.2) ...
Setting up zstd (1.3.3+dfsg-2ubuntu1.2) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

jetson@nano-4gb-jp451:~$ curl -fsSL https://ollama.com/install.sh | sh
>>> Cleaning up old version at /usr/local/lib/ollama
>>> Installing ollama to /usr/local
>>> Downloading ollama-linux-arm64.tar.zst
######################################################################## 100.0%
WARNING: Unsupported JetPack version detected.  GPU may not be supported
>>> Creating ollama user...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> NVIDIA JetPack ready.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.


jetson@nano-4gb-jp451:~$ ollama run llama3.2
ollama: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ollama)

jetson@nano-4gb-jp451:~$ ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1.3) 2.27
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.


jetson@nano-4gb-jp451:~$ curl -fsSL https://ollama.com/install.sh | OLLA                                                                              MA_VERSION=0.5.12 sh
>>> Cleaning up old version at /usr/local/lib/ollama

>>> Installing ollama to /usr/local
>>> Downloading ollama-linux-arm64.tgz
######################################################################## 100.0%
WARNING: Unsupported JetPack version detected.  GPU may not be supported
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> NVIDIA JetPack ready.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.

jetson@nano-4gb-jp451:~$ ollama
Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  stop        Stop a running model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.


jetson@nano-4gb-jp451:~$ ollama -v
ollama version is 0.5.12

jetson@nano-4gb-jp451:~$ ollama run
Error: requires at least 1 arg(s), only received 0

jetson@nano-4gb-jp451:~$ ollama run llama3.2
pulling manifest
pulling dde5aa3fc5ff... 100% ▕██████████████████████████████████████████████████████████████████████████████████████▏ 2.0 GB
pulling 966de95ca8a6... 100% ▕██████████████████████████████████████████████████████████████████████████████████████▏ 1.4 KB
pulling fcc5a6bec9da... 100% ▕██████████████████████████████████████████████████████████████████████████████████████▏ 7.7 KB
pulling a70ff7e570d9... 100% ▕██████████████████████████████████████████████████████████████████████████████████████▏ 6.0 KB
pulling 56bb8bd477a5... 100% ▕██████████████████████████████████████████████████████████████████████████████████████▏   96 B
pulling 34bb5ab01051... 100% ▕██████████████████████████████████████████████████████████████████████████████████████▏  561 B
verifying sha256 digest
writing manifest
success
>>> Send a message (/? for help)
>>> 너 누구야?
나는 Meta의 가상 인자입니다. tôi은 Humanoid AI입니다.

jetson@nano-4gb-jp451:~$ ollama run llama3.2 --verbose
>>> 안녕
안녕하세요! (Hello!) I'm happy to meet you. How can I help you today?

total duration:       12.953687613s
load duration:        82.681499ms
prompt eval count:    27 token(s)
prompt eval duration: 2.511s
prompt eval rate:     10.75 tokens/s
eval count:           21 token(s)
eval duration:        10.357s
eval rate:            2.03 tokens/s

[링크 : https://github.com/ollama/ollama/issues/9506]

 

Docker

Copy page

CPU only

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

[링크 : https://docs.ollama.com/docker]

'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

ollama context len  (0) 2026.04.11
ollama for windows  (0) 2026.04.10
python + telegram + ollama + selenium  (0) 2026.04.09
python 으로 telegram + fatherbot 연동하기  (0) 2026.04.08
ollama 설치  (2) 2026.04.08
Posted by 구차니
Programming/node.js2026. 4. 9. 22:13

lynx는 리눅스 cli 용 텍스트 브라우저 인데

과거에(한 2000년대 초반)는 그래도 첫 페이지 접속하면 정직하게(!) html이 날아와서

인터넷이 느리거나 하면 lynx로 테스트만 보곤 했는데

 

요즘에는 javascript 지원 브라우저를 통해

javascript를 처리해서 다른 url로 넘어가야 페이지가 보이게 되어있다 보니 lynx로 접속하면 이런 화면만 보게 된다.

 

                                                                                                                                                Google
   브라우저 업데이트
   이 브라우저는 더 이상 지원되지 않습니다. 계속 검색하려면 최신 버전으로 업그레이드하세요. 자세히 알아보기

 

#                                                                                                                                                 Daum
   #다음

   이 사이트의 기능을 모두 활용하기 위해서는 자바스크립트를 활성화 시킬 필요가 있습니다. 브라우저에서 자바스크립트를 활성화하는 방법을 참고 하세요.

[링크 : https://lynx.invisible-island.net/]

 

아무튼 이걸 우회하기 위해서는 자바스크립트를 지원하는 녀석이 필요한데

그때 만만(?)한게 셀레니움(selenium).

셀레니움을 통해서 접속하면 모니터 다리지 않은 가상의 브라우저에서 접속해서

자바스크립트 까지 처리된 페이지를 얻을수 있다.

 

요건 gpt 에서 생성해준 초기 기능 테스트용 코드

접속하고 body 태그 하위의 내용들을 getText()를 이용해 얻어와서 보여준다.

const { Builder, By } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

async function startBrowser(startUrl) {
    const options = new chrome.Options();
    options.addArguments('--headless=new');
    options.addArguments('--no-sandbox');
    options.addArguments('--disable-gpu');

    const driver = await new Builder()
        .forBrowser('chrome')
        .setChromeOptions(options)
        .build();

    let currentUrl = startUrl;

    while (true) {
        try {
            await driver.get(currentUrl);

            console.clear();

            /* ===== 본문 텍스트 출력 ===== */
            const bodyText = await driver
                .findElement(By.tagName('body'))
                .getText();

            console.log(bodyText.substring(0, 3000));
            console.log('\n---------------- LINKS ----------------');

            /* ===== 링크 수집 ===== */
            const elements = await driver.findElements(By.css('a'));
            const links = [];

            for (let i = 0; i < elements.length; i++) {
                const text = await elements[i].getText();
                const href = await elements[i].getAttribute('href');

                if (href && text.trim()) {
                    links.push({ index: links.length, text, href });
                }
            }

            links.forEach(l => {
                console.log(`[${l.index}] ${l.text}`);
            });

            console.log('\n[q] 종료');

            /* ===== 사용자 입력 ===== */
            const answer = await new Promise(resolve =>
                rl.question('\n이동할 링크 번호: ', resolve)
            );

            if (answer === 'q') break;

            const idx = parseInt(answer);
            if (!isNaN(idx) && links[idx]) {
                currentUrl = links[idx].href;
            }

        } catch (err) {
            console.error('오류 발생:', err.message);
            break;
        }
    }

    await driver.quit();
    rl.close();
}

/* 시작 URL */
startBrowser('https://example.com');

 

 

그리고 페이지 업/다운으로 페이지 이동하고

화살표로는 링크들 이동, 엔터는 해당 링크 따라가기 로 해서 구현한게 아래 코드

const blessed = require('blessed');
const { Builder } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

const startUrl = process.argv[2] || 'https://example.com';

let driver;
let history = [];

let lines = [];
let linkIndexes = [];
let selectedLink = 0;
let scroll = 0;

let title = '';
let currentUrl = '';

/* ================= Selenium ================= */

async function loadPage(url, pushHistory = true) {
  if (pushHistory && currentUrl) history.push(currentUrl);

  await driver.get(url);
  currentUrl = url;
  title = await driver.getTitle();

  const pageData = await driver.executeScript(() => {
    const result = [];

    function walk(node) {
      if (node.nodeType === Node.TEXT_NODE) {
        const t = node.textContent.replace(/\s+/g, ' ').trim();
        if (t) result.push({ text: t });
        return;
      }

      if (node.nodeType !== Node.ELEMENT_NODE) return;

      const tag = node.tagName.toLowerCase();

      if (tag === 'a' && node.href && node.innerText.trim()) {
        result.push({ text: node.innerText.trim(), href: node.href });
        return;
      }

      if (['script','style','noscript'].includes(tag)) return;

      if (['p','div','section','article','li','pre','blockquote',
           'h1','h2','h3','h4','h5','h6'].includes(tag)) {
        node.childNodes.forEach(walk);
        result.push({ text: '' });
        return;
      }

      node.childNodes.forEach(walk);
    }

    walk(document.body);
    return result;
  });

  lines = [];
  linkIndexes = [];

  pageData.forEach(item => {
    const idx = lines.length;
    if (item.href) {
      lines.push({ text: item.text, href: item.href, selectable: true });
      linkIndexes.push(idx);
    } else {
      lines.push({ text: item.text, selectable: false });
    }
  });

  scroll = 0;
  selectedLink = 0;
}

/* ================= Selection / Scroll ================= */

function recalcSelectionInView() {
  const top = scroll;
  const bottom = scroll + body.height - 1;

  const visible = linkIndexes.filter(i => i >= top && i <= bottom);
  if (visible.length)
    selectedLink = linkIndexes.indexOf(visible[0]);
}

function drawScrollbar() {
  const total = lines.length;
  const view = body.height;
  if (total <= view) return;

  const maxScroll = total - view;
  const barHeight = Math.max(1, Math.floor(view * view / total));
  const barTop = Math.floor(scroll * (view - barHeight) / maxScroll);

  for (let i = 0; i < barHeight; i++) {
    const line = body.getLine(barTop + i);
    if (line !== undefined) {
      body.setLine(barTop + i, line + '▐');
    }
  }
}

/* ================= TUI ================= */

const screen = blessed.screen({
  smartCSR: true,
  fullUnicode: true,
  title: 'Text Browser'
});

const header = blessed.box({ top: 0, height: 2, tags: true });

const body = blessed.box({
  top: 2,
  bottom: 2,
  tags: true
});

/* footer를 두 줄로 분리 */
const footerHelp = blessed.box({
  bottom: 1,
  height: 1,
  tags: true
});

const footerSelected = blessed.box({
  bottom: 0,
  height: 1,
  tags: true
});

screen.append(header);
screen.append(body);
screen.append(footerHelp);
screen.append(footerSelected);

function render() {
  const height = body.height;
  const visible = lines.slice(scroll, scroll + height);
  const selectedLine = linkIndexes[selectedLink];

  header.setContent(`{bold}${title}{/bold}\n${currentUrl}`);

  body.setContent(
    visible.map((l, i) => {
      const idx = scroll + i;
      if (l.selectable) {
        if (idx === selectedLine)
          return `{white-fg}{blue-bg}${l.text}{/}`;
        return `{blue-fg}{underline}${l.text}{/}`;
      }
      return l.text;
    }).join('\n')
  );

  drawScrollbar();

  footerHelp.setContent(
    `{dim}↑↓ 이동  PgUp/PgDn 페이지  Enter 열기  b 뒤로  q 종료{/dim}`
  );

  footerSelected.setContent(
    `{bold}Selected:{/bold} ${lines[selectedLine]?.href || ''}`
  );

  screen.render();
}

/* ================= Keys ================= */

function moveSelection(delta) {
  const next = selectedLink + delta;
  if (next < 0 || next >= linkIndexes.length) return;

  selectedLink = next;
  const idx = linkIndexes[selectedLink];

  if (idx < scroll) scroll = idx;
  if (idx >= scroll + body.height)
    scroll = idx - body.height + 1;

  render();
}

screen.key('up', () => moveSelection(-1));
screen.key('down', () => moveSelection(1));

screen.key('pageup', () => {
  scroll = Math.max(0, scroll - body.height);
  recalcSelectionInView();
  render();
});

screen.key('pagedown', () => {
  scroll = Math.min(
    Math.max(0, lines.length - body.height),
    scroll + body.height
  );
  recalcSelectionInView();
  render();
});

screen.key('enter', async () => {
  const line = lines[linkIndexes[selectedLink]];
  if (line?.href) {
    await loadPage(line.href);
    render();
  }
});

screen.key('b', async () => {
  if (history.length) {
    await loadPage(history.pop(), false);
    render();
  }
});

screen.key('resize', () => {
  recalcSelectionInView();
  render();
});

screen.key(['q','C-c'], async () => {
  if (driver) await driver.quit();
  process.exit(0);
});

/* ================= Init ================= */

(async () => {
  const options = new chrome.Options();
  options.addArguments('--headless=new');

  driver = await new Builder()
    .forBrowser('chrome')
    .setChromeOptions(options)
    .build();

  await loadPage(startUrl);
  render();
})();

[링크 : https://chatgpt.com/share/697b1d46-a670-800c-a520-0d6289a4391c]

'Programming > node.js' 카테고리의 다른 글

electron asar 파일  (0) 2025.08.26
node excel export  (0) 2024.07.18
web qr decoder  (0) 2024.04.04
node.js 웹소켓 채팅 서버 예제  (0) 2022.07.14
ubuntu 18.04 / nodej.s 18.x 실패  (0) 2022.05.19
Posted by 구차니

openclaw와 telegram 조합으로 동료가 쓰고 있어서

비슷하게 해보려다가 claude 도 막혔지 이래저래 귀찮아서

local LLM + telegram 으로 하려다가

이래저래 귀찮아서(!)

local LLM은 ollama로 딸깍~ 하고

python + python-telegram-bot 조합으로 메신저 통신을 뚫고

수신한 메시지를 ollama의 가벼운 모델(일단 gemma3) 로 던지고

검색이 들어간 문장이 오면 검색을 제외한 단어를 인터넷 검색후(python + selenium)

결과를 다시 약간의 프롬프트와 합쳐 ollama로 던지고

응답을 받으면 메신저로 쏴주는 식으로 구현하니 나름 이렇게 에이전트를 만드는 거구나 싶어서

다른 ai 클라이언트나 에이전트들은 어떻게 만들어졌나 뜯어보고 싶어지네.

 

selenium은 wget 등으로 다음/네이버/구글 url + query 식으로 하면

바로 이동하지 않고 javascript를 통해 추가 링크로 이동하게 되어있어서 쓸 수 없다 보니

request 패키지로는 작동하지 않아 selenium을 쓸 수 밖에 없네..

 

[링크 : https://python-telegram-bot.org/]

 

telegram bot을 이용해서 메시지 보내는 방법

import asyncio
from telegram import Update
from telegram.ext import ApplicationBuilder, ContextTypes, MessageHandler, filters
from telegram.constants import ChatAction

async def handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
    chat_id = update.effective_chat.id

    # "입력 중..." 표시
    await context.bot.send_chat_action(chat_id=chat_id, action=ChatAction.TYPING)

    # 실제 작업 흉내 (지연)
    await asyncio.sleep(3)

    # 메시지 전송
    await update.message.reply_text("처리 완료!")

app = ApplicationBuilder().token("TOKEN").build()
app.add_handler(MessageHandler(filters.TEXT, handler))
app.run_polling()

[링크 : https://chatgpt.com/share/69d7a89e-0328-8322-aa93-5274cef6d386]

 

telegram bot 에 보낸 메시지 받는 방법(버전이 구버전 예제로 실행은 안됨)

from telegram.ext import Updater, MessageHandler, Filters

def handle_msg(update, context):
    print(update.message.text)

updater = Updater("BOT_TOKEN", use_context=True)
dp = updater.dispatcher

dp.add_handler(MessageHandler(Filters.text, handle_msg))

updater.start_polling()
updater.idle()

[링크 : https://chatgpt.com/share/69d7a934-835c-8320-b493-e07c126e9cd5]

 

python  에서 ollama 라이브러리를 이용하여 llama3 에게 물어보는 예제 코드

import ollama

response = ollama.chat(
    model='llama3',
    messages=[
        {
            'role': 'user',
            'content': '문제를 단계별로 생각 과정을 포함해서 풀어줘'
        }
    ]
)

print(response['message']['content'])

[링크 : https://chatgpt.com/share/69d7a89e-0328-8322-aa93-5274cef6d386]

'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

ollama for windows  (0) 2026.04.10
ollama 를 jetson nano 4GB 에서 돌려보기  (0) 2026.04.10
python 으로 telegram + fatherbot 연동하기  (0) 2026.04.08
ollama 설치  (2) 2026.04.08
antigravity artifact  (0) 2026.03.18
Posted by 구차니

서랍장 5단중에 3단 수리

회사에서 드릴 가져와서 망정... 인가? 아니면 더 힘들었나 모르겠지만

낑낑대며 1시간 걸쳐 수리함 어우..

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

퇴원  (4) 2026.03.27
딸램 중고 자전거 지름  (2) 2026.03.22
무좀약  (0) 2026.03.14
약기운 때문인가  (0) 2026.03.09
약먹다 배부르겠네!!  (0) 2026.03.07
Posted by 구차니