server/www: rename topic text field to transcript

This aleviate the current issue with vercel deployment
This commit is contained in:
2023-11-02 19:54:44 +01:00
committed by Mathieu Virbel
parent 9642d0fd1e
commit eb76cd9bcd
9 changed files with 101 additions and 13 deletions

View File

@@ -0,0 +1,80 @@
"""rename back text to transcript
Revision ID: 38a927dcb099
Revises: 9920ecfe2735
Create Date: 2023-11-02 19:53:09.116240
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
from sqlalchemy.sql import table, column
from sqlalchemy import select
# revision identifiers, used by Alembic.
revision: str = '38a927dcb099'
down_revision: Union[str, None] = '9920ecfe2735'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# bind the engine
bind = op.get_bind()
# Reflect the table
transcript = table("transcript", column("id", sa.String), column("topics", sa.JSON))
# Select all rows from the transcript table
results = bind.execute(select([transcript.c.id, transcript.c.topics]))
for row in results:
transcript_id = row["id"]
topics_json = row["topics"]
# Process each topic in the topics JSON array
updated_topics = []
for topic in topics_json:
if "text" in topic:
# Rename key 'text' back to 'transcript'
topic["transcript"] = topic.pop("text")
updated_topics.append(topic)
# Update the transcript table
bind.execute(
transcript.update()
.where(transcript.c.id == transcript_id)
.values(topics=updated_topics)
)
def downgrade() -> None:
# bind the engine
bind = op.get_bind()
# Reflect the table
transcript = table("transcript", column("id", sa.String), column("topics", sa.JSON))
# Select all rows from the transcript table
results = bind.execute(select([transcript.c.id, transcript.c.topics]))
for row in results:
transcript_id = row["id"]
topics_json = row["topics"]
# Process each topic in the topics JSON array
updated_topics = []
for topic in topics_json:
if "transcript" in topic:
# Rename key 'transcript' to 'text'
topic["text"] = topic.pop("transcript")
updated_topics.append(topic)
# Update the transcript table
bind.execute(
transcript.update()
.where(transcript.c.id == transcript_id)
.values(topics=updated_topics)
)

View File

@@ -9,7 +9,6 @@ from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
import json
from sqlalchemy.sql import table, column
from sqlalchemy import select

View File

@@ -63,7 +63,7 @@ class TranscriptTopic(BaseModel):
summary: str
timestamp: float
duration: float | None = 0
text: str | None = None
transcript: str | None = None
words: list[ProcessorWord] = []

View File

@@ -162,7 +162,7 @@ class PipelineMainBase(PipelineRunner):
title=data.title,
summary=data.summary,
timestamp=data.timestamp,
text=data.transcript.text,
transcript=data.transcript.text,
words=data.transcript.words,
)
if isinstance(data, TitleSummaryWithIdProcessorType):

View File

@@ -121,7 +121,7 @@ class GetTranscriptTopic(BaseModel):
title: str
summary: str
timestamp: float
text: str
transcript: str
segments: list[GetTranscriptSegmentTopic] = []
@classmethod
@@ -154,7 +154,7 @@ class GetTranscriptTopic(BaseModel):
title=topic.title,
summary=topic.summary,
timestamp=topic.timestamp,
text=text,
transcript=text,
segments=segments,
)

View File

@@ -167,7 +167,7 @@ async def test_transcript_rtc_and_websocket(
ev = events[eventnames.index("TOPIC")]
assert ev["data"]["id"]
assert ev["data"]["summary"] == "LLM SUMMARY"
assert ev["data"]["text"].startswith("Hello world.")
assert ev["data"]["transcript"].startswith("Hello world.")
assert ev["data"]["timestamp"] == 0.0
assert "FINAL_LONG_SUMMARY" in eventnames
@@ -316,7 +316,7 @@ async def test_transcript_rtc_and_websocket_and_fr(
ev = events[eventnames.index("TOPIC")]
assert ev["data"]["id"]
assert ev["data"]["summary"] == "LLM SUMMARY"
assert ev["data"]["text"].startswith("Hello world.")
assert ev["data"]["transcript"].startswith("Hello world.")
assert ev["data"]["timestamp"] == 0.0
assert "FINAL_LONG_SUMMARY" in eventnames

View File

@@ -132,7 +132,7 @@ export function TopicList({
))}
</>
) : (
<>{topic.text}</>
<>{topic.transcript}</>
)}
</div>
)}

View File

@@ -9,7 +9,7 @@ export type Topic = {
title: string;
summary: string;
id: string;
text: string;
transcript: string;
segments: SegmentTopic[];
};

View File

@@ -19,6 +19,12 @@ import { exists, mapValues } from "../runtime";
* @interface GetTranscriptTopic
*/
export interface GetTranscriptTopic {
/**
*
* @type {any}
* @memberof GetTranscriptTopic
*/
id: any | null;
/**
*
* @type {any}
@@ -42,7 +48,7 @@ export interface GetTranscriptTopic {
* @type {any}
* @memberof GetTranscriptTopic
*/
text: any | null;
transcript: any | null;
/**
*
* @type {any}
@@ -56,10 +62,11 @@ export interface GetTranscriptTopic {
*/
export function instanceOfGetTranscriptTopic(value: object): boolean {
let isInstance = true;
isInstance = isInstance && "id" in value;
isInstance = isInstance && "title" in value;
isInstance = isInstance && "summary" in value;
isInstance = isInstance && "timestamp" in value;
isInstance = isInstance && "text" in value;
isInstance = isInstance && "transcript" in value;
return isInstance;
}
@@ -76,10 +83,11 @@ export function GetTranscriptTopicFromJSONTyped(
return json;
}
return {
id: json["id"],
title: json["title"],
summary: json["summary"],
timestamp: json["timestamp"],
text: json["text"],
transcript: json["transcript"],
segments: !exists(json, "segments") ? undefined : json["segments"],
};
}
@@ -94,10 +102,11 @@ export function GetTranscriptTopicToJSON(
return null;
}
return {
id: value.id,
title: value.title,
summary: value.summary,
timestamp: value.timestamp,
text: value.text,
transcript: value.transcript,
segments: value.segments,
};
}