- Created a new eveai_chat plugin to support the new dynamic possibilities of the Specialists. Currently only supports standard Rag retrievers (i.e. no extra arguments).
This commit is contained in:
@@ -72,11 +72,21 @@ def handle_chat_session_selection():
|
||||
@interaction_bp.route('/view_chat_session/<int:chat_session_id>', methods=['GET'])
|
||||
@roles_accepted('Super User', 'Tenant Admin')
|
||||
def view_chat_session(chat_session_id):
|
||||
# Get chat session with user info
|
||||
chat_session = ChatSession.query.get_or_404(chat_session_id)
|
||||
|
||||
# Get interactions with specialist info
|
||||
interactions = (Interaction.query
|
||||
.filter_by(chat_session_id=chat_session.id)
|
||||
.order_by(Interaction.question_at)
|
||||
.all())
|
||||
.join(Specialist, Interaction.specialist_id == Specialist.id, isouter=True)
|
||||
.add_columns(
|
||||
Interaction.id,
|
||||
Interaction.question_at,
|
||||
Interaction.specialist_arguments,
|
||||
Interaction.specialist_results,
|
||||
Specialist.name.label('specialist_name'),
|
||||
Specialist.type.label('specialist_type')
|
||||
).order_by(Interaction.question_at).all())
|
||||
|
||||
# Fetch all related embeddings for the interactions in this session
|
||||
embedding_query = (db.session.query(InteractionEmbedding.interaction_id,
|
||||
@@ -84,7 +94,7 @@ def view_chat_session(chat_session_id):
|
||||
DocumentVersion.object_name)
|
||||
.join(Embedding, InteractionEmbedding.embedding_id == Embedding.id)
|
||||
.join(DocumentVersion, Embedding.doc_vers_id == DocumentVersion.id)
|
||||
.filter(InteractionEmbedding.interaction_id.in_([i.id for i in interactions])))
|
||||
.filter(InteractionEmbedding.interaction_id.in_([i.id for i, *_ in interactions])))
|
||||
|
||||
# Create a dictionary to store embeddings for each interaction
|
||||
embeddings_dict = {}
|
||||
|
||||
Reference in New Issue
Block a user