開発環境
何も問題無く動作することから、 Windows 上の WSL2 などは使用せず、空いているPCに直接 Ubuntu をインストールし、そこに Docker Desktop をインストールしています。
DELL Latitude 7390
メモリ 16GB
Intel Core i7-8650U 1.9GHz 4コア 8スレッド
SSD 256GB
Xubuntu Desktop インストール
デスクトップの使い易さのために Xubuntu を使用しています。日本語入力をセットアップしますが、画面は英語のままにしています。
xubuntu-24.04.1-desktop-amd64.iso
Rufus を使って起動 USB メモリを作成(DVD からだとアクセスが頻発して正常に動作しなかった)
PCの電源を入れて F12キーを押して USB から立ち上げる
デスクトップに表示される Install Xubuntu 24.04.1 LTS アイコンをダブルクリックして、PCへのインストールを開始
Language: English
Keyboard: Japanese
Connect to the internet: Connect to a Wi-Fi network ※ 先にメニューバーから接続しておく
Your name: webmaster
Your computer's name: noble01
Your username: webmaster
Password: ******
Confirm password: ******
インストールが終わったら、USB メモリを外して起動
OS アップデート
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
再起動
SSH インストール
sudo apt update
sudo apt install openssh-server
外部から SSH で接続
ssh -l webmaster 192.168.1.26
password: ******
Xfce メニュー
メニューから Panel Profiles、Xfce 4.16、Apply Configuration ボタン押下
Application -> Settings -> Xfce Screensaver
60 minutes
Application -> Settings -> Language Support
追加のインストールのためにパスワードを入力
Install / Japanese、Password
但し、画面表示は英語のままで使用する
再起動
ログイン後、バー右上、右クリック、Preference -> Input Method -> Add
Japanese -> Mozc
Preference -> General -> Keyboard Shortcuts
<Super>space から <Control>space に変更、Apply ボタン
バー右上、左クリックで Input Mode を Direct input から Hiragana に変更
固定IP
Wifi 接続の場合は、メニューバー右上でマウス右クリック、Edit Connections から設定する
Address: 192.168.1.9
Netmask: 255.255.255.0
Gateway: 192.168.1.1
DNS: 999.999.99.99, 888.888.888.88 ※プロバイダから入手
再起動
よく使うコマンド
pwd
ls -alF
ip addr show
mousepad .env &
Docker Desktop
下記リンクの手順に従って、Ubuntu に Docker Desktop をインストールします。
https://docs.docker.com/engine/install/ubuntu/
1.Docker の APT レポジトリの設定
# Add Docker's official GPG key
# Add the repository to Apt sources
2.Docker パッケージのインストール
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3.hello-world イメージの実行
sudo docker run hello-world
https://docs.docker.com/desktop/setup/install/linux/ubuntu/
sudo apt install gnome-terminal
docker-desktop-amd64.deb をダウンロード
sudo apt-get update
sudo apt-get install ./docker-desktop-amd64.deb
再起動
メニューから Development > Docker Desktop で起動。または systemctl --user start docker-desktop で起動
ユーザー登録は行わず、skip、skip で Docker Containers の画面が表示される
Dify
https://docs.dify.ai/getting-started/install-self-hosted/docker-compose
mkdir Repos
cd Repos
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
インストールが完了すると、Docker Desktop で実行中になる
ブラウザで http://192.168.1.9/install または http://localhost/install を表示
管理者アカウントの設定
Email address
Username
Password
ブラウザで http://192.168.1.9/signin または http://localhost/signin を表示
Email と Password でログイン
チャットボットの作成
Studio
Create from Blank
Chatbot
App Name & Icon:2022 Winter Olympics
Create
Orchestrate
Instructions (下記)
Context (下記)
Publish
Update
Run App
LLMモデルの設定
OpenAI
API Key:********
デフォルトのモデルは o1
テストのために gpt-3.5-turbo (カットオフ 2021年9月) に変更
Dify のアップデート
.env を変更している場合は、バックアップして、後で戻す
cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d
HTTPS 化(手順は こちら)
ルーターの80と443のポートフォワードを、このPCにする
自分のドメインでこのPCの http://localhost/ が表示されることを確認する
docker/.env の編集。説明の記述を .env の最後に追加する
コマンドの実行(Docker Desktop が立ち上がっていること)
cd dify/docker
docker network prune
docker compose --profile certbot up --force-recreate -d
コンテナが作成された後に、
docker compose exec -it certbot /bin/sh /update-cert.sh
docker/.env の(再)編集。以下を .env の最後に追加する
NGINX_HTTPS_ENABLED=true
コマンドの実行
docker compose --profile certbot up -d --no-deps --force-recreate nginx
外部から https://your_domain.com で見れることを確認する
SSL 証明書の更新
docker compose exec -it certbot /bin/sh /update-cert.sh
docker compose exec nginx nginx -s reload
You answer questions about the 2022 Winter Olympics.
Use the context on the 2022 Winter Olympics to answer
the subsequent question. If the answer cannot be found,
write "I don't know."
あなたは2022年冬季オリンピックに関する質問に答えます。2022年冬季オリンピックに関するコンテンツを使って、質問に答えてください。答えが見つからない場合は、「わかりません」と書いてください。
Which athletes won the gold medal in curling at the 2022
Winter Olympics?
2022年冬季オリンピックでカーリングの金メダルを獲得した選手は誰ですか?
Niklas Edin, Oskar Eriksson, Rasmus Wran?, Christoffer Sundgren,
and Daniel Magnusson from Team Sweden won the gold medal in
men's curling at the 2022 Winter Olympics. Great Britain's
team, including Bruce Mouat, Grant Hardie, Bobby Lammie, Hammy
McMillan Jr., and Ross Whyte, won the gold medal in women's
curling. Stefania Constantini and Amos Mosaner from Team Italy
won the gold medal in mixed doubles curling.
2022年冬季オリンピックの男子カーリングで金メダルを獲得したのは、スウェーデンチームのニクラス・エディン、オスカー・エリクソン、ラスムス・ヴラン、クリストファー・スンドグレン、ダニエル・マグヌソンです。女子カーリングでは、イギリスチームのブルース・モウアット、グラント・ハーディー、ボビー・ラミー、ハミー・マクミランJr.、ロス・ホワイトが金メダルを獲得しました。混合ダブルスカーリングでは、イタリアチームのステファニア・コンスタンティーニとアモス・モザナーが金メダルを獲得しました。
コンテンツ
Dify の Knowledge にコンテンツを追加し、それをチャットボットで参照します。Dify では与えられた資料を小部分(Chunk)に分割し、かつ、部分間を重複させることができますが、今回はコンテンツは1個のファイル(CurlingAtThe2022WinterOlympics.txt)で、下記を設定して1つの文章で登録しています。
Custom
Delimiter: ===== (未使用)
Maximum chunk length: 4000
Chunk overlap: 50 (未使用)
Embedding Model: text-embedding-3-small
Vector Search、Top K: 1、Score Threshold: 0.4
元の文章は こちら にあったのですが、「2024 Summer Olympics」に書き換わってしまって、参照できなくなってしまいました。
Curling at the 2022 Winter Olympics
Article
Talk
Read
Edit
View history
From Wikipedia, the free encyclopedia
Curling
at the XXIV Olympic Winter Games
Curling pictogram.svg
Curling pictogram
Venue Beijing National Aquatics Centre
Dates 2?20 February 2022
No. of events 3 (1 men, 1 women, 1 mixed)
Competitors 114 from 14 nations
← 20182026 →
Men's curling
at the XXIV Olympic Winter Games
Medalists
1st place, gold medalist(s) Sweden
2nd place, silver medalist(s) Great Britain
3rd place, bronze medalist(s) Canada
Women's curling
at the XXIV Olympic Winter Games
Medalists
1st place, gold medalist(s) Great Britain
2nd place, silver medalist(s) Japan
3rd place, bronze medalist(s) Sweden
Mixed doubles's curling
at the XXIV Olympic Winter Games
Medalists
1st place, gold medalist(s) Italy
2nd place, silver medalist(s) Norway
3rd place, bronze medalist(s) Sweden
Curling at the
2022 Winter Olympics
Curling pictogram.svg
Qualification
Statistics
Tournament
Men
Women
Mixed doubles
...
Summary
Nations Men Women Mixed doubles Athletes
Australia Yes 2
Canada Yes Yes Yes 12
China Yes Yes Yes 12
Czech Republic Yes 2
Denmark Yes Yes 10
Great Britain Yes Yes Yes 10
Italy Yes Yes 6
Japan Yes 5
Norway Yes Yes 6
ROC Yes Yes 10
South Korea Yes 5
Sweden Yes Yes Yes 11
Switzerland Yes Yes Yes 12
United States Yes Yes Yes 11
Total: 14 NOCs 10 10 10 114
Competition schedule
The Beijing National Aquatics Centre served as the venue of the curling competitions.
Curling competitions started two days before the Opening Ceremony and finished on the last day of the games, meaning the sport was the only one to have had a competition every day of the games. The following was the competition schedule for the curling competitions:
RR Round robin SF Semifinals B 3rd place play-off F Final
Date
Event
Wed 2 Thu 3 Fri 4 Sat 5 Sun 6 Mon 7 Tue 8 Wed 9 Thu 10 Fri 11 Sat 12 Sun 13 Mon 14 Tue 15 Wed 16 Thu 17 Fri 18 Sat 19 Sun 20
Men's tournament RR RR RR RR RR RR RR RR RR SF B F
Women's tournament RR RR RR RR RR RR RR RR SF B F
Mixed doubles RR RR RR RR RR RR SF B F
Medal summary
Medal table
Rank Nation Gold Silver Bronze Total
1 Great Britain 1 1 0 2
2 Sweden 1 0 2 3
3 Italy 1 0 0 1
4 Japan 0 1 0 1
Norway 0 1 0 1
6 Canada 0 0 1 1
Totals (6 entries) 3 3 3 9
Medalists
Event Gold Silver Bronze
Men
details Sweden
Niklas Edin
Oskar Eriksson
Rasmus Wran?
Christoffer Sundgren
Daniel Magnusson Great Britain
Bruce Mouat
Grant Hardie
Bobby Lammie
Hammy McMillan Jr.
Ross Whyte Canada
Brad Gushue
Mark Nichols
Brett Gallant
Geoff Walker
Marc Kennedy
Women
details Great Britain
Eve Muirhead
Vicky Wright
Jennifer Dodds
Hailey Duff
Mili Smith Japan
Satsuki Fujisawa
Chinami Yoshida
Yumi Suzuki
Yurika Yoshida
Kotomi Ishizaki Sweden
Anna Hasselborg
Sara McManus
Agnes Knochenhauer
Sofia Mabergs
Johanna Heldin
Mixed doubles
details Italy
Stefania Constantini
Amos Mosaner Norway
Kristin Skaslien
Magnus Nedregotten Sweden
Almida de Val
Oskar Eriksson
Teams
Men
Canada China Denmark Great Britain Italy
Skip: Brad Gushue
Third: Mark Nichols
Second: Brett Gallant
Lead: Geoff Walker
Alternate: Marc Kennedy
Skip: Ma Xiuyue
Third: Zou Qiang
Second: Wang Zhiyu
Lead: Xu Jingtao
Alternate: Jiang Dongxu
Skip: Mikkel Krause
Third: Mads N?rg?rd
Second: Henrik Holtermann
Lead: Kasper Wiksten
Alternate: Tobias Thune
Skip: Bruce Mouat
Third: Grant Hardie
Second: Bobby Lammie
Lead: Hammy McMillan Jr.
Alternate: Ross Whyte
Skip: Jo?l Retornaz
Third: Amos Mosaner
Second: Sebastiano Arman
Lead: Simone Gonin
Alternate: Mattia Giovanella
Norway ROC Sweden Switzerland United States
Skip: Steffen Walstad
Third: Torger Nerg?rd
Second: Markus H?iberg
Lead: Magnus V?gberg
Alternate: Magnus Nedregotten
Skip: Sergey Glukhov
Third: Evgeny Klimov
Second: Dmitry Mironov
Lead: Anton Kalalb
Alternate: Daniil Goriachev
Skip: Niklas Edin
Third: Oskar Eriksson
Second: Rasmus Wran?
Lead: Christoffer Sundgren
Alternate: Daniel Magnusson
Fourth: Beno?t Schwarz
Third: Sven Michel
Skip: Peter de Cruz
Lead: Valentin Tanner
Alternate: Pablo Lachat
Skip: John Shuster
Third: Chris Plys
Second: Matt Hamilton
Lead: John Landsteiner
Alternate: Colin Hufman
Women
Canada China Denmark Great Britain Japan
Skip: Jennifer Jones
Third: Kaitlyn Lawes
Second: Jocelyn Peterman
Lead: Dawn McEwen
Alternate: Lisa Weagle
Skip: Han Yu
Third: Wang Rui
Second: Dong Ziqi
Lead: Zhang Lijun
Alternate: Jiang Xindi
Skip: Madeleine Dupont
Third: Mathilde Halse
Second: Denise Dupont
Lead: My Larsen
Alternate: Jasmin Lander
Skip: Eve Muirhead
Third: Vicky Wright
Second: Jennifer Dodds
Lead: Hailey Duff
Alternate: Mili Smith
Skip: Satsuki Fujisawa
Third: Chinami Yoshida
Second: Yumi Suzuki
Lead: Yurika Yoshida
Alternate: Kotomi Ishizaki
ROC South Korea Sweden Switzerland United States
Skip: Alina Kovaleva
Third: Yulia Portunova
Second: Galina Arsenkina
Lead: Ekaterina Kuzmina
Alternate: Maria Komarova
Skip: Kim Eun-jung
Third: Kim Kyeong-ae
Second: Kim Cho-hi
Lead: Kim Seon-yeong
Alternate: Kim Yeong-mi
Skip: Anna Hasselborg
Third: Sara McManus
Second: Agnes Knochenhauer
Lead: Sofia Mabergs
Alternate: Johanna Heldin
Fourth: Alina P?tz
Skip: Silvana Tirinzoni
Second: Esther Neuenschwander
Lead: Melanie Barbezat
Alternate: Carole Howald
Skip: Tabitha Peterson
Third: Nina Roth
Second: Becca Hamilton
Lead: Tara Peterson
Alternate: Aileen Geving
Mixed doubles
Australia Canada China Czech Republic Great Britain
Female: Tahli Gill
Male: Dean Hewitt
Female: Rachel Homan
Male: John Morris
Female: Fan Suyuan
Male: Ling Zhi
Female: Zuzana Paulov?
Male: Tom?? Paul
Female: Jennifer Dodds
Male: Bruce Mouat
Italy Norway Sweden Switzerland United States
Female: Stefania Constantini
Male: Amos Mosaner
Female: Kristin Skaslien
Male: Magnus Nedregotten
Female: Almida de Val
Male: Oskar Eriksson
Female: Jenny Perret
Male: Martin Rios
Female: Vicky Persinger
Male: Chris Plys