Skip to content

Commit 10b4910

Browse files
committed
Introduce rca_accelerator_chatbot package
Introduce rca_accelerator_chatbot package. This commit: - introduces the package - and rca_accelerator_chatbot entrypoint that can be used to start the chatbot without knowing the internals of the package
1 parent 8202bfd commit 10b4910

39 files changed

Lines changed: 296 additions & 235 deletions

Containerfile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@ RUN groupadd -g 65532 chatgroup && \
66

77
WORKDIR /app
88

9-
COPY src/ .
10-
COPY pdm.lock pyproject.toml Makefile .
9+
COPY pdm.lock pyproject.toml Makefile LICENSE README.md .
10+
COPY src/ src/
1111
RUN make install-pdm install-global
12+
1213
RUN chown -R chatuser:chatgroup /app
1314

1415
USER chatuser
1516
EXPOSE 8000
1617

17-
CMD ["chainlit", "run", "app.py", "--host", "0.0.0.0"]
18+
RUN cp -r src/rca_accelerator_chatbot/data/* . && \
19+
cp -r src/rca_accelerator_chatbot/data/.chainlit .
20+
21+
CMD ["chainlit", "run", "src/rca_accelerator_chatbot/app.py", "--host", "0.0.0.0"]

pdm.lock

Lines changed: 218 additions & 199 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
name = "rca-accelerator-chatbot"
33
version = "0.1.0"
44
description = "Useful chatbot that can be used to do RCA of CI errors."
5+
readme = "README.md"
56
authors = []
67
dependencies = [
78
"openai==1.68.2",
@@ -19,6 +20,7 @@ dependencies = [
1920
"beautifulsoup4>=4.13.4",
2021
]
2122
requires-python = "==3.12.*"
23+
license = "Apache-2.0"
2224

2325
[tool.pdm.dev-dependencies]
2426
dev = [
@@ -27,3 +29,20 @@ dev = [
2729
"fastapi==0.115.8",
2830
"ruff==0.9.0",
2931
]
32+
33+
[build-system]
34+
requires = ["setuptools>=61.0"]
35+
build-backend = "setuptools.build_meta"
36+
37+
[tool.setuptools]
38+
include-package-data = true
39+
40+
[tool.setuptools.package-data]
41+
rca_accelerator_chatbot = ["data/**", "data/.chainlit/**"]
42+
43+
[tool.setuptools.packages.find]
44+
where = ["src"]
45+
46+
[project.scripts]
47+
rca_accelerator_chatbot = "rca_accelerator_chatbot.main:main"
48+

src/rca_accelerator_chatbot/__init__.py

Whitespace-only changes.

src/api.py renamed to src/rca_accelerator_chatbot/api.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,21 @@
44
import asyncio
55
from typing import Dict, Any, List
66
import re
7+
78
import httpx
89
from httpx_gssapi import HTTPSPNEGOAuth, OPTIONAL
910
from bs4 import BeautifulSoup
1011
from fastapi import Depends, FastAPI, HTTPException
1112
from pydantic import BaseModel, Field, HttpUrl
12-
from constants import CI_LOGS_PROFILE, DOCS_PROFILE, RCA_FULL_PROFILE
13-
from chat import handle_user_message_api
14-
from config import config
15-
from settings import ModelSettings
16-
from generation import discover_generative_model_names
17-
from embeddings import discover_embeddings_model_names
13+
14+
from rca_accelerator_chatbot.constants import (
15+
CI_LOGS_PROFILE, DOCS_PROFILE, RCA_FULL_PROFILE
16+
)
17+
from rca_accelerator_chatbot.chat import handle_user_message_api
18+
from rca_accelerator_chatbot.config import config
19+
from rca_accelerator_chatbot.settings import ModelSettings
20+
from rca_accelerator_chatbot.generation import discover_generative_model_names
21+
from rca_accelerator_chatbot.embeddings import discover_embeddings_model_names
1822

1923
app = FastAPI(title="RCAccelerator API")
2024

src/app.py renamed to src/rca_accelerator_chatbot/app.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
import chainlit as cl
66
from chainlit.input_widget import Select, Switch, Slider
77

8-
from config import config
9-
import constants
10-
from chat import handle_user_message
11-
from auth import authentification
12-
from generation import discover_generative_model_names
13-
from embeddings import discover_embeddings_model_names
8+
from rca_accelerator_chatbot.config import config
9+
from rca_accelerator_chatbot import constants
10+
from rca_accelerator_chatbot.chat import handle_user_message
11+
from rca_accelerator_chatbot.auth import authentification
12+
from rca_accelerator_chatbot.generation import discover_generative_model_names
13+
from rca_accelerator_chatbot.embeddings import discover_embeddings_model_names
1414

1515

1616
@cl.set_chat_profiles

src/auth.py renamed to src/rca_accelerator_chatbot/auth.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from bcrypt import checkpw
99
import chainlit as cl
1010

11-
from config import config
11+
from rca_accelerator_chatbot.config import config
1212

1313

1414
# pylint: disable=too-few-public-methods

src/chat.py renamed to src/rca_accelerator_chatbot/chat.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@
55
import httpx
66
from openai.types.chat import ChatCompletionAssistantMessageParam
77

8-
import constants
9-
from prompt import build_prompt
10-
from vectordb import vector_store
11-
from generation import get_response
12-
from embeddings import (
8+
from rca_accelerator_chatbot import constants
9+
from rca_accelerator_chatbot.prompt import build_prompt
10+
from rca_accelerator_chatbot.vectordb import vector_store
11+
from rca_accelerator_chatbot.generation import get_response
12+
from rca_accelerator_chatbot.embeddings import (
1313
get_num_tokens, generate_embedding,
1414
get_rerank_score, get_default_embeddings_model_name
1515
)
16-
from settings import ModelSettings, HistorySettings, ThreadMessages
17-
from config import config
18-
from constants import (
16+
from rca_accelerator_chatbot.settings import ModelSettings, HistorySettings, ThreadMessages
17+
from rca_accelerator_chatbot.config import config
18+
from rca_accelerator_chatbot.constants import (
1919
DOCS_PROFILE,
2020
RCA_FULL_PROFILE,
2121
TEXT_UPLOAD_TEMPLATE,
22-
)
22+
)
2323

2424

2525
# Create mock message and response objects
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from dataclasses import dataclass
44
import os
55

6-
from constants import (
6+
from rca_accelerator_chatbot.constants import (
77
CI_LOGS_SYSTEM_PROMPT,
88
DOCS_SYSTEM_PROMPT,
99
WELCOME_MESSAGE,

0 commit comments

Comments
 (0)