Skip to content
This repository has been archived by the owner on Apr 29, 2024. It is now read-only.

Commit

Permalink
Added initial version of scenario for knowledge gaps
Browse files Browse the repository at this point in the history
  • Loading branch information
bwilczek committed Apr 12, 2024
1 parent 3fb0c26 commit b640338
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 5 deletions.
9 changes: 8 additions & 1 deletion features/gamification.feature
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
# 5. Gamification (cross-concern). Asking questions rewarded with seeker points. When you question was unanswered you get revealer points during knowledge gap discovery. Luminary points are given to those who answer knowledge gap questions
# 5. Gamification (cross-concern).
# Asking questions rewarded with seeker points.
# When you question was unanswered you get revealer points during knowledge gap discovery.
# Luminary points are given to those who answer knowledge gap questions

Feature: Gamification

Scenario:
39 changes: 38 additions & 1 deletion features/knowledge_gaps.feature
Original file line number Diff line number Diff line change
@@ -1 +1,38 @@
# 4. Identify knowledge gaps. Use CLI -> initiate the process by selecting a topic -> it then uses embeddings and OpenAI to select unanswered questions about that topic -> unanswered questions are posted to specific slack channel -> users can answer them in threads -> bookmarked conversations are uploaded to Confluence (dedicated space).
# 4. Identify knowledge gaps.
# Use CLI -> initiate the process by selecting a topic ->
# it then uses embeddings and OpenAI to select unanswered questions about that topic ->
# unanswered questions are posted to specific slack channel -> users can answer them in threads ->
# bookmarked conversations are uploaded to Confluence (dedicated space).

# Ask NOT DX question ("What power superman has?").
# Wait for answer in thread.
# TA should answer that it has no context about it.
# Check qa_interactions table about this question exists.

# Go to MAIN console menu:

# press 3 (Create a vector db for interactions)
# check that all rows in qa_interactions table have last_embeded and embed filled in.

# Go to MAIN console menu:

# press 5 (Identify knowledge gaps)
# enter "superman"
# TA should post a message in topassist-dev-knowledge-gap channel
# check that quiz_questions last row has a thread_id

# Use white_check_mark emoji on TA message

# check that user in user_scores table appears and has filled luminary_score eq 1

Feature: Knowledge gaps

Scenario: TopAssist initiates conversations for unanswered questions
Given there are no answers for question "What power superman has?"
When I run CLI command "main.py knowledge-gap superman"
Then listener asks OpenAI for embeddings for the given phrase
And corresponding unanswered questions are found in the database
And thread "What power superman has?" is created in #topassist-dev-knowledge-gap channel
When I reply in the thread with: "Flying"
And I react to that reply with :bookmark:
Then the conversation is being uploaded to dedicated confluence space
2 changes: 1 addition & 1 deletion features/populate_knowledge_base.feature
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Feature: Populate knowledge base

Scenario: CLI commands invocation pulls data from Confluence and saves it in vector database
Given Confluence stubs is in defined:
Given Confluence stubs are defined:
| space | page title | page contents |
| IT | Hardware Policy | Company hardware cannot be used for personal purposes. |
| HR | Holiday Policy | Full time employees are eligible for 30 days of per year. |
Expand Down
3 changes: 1 addition & 2 deletions features/slack_conversation.feature
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ Feature: Slack conversation
# 3. Feedback. User posts a message to a thread started from the original question -> same as Q&A but instead of creating new conversation it posts to an exiting one.

Scenario: User interacts with TopAssist in Slack
Given bot is invited to the channel
And document database contains documents:
Given document database contains documents:
| title | contents |
| Holiday Policy | Full time employees are eligible for 30 days of per year. |
| Hardware Policy | Company hardware cannot be used for personal purposes. |
Expand Down

0 comments on commit b640338

Please sign in to comment.