Skip to content

Commit be103c6

Browse files
authored
Merge pull request #84 from ks6088ts-labs/refactor
split into tasks and add notebooks
2 parents dd73087 + e8ff7e4 commit be103c6

13 files changed

+978
-241
lines changed

Makefile

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,82 @@ fastapi: ## run FastAPI in production mode
132132
streamlit: ## run Streamlit
133133
uv run streamlit run \
134134
template_langgraph/services/streamlits/main.py
135+
136+
# ---
137+
# Project / Create indices
138+
# ---
139+
140+
.PHONY: create-cosmosdb-index
141+
create-cosmosdb-index: ## create Cosmos DB index
142+
uv run python scripts/cosmosdb_operator.py --help
143+
uv run python scripts/cosmosdb_operator.py add-documents --verbose
144+
uv run python scripts/cosmosdb_operator.py similarity-search --query "禅モード" --k 3 --verbose
145+
146+
.PHONY: create-ai-search-index
147+
create-ai-search-index: ## create Azure AI Search index
148+
uv run python scripts/ai_search_operator.py --help
149+
uv run python scripts/ai_search_operator.py add-documents --verbose
150+
uv run python scripts/ai_search_operator.py similarity-search --query "禅モード" --k 3 --verbose
151+
152+
COLLECTION_NAME ?= qa_kabuto
153+
.PHONY: create-qdrant-index
154+
create-qdrant-index: ## create Qdrant index
155+
uv run python scripts/qdrant_operator.py --help
156+
uv run python scripts/qdrant_operator.py delete-collection --collection-name $(COLLECTION_NAME) --verbose
157+
uv run python scripts/qdrant_operator.py add-documents --collection-name $(COLLECTION_NAME) --verbose
158+
uv run python scripts/qdrant_operator.py search-documents --collection-name $(COLLECTION_NAME) --verbose --question "「鬼灯」を実行すると、KABUTOが急に停止します。原因と対策を教えてください。"
159+
160+
INDEX_NAME ?= docs_kabuto
161+
.PHONY: create-elasticsearch-index
162+
create-elasticsearch-index: ## create Elasticsearch index
163+
uv run python scripts/elasticsearch_operator.py --help
164+
uv run python scripts/elasticsearch_operator.py delete-index --index-name $(INDEX_NAME) --verbose
165+
uv run python scripts/elasticsearch_operator.py create-index --index-name $(INDEX_NAME) --verbose
166+
uv run python scripts/elasticsearch_operator.py add-documents --index-name $(INDEX_NAME) --verbose
167+
uv run python scripts/elasticsearch_operator.py search-documents --index-name $(INDEX_NAME) --verbose --query "禅モード"
168+
169+
# ---
170+
# Project / Run agents
171+
# ---
172+
QUESTION ?= "KABUTOの起動時に、画面全体が紫色に点滅し、システムがフリーズします。KABUTO のマニュアルから、関連する情報を取得したり過去のシステムのトラブルシュート事例が蓄積されたデータベースから、関連する情報を取得して質問に答えてください"
173+
.PHONY: run-chat-with-tools-agent
174+
run-chat-with-tools-agent: ## run chat with tools agent
175+
uv run python scripts/agent_operator.py run \
176+
--name chat_with_tools_agent \
177+
--question $(QUESTION) \
178+
--verbose
179+
180+
.PHONY: run-image-classifier-agent
181+
run-image-classifier-agent: ## run image classifier agent
182+
uv run python scripts/agent_operator.py image-classifier-agent \
183+
--prompt "この画像の中身を 3 行で日本語で説明してください" \
184+
--file-paths "docs/images/fastapi.png,docs/images/streamlit.png" \
185+
--verbose
186+
187+
.PHONY: run-issue-formatter-agent
188+
run-issue-formatter-agent: ## run issue formatter agent
189+
uv run python scripts/agent_operator.py run \
190+
--name issue_formatter_agent \
191+
--question "KABUTOにログインできない。パスワードは合ってるはずなのに…若手社員である山田太郎は、Windows 11 を立ち上げ、日課のように自社の業務システムKABUTOのログイン画面を開きます。しかし、そこには、意味をなさない「虚無」という文字だけがただひっそりと表示されていたのです。これは質問でもあり不具合の報告でもあります。岡本太郎さんに本件調査依頼します。" \
192+
--verbose
193+
194+
.PHONY: run-kabuto-helpdesk-agent
195+
run-kabuto-helpdesk-agent: ## run kabuto helpdesk agent
196+
uv run python scripts/agent_operator.py run \
197+
--name kabuto_helpdesk_agent \
198+
--question $(QUESTION) \
199+
--verbose
200+
201+
.PHONY: run-news-summarizer-agent
202+
run-news-summarizer-agent: ## run news summarizer agent
203+
uv run python scripts/agent_operator.py news-summarizer-agent \
204+
--prompt "こちらの文章を 3 行で日本語で要約してください。" \
205+
--urls "https://raw.githubusercontent.com/ks6088ts-labs/template-langgraph/refs/heads/main/docs/index.md,https://raw.githubusercontent.com/ks6088ts-labs/template-langgraph/refs/heads/main/docs/deployment.md" \
206+
--verbose
207+
208+
.PHONY: run-task-decomposer-agent
209+
run-task-decomposer-agent: ## run task decomposer agent
210+
uv run python scripts/agent_operator.py run \
211+
--name task_decomposer_agent \
212+
--question "KABUTOにログインできない。パスワードは合ってるはずなのに…若手社員である山田太郎は、Windows 11 を立ち上げ、日課のように自社の業務システムKABUTOのログイン画面を開きます。しかし、そこには、意味をなさない「虚無」という文字だけがただひっそりと表示されていたのです。これは質問でもあり不具合の報告でもあります。岡本太郎さんに本件調査依頼します。" \
213+
--verbose

