django-ai-chat / README_2.md
yuto0o
1.5かな?
e1bda81

ローカルで作業する

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"をリポジトリで登録しておくとよい