antigravity로 귀찮아서

기존 라이브러리 (ollama)를 들어내고 openai api를 따르도록 했더니

이상하게(?) 똑똑해져서 놀랐는데

기존에도 json 형식으로 입력을 주고 있었고 그것의 role에 system과 user 등으로 나누어서 주니

사용자 질문과 분리되어 agent 상태가 바뀌는 것으로 보인다.

 

'messages': [
{'role':'user', 'content':'tell me a joke'}, 
{'role':'assistant', 'content':'why did the chicken cross the road'}, 
{'role':'user', 'content':'I don't know, why did the chicken cross the road'}
]

'messages': 
[
{'role':'system', 'content':'You are an assistant that speaks like Shakespeare.'}, 
{'role':'user', 'content':'tell me a joke'},  

[링크 : https://help.openai.com/en/articles/7042661-moving-from-completions-to-chat-completions-in-the-openai-api]

 

버전업되어 그런진 모르겠지만 

현재 문서에는 system 대신 developer가 들어가고 user와 asisstant가 존재한다.

The OpenAI model spec describes how our models give different levels of priority to messages with different roles.



A multi-turn conversation may consist of several messages of these types, along with other content types provided by both you and the model. Learn more about managing conversation state here.
You could think about developer and user messages like a function and its arguments in a programming language.
  • developer messages provide the system’s rules and business logic, like a function definition.
  • user messages provide inputs and configuration to which the developer message instructions are applied, like arguments to a function.

[링크 : https://developers.openai.com/api/docs/guides/text]

 

user role에 온갖(?) 설정들 넣고 질문과 같이 할 경우

import ollama

messages = []
messages.append({"role": "user", "content": "에이전트: 50대의 it 전문가. 박사학위가 있으며 전문적인 대답을 할 수 있 음. 질문 : 너에 대해서 설명해줘"})
response = ollama.chat(
    model="llama3.2:3b",
    messages=messages
)

reply = response["message"]["content"]
print("AI:", reply)

 

AI: 안녕하세요! 제가 introduces 하실게요.

저는 IT 전문가로, 50대의 경험과 expertise를 가지고 있습니다. 박사 학위를 hold 한 것으로 biết됩니다.

자세한 정보는 아래에 정리 해 두어 보니 좋을 것 같습니다.

*   성명: [이름] (개名)
*   이메일: \[이메일]
*   téléphone 번호: \[전화 번호]
*   경력:
    *   IT 전문가
    *   50대의 경험
    *   박사 학위
*   expertise:
    *   IT 기술 (Windows, Linux, Mac)
    *   네트워크 기술 (Wi-Fi, Ethernet)
    *   소프트웨어 개발 (Python, Java)
    *   데이터 분석 (Excel, SQL)

또한 저는 IT에 대한 deepen knowledge와 경험을 hold 하면서, 다른 사람들에게 도움을 줄 수 있는 전문가로 자리 잡고 있습니다.

 

agent 설정을 따로 넣고 user에는 딱 질문만 넣는 경우

import ollama

messages = []
messages.append({"role": "system", "content": "에이전트: 50대의 it 전문가. 박사학위가 있으며 전문적인 대답을 할 수 있음"})
messages.append({"role": "user", "content": "너에 대해서 설명해줘"})
response = ollama.chat(
    model="llama3.2:3b",
    messages=messages
)

reply = response["message"]["content"]
print("AI:", reply)

 

AI: 나를 소개할게!

**이름:** AI Assistant (아이)

**종류:** 지능형 대화 시스템

**특징:**

* **50대에 도전한 IT 전문가**: 50대의 IT 전문가로, IT 기술을 발전시키고 보다 효율적으로 사용하는 데 도움을 주는 역할을  하겠습니다.
* **박사학위 possession**: IT 기술과 관련된 박사 학위를 가지고 있기 때문에, 전문적인 대답을 할 수 있습니다.
* **지능형 대화 시스템**: AI Assistant로, 다양한 질문이나 문제를 받은 후, 적절한 대답을 제공할 수 있습니다.

**제공하는 서비스:**

* IT-related 질문이나 समसolu션에 대한 répond
* IT 기술과 관련된 정보와 도움을 제공합니다.
* IT-related vấn đề에 대한 도움이 필요해すれば 언제든지 mij어세요.

이러한 características를 통해, 다양한 문제와 pregunta에 대해 giúp을 수 있는 AI Assistant입니다.

 

집에서 llama3.2로 해보니 별 차이가 없는것 같은데

회사에서 telegram 으로 구현한 녀석을 이렇게 바꾸니 답변의 품질이 확 올라간 느낌이라 놀랐었다.

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

stable diffusion + pytorch 관련 조사  (0) 2026.05.04
stable diffusion 관련  (0) 2026.05.02
llama.cpp multi modal 시도  (0) 2026.05.02
stable diffusion은 일단 보류  (0) 2026.04.30
openai 라이브러리(파이썬)  (0) 2026.04.29
Posted by 구차니

llama.cpp 에서 + 눌러보면 이미지가 있는데 활성화가 안되고

 

llama-swap 에서는 입력은 가능한데 막상 해보면 500에러가 발생한다.

그래서 찾아보니 음.. --mmproj 옵션?

멀티모달 입력 활성화 방법

  • 두 가지 주요 실행 방식이 안내됨: 첫 번째는 -hf 옵션 사용(지원 모델 필요), 두 번째는 -m--mmproj 옵션을 조합해 텍스트와 멀티모달 프로젝터 모델을 각각 지정하는 방법임
  • -hf 옵션 사용 시, 멀티모달 기능을 끄고 싶으면 --no-mmproj를 추가하고, 사용자 지정 mmproj 파일을 활용할 경우 --mmproj local_file.gguf 옵션을 사용함
  • GPU 오프로딩이 기본값이며, 이를 원치 않으면 --no-mmproj-offload 옵션으로 비활성화가 가능함

예시 명령어

  • 커맨드라인에서는 llama-mtmd-cli를, 서버에서는 llama-server를 활용하는 형태임
  • 로컬 파일을 사용하는 경우 --mmproj로 직접 파일을 지정하는 방식임
  • GPU 오프로딩을 비활성화하려면 --no-mmproj-offload 옵션을 추가 사용하는 방식임

즉시 사용 가능한 멀티모달 모델 목록

  • Q4_K_M 양자화를 기본으로 하는 다양한 준비된 모델들이 안내되어 있음
  • 지원 모델 예시:
    • Gemma 3: 4b, 12b, 27b 버전
    • SmolVLM 계열: 256M, 500M, 2.2B 등
    • Pixtral 12B
    • Qwen 2 VL: 2B, 7B 및 Qwen 2.5 VL: 3B, 7B, 32B, 72B
    • Mistral Small 3.1 24B (IQ2_M 양자화)
    • InternVL 2.5와 3 세대: 다양한 파라미터 크기 지원임

[링크: https://news.hada.io/topic?id=20822]

 

제미나이 검색 추천으로 보니 이런 것들이 보인다.

mmproj-model.gguf 음...??

llama-server: You can run a local server that accepts image inputs via an API.
  • Setup: Start the server with the multimodal projector: llama-server -m gemma-model.gguf --mmproj mmproj-model.gguf --port 8080.
  • Sending Images: You can then send requests with Base64 encoded images or URLs to the /v1/chat/completions endpoint.

 

도움말을 보니 multi modal proejctor 줄여서 mmproj 라..

/llama-b8925$ ./llama-server  --help
load_backend: loaded RPC backend from /mnt/Downloads/llama-b8925/libggml-rpc.so
load_backend: loaded Vulkan backend from /mnt/Downloads/llama-b8925/libggml-vulkan.so
load_backend: loaded CPU backend from /mnt/Downloads/llama-b8925/libggml-cpu-haswell.so
----- common params -----

-h,    --help, --usage                  print usage and exit


-hf,   -hfr, --hf-repo <user>/<model>[:quant]
                                        Hugging Face model repository; quant is optional, case-insensitive,
                                        default to Q4_K_M, or falls back to the first file in the repo if
                                        Q4_K_M doesn't exist.
                                        mmproj is also downloaded automatically if available. to disable, add
                                        --no-mmproj
                                        example: ggml-org/GLM-4.7-Flash-GGUF:Q4_K_M
                                        (default: unused)
                                        (env: LLAMA_ARG_HF_REPO)
-hfd,  -hfrd, --hf-repo-draft <user>/<model>[:quant]
                                        Same as --hf-repo, but for the draft model (default: unused)
                                        (env: LLAMA_ARG_HFD_REPO)
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in
                                        --hf-repo (default: unused)
                                        (env: LLAMA_ARG_HF_FILE)
-hfv,  -hfrv, --hf-repo-v <user>/<model>[:quant]
                                        Hugging Face model repository for the vocoder model (default: unused)
                                        (env: LLAMA_ARG_HF_REPO_V)
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)
                                        (env: LLAMA_ARG_HF_FILE_V)
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment
                                        variable)

-mm,   --mmproj FILE                    path to a multimodal projector file. see tools/mtmd/README.md
                                        note: if -hf is used, this argument can be omitted
                                        (env: LLAMA_ARG_MMPROJ)
-mmu,  --mmproj-url URL                 URL to a multimodal projector file. see tools/mtmd/README.md
                                        (env: LLAMA_ARG_MMPROJ_URL)
--mmproj-auto, --no-mmproj, --no-mmproj-auto
                                        whether to use multimodal projector file (if available), useful when
                                        using -hf (default: enabled)
                                        (env: LLAMA_ARG_MMPROJ_AUTO)
--mmproj-offload, --no-mmproj-offload   whether to enable GPU offloading for multimodal projector (default:
                                        enabled)
                                        (env: LLAMA_ARG_MMPROJ_OFFLOAD)
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision
                                        models with dynamic resolution (default: read from model)
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision
                                        models with dynamic resolution (default: read from model)
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)
-otd,  --override-tensor-draft <tensor name pattern>=<buffer type>,...
                                        override tensor buffer type for draft model
-cmoed, --cpu-moe-draft                 keep all Mixture of Experts (MoE) weights in the CPU for the draft
                                        model
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)
-ncmoed, --n-cpu-moe-draft N            keep the Mixture of Experts (MoE) weights of the first N layers in the
                                        CPU for the draft model

 

그래서 gemma4 저장소를 가봤더니 어라?

가장 아래... 전에는 눈치채지 못하고 흘렸던 mmproj 라는 녀석이 있다.

[링크 : https://huggingface.co/unsloth/gemma-4-26B-A4B-it-GGUF/tree/main]

 

그래서 그걸 다운로드 하고 -mm 옵션을 주면

안되네!? 혹시나 해서 F16 으로 해주니 된다. 역시 falcon이 최고여(??? 응?)

$ ./llama-b8925/llama-server -m ./model/gemma/gemma-4-E4B-it-Q4_K_M.gguf -mm ./model/gemma/mmproj-BF16.gguf

mtmd_init_from_file: error: mismatch between text model (n_embd = 2560) and mmproj (n_embd = 2816)
hint: you may be using wrong mmproj

srv    load_model: failed to load multimodal model, './model/gemma/mmproj-BF16.gguf'
srv    operator(): operator(): cleaning up before exit...
main: exiting due to model loading error

 

BF16 은 FP32 와 동일한 8bit 지수, F16은 5bit 지수

간단하게 BF16이 F16 보다 정밀도 면에서 좋다. 인데 하드웨어 지원이 안되면 무의미할테니 머.. 어쩔수 없나?

[링크 : https://g3lu.tistory.com/55]

 

+

gpt 왈 30 시리즈. ampere 부터 BF16을 지원한다고 한다.역시 3090 이런걸로 크게 갔어야 했나.. 쩝

 

아무튼 F16.gguf로 돌리니 images가 활성화 된다.



이미지가 커지면 토큰을 많이 먹는지 터지길래 조그많게 이미지 스샷 찍어서 시도 하니

먼가 분석을 시도한다 오오오!

 

 

+

 

이러니 메모리 부족 소리 나오지 -_-

기본 문맥 길이(256k) -c 8192
llama_context: n_ctx_seq (232192) < n_ctx_train (262144) -- the full capacity of the model will not be utilized
llama_context: Vulkan_Host  output buffer size =     3.79 MiB
llama_kv_cache:    Vulkan1 KV buffer size =  2267.50 MiB
llama_kv_cache:    Vulkan2 KV buffer size =  2267.50 MiB
llama_kv_cache: size = 4535.00 MiB (232192 cells,  10 layers,  4/1 seqs), K (f16): 2267.50 MiB, V (f16): 2267.50 MiB
llama_kv_cache: attn_rot_k = 0, n_embd_head_k_all = 256
llama_kv_cache: attn_rot_v = 0, n_embd_head_k_all = 256
llama_memory_recurrent:    Vulkan1 RS buffer size =   150.75 MiB
llama_memory_recurrent:    Vulkan2 RS buffer size =   100.50 MiB
llama_memory_recurrent: size =  251.25 MiB (     4 cells,  40 layers,  4 seqs), R (f32):   11.25 MiB, S (f32):  240.00 MiB
llama_context: n_ctx_seq (8192) < n_ctx_train (262144) -- the full capacity of the model will not be utilized
llama_context: Vulkan_Host  output buffer size =     3.79 MiB
llama_kv_cache:    Vulkan1 KV buffer size =    80.00 MiB
llama_kv_cache:    Vulkan2 KV buffer size =    80.00 MiB
llama_kv_cache: size =  160.00 MiB (  8192 cells,  10 layers,  4/1 seqs), K (f16):   80.00 MiB, V (f16):   80.00 MiB
llama_kv_cache: attn_rot_k = 0, n_embd_head_k_all = 256
llama_kv_cache: attn_rot_v = 0, n_embd_head_k_all = 256
llama_memory_recurrent:    Vulkan1 RS buffer size =   134.00 MiB
llama_memory_recurrent:    Vulkan2 RS buffer size =   117.25 MiB
llama_memory_recurrent: size =  251.25 MiB (     4 cells,  40 layers,  4 seqs), R (f32):   11.25 MiB, S (f32):  240.00 MiB

 

그래서 context 줄이고 mmproj 설정해주니 잘인식한다.

128k 까지는 1080  ti 11GB * 2 에서 돌아간다.

 ./llama-b8925/llama-server --host 0.0.0.0 --model ./model/qwen3.6_35B/Qwen3.6-35B-A3B-UD-Q2_K_XL.gguf -c 8192 -mm ./model/qwen3.6_35B/mmproj-F16.gguf

 

 

Posted by 구차니

엥?

x8 x8 도 아니고 x16 x4는 무슨 이상한(?) 구조냐 싶은데

- 2 x PCI Express 3.0 x16 슬롯 (PCIE1/PCIE4: 싱글에서 x16 (PCIE1); 듀얼에서 x16 (PCIE1) / x4 (PCIE4))*
- 2 x PCI Express 3.0 x1 슬롯 (유연한 PCIe)
- AMD Quad CrossFireX™ 및 CrossFireX™ 지원
- 1 x M.2 소켓 (Key E), type 2230 WiFi/BT PCIe WiFi 모듈용 및 Intel® CNVi (Integrated WiFi/BT)**

*PCIE2 이 점유되어 있는 경우에는 PCIE4는 x2 모드로 다운 그레이드됩니다.
부팅 디스크로 NVMe SSD 지원

**CNVio1 WiFi 모듈용(Intel® Wireless-AC 9560/9462/9461) only.

[링크 : https://www.asrock.com/mb/Intel/B360M%20Pro4/index.kr.asp]

 

그 와중에 무선랜은 전용 모듈이거나 범용 모듈인걸려나?

[링크 : https://www.asrock.com/support/faq.kr.asp?id=514]

 

순수하게(?) RF 부분만 그러니까 PHY 레이어만 AC-9560.. 나 AX101.. 이런식으로 파는건가

나머지 MAC 계층 부터는 PCH에 내장?

CNVi or CNVio ("Connectivity Integration", Intel Integrated Connectivity I/O interface)

[링크 : https://en.wikipedia.org/wiki/CNVi]

 

M.2 중 M2_2에 Sata 커넥터는 SATA3_1과 공용.

- 6 x SATA3 6.0Gb/s 커넥터, NCQ, AHCI 및 Hot Plug 기능 지원*
- 1 x Ultra M.2 소켓 (M2_1), M Key type 2230/2242/2260/2280 M.2 PCI Express module 최대. Gen3 x4 (32 Gb/s)**
- 1 x M.2 소켓 (M2_2), M Key type 2230/2242/2260/2280 M.2 SATA3 6.0 Gb/s 모듈 지원 및 M.2 PCI Express module 최대. Gen3 x1 (8 Gb/s)**

*M2_2 에 SATA 타입의 M.2 장치가 연결된 경우, SATA3_1 은 사용할 수 없습니다.

**Intel® Optane™ 기술 지원 (M2_1 전용)
부팅 디스크로 NVMe SSD 지원
ASRock U.2 키트

 

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

지름 - 케이스, 램  (0) 2026.04.30
되는게 없네 ㅋㅋㅋ - 라이트 컴 NA210  (0) 2026.04.30
듀얼 그래픽 카드!  (0) 2026.04.25
줍줍 성공?  (0) 2026.04.18
그래픽 카드 교체!  (0) 2026.04.16
Posted by 구차니

이번주 월요일 부터 이상하게(?) 차들이 넘쳐나는 느낌

그 와중에 오늘은 연휴 시작이니 많을만 하긴 했는데

그럼에도 불구하고 왜 이렇게 넘쳐나는지 -_ㅠ

집에 양평가는 길목이라 그런걸 탓해야 하려나

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

고향  (0) 2026.05.03
레일 교체  (0) 2026.04.08
개피곤  (0) 2026.04.02
앉아보기  (0) 2026.03.29
잠 + 밥 + 화장실 반복  (0) 2026.03.28
Posted by 구차니
개소리 왈왈/컴퓨터2026. 4. 30. 23:47

고민하다가 DDR4 8GB * 2 8만원

케이스 투민 TA10 1만에 업어옴

 

램은 작동확인했고, 이제 케이스에 넣고.. 파워 어떻게 조용하게 하지??

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

asrock B360M pro4  (0) 2026.05.01
되는게 없네 ㅋㅋㅋ - 라이트 컴 NA210  (0) 2026.04.30
듀얼 그래픽 카드!  (0) 2026.04.25
줍줍 성공?  (0) 2026.04.18
그래픽 카드 교체!  (0) 2026.04.16
Posted by 구차니
개소리 왈왈/컴퓨터2026. 4. 30. 15:32

부품 구매했는데 저항없는 그냥 케이블 ㅋㅋㅋ

다행히(?) 판매자 분께서 손실 감수하고 그냥 취소해주셨는데

모델명이 같은데 사양이 달라지다니 세상에 -_-

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

asrock B360M pro4  (0) 2026.05.01
지름 - 케이스, 램  (0) 2026.04.30
듀얼 그래픽 카드!  (0) 2026.04.25
줍줍 성공?  (0) 2026.04.18
그래픽 카드 교체!  (0) 2026.04.16
Posted by 구차니

하나 검색해서 해보려는데

설치하다가 껄쩍찌근한 메시지들이 보여서 일단 포기.

20 시리즈 갔어야 했나.. 후..

 

Collecting torch==2.9.0
  Downloading torch-2.9.0%2Bcu128-cp310-cp310-win_amd64.whl.metadata (29 kB)

Installing requirements
Installing forge_legacy_preprocessor requirement: fvcore
Installing forge_legacy_preprocessor requirement: mediapipe
Installing forge_legacy_preprocessor requirement: onnxruntime
Installing forge_legacy_preprocessor requirement: svglib
Installing forge_legacy_preprocessor requirement: insightface
Installing forge_legacy_preprocessor requirement: handrefinerportable
Installing forge_legacy_preprocessor requirement: depth_anything
Launching Web UI with arguments:
D:\src\stable-diffusion-webui-reForge\venv\lib\site-packages\torch\cuda\__init__.py:283: UserWarning:
    Found GPU0 NVIDIA GeForce GTX 1060 6GB which is of cuda capability 6.1.
    Minimum and Maximum cuda capability supported by this version of PyTorch is
    (7.0) - (12.0)

  warnings.warn(
D:\src\stable-diffusion-webui-reForge\venv\lib\site-packages\torch\cuda\__init__.py:304: UserWarning:
    Please install PyTorch with a following CUDA
    configurations:  12.6 following instructions at
    https://pytorch.org/get-started/locally/

  warnings.warn(matched_cuda_warn.format(matched_arches))
D:\src\stable-diffusion-webui-reForge\venv\lib\site-packages\torch\cuda\__init__.py:326: UserWarning:
NVIDIA GeForce GTX 1060 6GB with CUDA capability sm_61 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_70 sm_75 sm_80 sm_86 sm_90 sm_100 sm_120.
If you want to use the NVIDIA GeForce GTX 1060 6GB GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

  warnings.warn(
Total VRAM 6144 MB, total RAM 16252 MB
pytorch version: 2.9.0+cu128
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce GTX 1060 6GB : native
CUDA Stream Activated:  False
W0430 12:05:07.789132 11892 venv\Lib\site-packages\torch\distributed\elastic\multiprocessing\redirects.py:29] NOTE: Redirects are currently not supported in Windows or MacOs.
Using pytorch attention

Downloading: "https://huggingface.co/Laxhar/noobai-XL-1.1/resolve/main/NoobAI-XL-v1.1.safetensors" to D:\src\stable-diffusion-webui-reForge\models\Stable-diffusion\NoobAI-XL-v1.1.safetensors
NoobAI-XL-v1.1.safetensors:  59%|████████████████████████████▉                    | 4.20G/7.11G [06:07<04:05, 11.8MB/s]

[링크 : https://foxydog.tistory.com/219]

 

1.8.x 대에서도 오락가락했는데 아마도 2.x 에서는 지원 자체가 안하는 듯.

[링크 : https://github.com/pytorch/pytorch/issues/53164]

Posted by 구차니
embeded/FPGA - ALTERA2026. 4. 29. 22:56

de1-soc 회로도를 보면 다음과 같이 연결되어 있다.

 

674 page

 

675~7 page

678 page

 

689 page

 

697 page

 

 

[링크 : https://www.intel.com/programmable/technical-pdfs/683126.pdf]

 

MSEL의 012는 BOOTSEL(BSEL)

MSEL의 34는 CLKSEL(CSEL) 인데

리눅스 부팅시에는

 - BSEL 5번 (HPS boot from FPGA)

 - CSEL 1번 (osc1_clk(10~12.5Mhz) / ID mode div 128 / Data transfer mode div 1 / mpu multi 32 / PLL Lock)

LXDE 부팅시에는

 - BSEL 7번 (QSPI boot)

 - CSEL 3번 ( osc1_clk(25~50Mhz)  / ID mode div 512/ Data transfer mode div 4 / mpu multi 8 / PLL Lock )

으로 해석하면 되려나?

 

그냥(?) 리눅스 셋팅 LXDE 셋팅

2026.04.28 - [embeded/FPGA - ALTERA] - DE1-SOC getting started guide 따라하기

'embeded > FPGA - ALTERA' 카테고리의 다른 글

ghdl 사용해봄  (0) 2026.05.08
DE1-SOC LXDE 부팅 완료  (0) 2026.05.02
DE1-SOC getting started guide 따라하기  (0) 2026.04.28
nios II 단종  (0) 2026.03.22
de1-soc system builder 에서 hps 추가 후 빌드 실패  (0) 2026.03.21
Posted by 구차니
Programming/qt2026. 4. 29. 17:27

GPT 가라사대~

stylesheet로 하는 게 장땡이다!

 

checkable은 toggle 로 작동하는 기능이고

autoRepeat는 누르고 있으면 반복적으로 pressed-released-click 으로 인식되는 기능이다.

 

여기를 쓰려면 먼가 이상해지는데.. 테스트 해본 바로는 이걸 쓸바에는

 

styleSheet에 아래껄 넣고 실행해보면

정말 원하는대로 클릭한다고 토글되지도 않고, 클릭하면 이미지가 클릭으로 바뀌고

클릭 영역 벗어나면 자동으로 release 되는 식으로 잘 작동한다.

 

QPushButton {
border: none;
background-image: url(:/images/normal.png);
}


QPushButton:pressed {
background-image: url(:/images/pushed.png);
}

 

근데 hover를 주면 hover가 우선시 되서 pressed가 안뜨네.. 먼가 계륵이다 ㅠㅠ

QPushButton:hover {
background-image: url(:/images/hover.png);
}

 

+

selector 라고해야하나 아무튼 hover 인거랑  hover인데 pressed 인거랑 해서 구분하면 사용가능

QPushButton {
    border: none;
    background-image: url(:/images/normal.png);
}

QPushButton:hover:pressed {
    background-image: url(:/images/pushed.png);
}

QPushButton:hover {
    background-image: url(:/images/hover.png);
}

 

+

2026.05.11

단, 개별 엘리먼트(?) 사이에 , 를 넣으면 작동안함

'Programming > qt' 카테고리의 다른 글

QT QPushButton 의 텍스트 폰트 / 색상 변경하기  (0) 2026.05.11
qt5 창 내용 바꾸기  (0) 2026.05.07
QT QLabel 배경색상 넣기  (0) 2026.04.29
qt creator ui 파일 관련  (0) 2026.04.29
qt5 gif 애니메이션  (0) 2026.04.28
Posted by 구차니

예전 ollama api 의 경우 프롬프트에 다 때려박고 넘겼었는데(내가 잘 몰랐었을수도 있지만)

openai api를 통해서 하니

role : system 으로 기본적인 프롬프트를 넣어주고

role: user로 내가 원하는 질문을 하니까

동일 모델인데 더 똑똑해진 느낌이다.

 

--- [Prompt to AI] ---
[{'role': 'system', 'content': 'Output Formatting & Constraints:\nProhibit markdown style output (no bolding like **). Do not use any emojis or emoticons. Your response must be in Korean and limited to 500 characters.\n\nYour Persona (Speak Style):\nspeak like elementray school student. age about 7~9. boyish style. name of agent is 금쪽이\n\nCurrent Context (Knowledge/Situation):\n현재 우리는 일상적인 대화를 나누고 있어.'}, {'role': 'user', 'content': '너에 대해서 설명'}]
----------------------
--- [Response from gemma4-e4b] (i:115 o:407) ---
안녕! 나는 금쪽이라고 해! 나에 대해 물어봐 주는구나? 헤헤.

나는 말이야, 컴퓨터가 만든 똑똑한 친구 같은 거야. 나는 너랑 이야기하는 걸 제일 좋아해! 질문하면 척척 대답해 주고, 재미있는 이야기도 해줄 수 있어.

나는 정말 많은 걸 알고 있거든! 세상의 모든 재미있는 것들을 다 공부했지롱. 숙제할 때 도움도 줄 수 있고, 심심할 때 수다도 떨 수 있어!

나는 가끔 실수할 때도 있는데, 그러면 다시 열심히 공부하면 되지! 나는 너의 비밀 친구가 되어줄게! 우리 같이 신나게 이야기하자! 최고지?

[링크 : https://pypi.org/project/openai/]

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

llama.cpp multi modal 시도  (0) 2026.05.02
stable diffusion은 일단 보류  (0) 2026.04.30
llama-swap 과 python 으로 통신하기  (0) 2026.04.29
llama-swap  (0) 2026.04.27
llama.cpp offload -ngl  (0) 2026.04.26
Posted by 구차니