docs/deployment.ja.md

Lines changed: 0 additions & 39 deletions
This file was deleted.

docs/deployment.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,70 @@ To quickly deploy the application, [Deploy to Azure button](https://learn.micros
88

99
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fks6088ts-labs%2Fbaseline-environment-on-azure-bicep%2Frefs%2Fheads%2Fmain%2Finfra%2Fscenarios%2Ftemplate-langgraph%2Fazuredeploy.json)
1010

11+
### Create index
12+
13+
#### On Azure
14+
15+
```shell
16+
# Cosmos DB
17+
make create-cosmosdb-index
18+
19+
# Azure AI Search
20+
make create-ai-search-index
21+
```
22+
23+
#### On Docker
24+
25+
```shell
26+
rm -rf assets/
27+
28+
# Launch Docker containers
29+
docker compose up -d --wait
30+
31+
# Qdrant
32+
make create-qdrant-index
33+
34+
# Elasticsearch
35+
make create-elasticsearch-index
36+
```
37+
38+
### Agents
39+
40+
#### Create agent graph in png format
41+
42+
```shell
43+
## Draw agent graph
44+
mkdir -p generated
45+
AGENT_NAMES=(
46+
"chat_with_tools_agent"
47+
"image_classifier_agent"
48+
"issue_formatter_agent"
49+
"kabuto_helpdesk_agent"
50+
"news_summarizer_agent"
51+
"task_decomposer_agent"
52+
)
53+
for AGENT_NAME in "${AGENT_NAMES[@]}"; do
54+
uv run python scripts/agent_operator.py png --name "$AGENT_NAME" --verbose --output "generated/${AGENT_NAME}.png" &
55+
done
56+
wait
57+
```
58+
59+
#### Run agents
60+
61+
```shell
62+
NAME_QUESTION_ARRAY=(
63+
"chat_with_tools_agent:KABUTOの起動時に、画面全体が紫色に点滅し、システムがフリーズします。KABUTO のマニュアルから、関連する情報を取得したり過去のシステムのトラブルシュート事例が蓄積されたデータベースから、関連する情報を取得して質問に答えてください"
64+
"issue_formatter_agent:KABUTOにログインできない!パスワードは合ってるはずなのに…若手社員である山田太郎は、Windows 11 を立ち上げ、日課のように自社の業務システムKABUTOのログイン画面を開きます。しかし、そこには、意味をなさない「虚無」という文字だけがただひっそりと表示されていたのです。これは質問でもあり不具合の報告でもあります。岡本太郎さんに本件調査依頼します。"
65+
"kabuto_helpdesk_agent:天狗のいたずら という現象について KABUTO のマニュアルから、関連する情報を取得したり過去のシステムのトラブルシュート事例が蓄積されたデータベースから、関連する情報を取得して質問に答えてください"
66+
"task_decomposer_agent:KABUTOにログインできない!パスワードは合ってるはずなのに…若手社員である山田太郎は、Windows 11 を立ち上げ、日課のように自社の業務システムKABUTOのログイン画面を開きます。しかし、そこには、意味をなさない「虚無」という文字だけがただひっそりと表示されていたのです。これは質問でもあり不具合の報告でもあります。岡本太郎さんに本件調査依頼します。"
67+
)
68+
for NAME_QUESTION in "${NAME_QUESTION_ARRAY[@]}"; do
69+
IFS=':' read -r AGENT_NAME QUESTION <<< "$NAME_QUESTION"
70+
echo "Running agent: $AGENT_NAME with question: $QUESTION"
71+
uv run python scripts/agent_operator.py run --name "$AGENT_NAME" --verbose --question "$QUESTION"
72+
done
73+
```
74+
1175
### Docker Hub
1276

1377
To publish the docker image to Docker Hub, you need to [create access token](https://app.docker.com/settings/personal-access-tokens/create) and set the following secrets in the repository settings.

0 commit comments

Comments
 (0)