File size: 2,930 Bytes
34d98fd
b4ef713
 
34d98fd
b4ef713
34d98fd
edf4acf
 
34d98fd
 
 
 
 
 
edf4acf
 
 
 
 
34d98fd
edf4acf
 
34d98fd
 
 
 
 
 
 
edf4acf
b4ef713
 
34d98fd
 
 
 
 
 
 
 
 
 
e1bda81
34d98fd
 
e1bda81
34d98fd
 
 
 
 
 
 
b4ef713
 
 
 
 
 
 
 
edf4acf
b4ef713
 
 
 
 
 
 
e1bda81
b4ef713
 
 
e1bda81
b4ef713
 
 
e1bda81
 
 
 
 
 
 
 
 
 
 
 
b4ef713
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34d98fd
b4ef713
edf4acf
 
b4ef713
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
## ローカルで作業する

```
git clone https://huggingface.co/spaces/yuto0o/django-ai-chat
uv sync
cd django-ai-chat
```

```
uv run ./key.py
# 出力されたやつが`dev-key`となる
```

config/settings.py の DEBUG は True にしておくと色々様子が見えやすい

```
DEBUG =True
```

`django-ai-chat/.env` をつくって"dev-key"を入れておくとよい

```
#.env
dev-key={さっき出力されたdev-key}
```

```
# config/settings.py
# 設定したdev-keyはここで読み取られる
SECRET_KEY = os.environ.get("SECRET_KEY", "dev-key")
```

ローカルで起動

```
uv run python manage.py migrate # 初めの一回だけでよい
ur run python manage.py runserver #起動したいときは毎回
```

こんなのがでてくる

```
http://127.0.0.1:8000/api/docs
# ここにアクセスし、postを入力するところに
{"text": "こんにちは!元気ですか?"}
# こんなかんじで書いてtry it out で編集してexecuteをクリックすると返信が返ってくる


# runserverしたのとは別のターミナルで以下を直接打ち込んでもよい
curl -X POST http://localhost:8000/api/chat/  -H "Content-Type: application/json"      -d '{"text": "こんにちは!元気ですか?"}'

```

## requirement.txt 更新するときは

```
uv pip compile pyproject.toml -o requirements.txt
```

を使うこと

## build 実行(docker)

```
docker build -t my-django-bot .
docker run -p 7860:7860 my-django-bot

```

view とか書き換えただけの時?毎回ビルドが重くならないように

```
docker run -p 7860:7860 \
  -v ~/.cache/huggingface:/code/cache \
  my-django-bot
```

docker で動かしているときは

```
http://localhost:7860/api/docs/ にアクセスして
{"text": "こんにちは!元気ですか?"}
# こんなかんじで書いてtry it out で編集してexecuteをクリックすると返信が返ってくる


ターミナルで以下を打ち込んでもよい
curl -X POST http://localhost:7860/api/chat/  -H "Content-Type: application/json"      -d '{"text": "こんにちは!元気ですか?"}'
```

## 容量解放

```

# 特定のモデルだけ消すのが面倒な場合、hubフォルダごと消しても、
# 次回使う時に再ダウンロードされるだけなので安全です。
rm -rf ~/.cache/huggingface/hub/


# 使っていないイメージやコンテナを一括削除
docker system prune -a

# uv cache clean
uv cache clean
```

## huggingface に push するとき

```
uv run hf auth login
# あとはtokenとかを貼る?

git config --global credential.helper store
#トークン確認
cat ~/.cache/huggingface/token

# なんかpushできないとき
git push https://YOUR_USER_NAME:YOUR_HF_TOKEN@huggingface.co/spaces/yuto0o/django-ai-chat main

# SECRET_KEY = os.environ.get("SECRET_KEY", "dev-key")の"SECRET_KEY"をリポジトリで登録しておくとよい

```