-
Notifications
You must be signed in to change notification settings - Fork 9
Implementation Snippets
import requests import datetime def publish_to_slack(url, summary, link, call_at, duration): start = datetime.datetime.fromisoformat(call_at) slack_messsage = { "text": summary, "blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": f"*{start.strftime('%b %d %Y %H:%M:%S')}*: {duration} seconds. <{link}|Details>" } }, { "type": "section", "text": { "type": "mrkdwn", "text": summary } } ] } response = requests.post(url, json=slack_messsage)
import traceback
async def create_transcript(url): source = {'url': url} response = await dg_client.transcription.prerecorded(source, {'punctuate': True}) results = {} transcript = response['results']['channels'][0]['alternatives'][0]['transcript'] results['vendor'] = 'deepgram' results['type'] = 'transcript' results['body'] = transcript return results
async def create_script(transcript): try: # This can fail if the transcript is too long. prompt = "Rewrite this transcript into speakers: " + transcript rewrite_result = openai.Completion.create( model="text-davinci-003", prompt=prompt, max_tokens=2000, temperature=0 ) script = rewrite_result["choices"][0]["text"] except Exception as ex: log_traceback(ex) script = transcript
results = {}
results['vendor'] = 'openai'
results['type'] = 'script'
results['body'] = script
return results
async def create_summary(script):
prompt = "Summarize this conversation: " + script
summarize_result = openai.Completion.create(
model="text-davinci-003",
prompt=prompt,
max_tokens=1000,
temperature=0
)
summary = summarize_result["choices"][0]["text"]
results = {}
results['vendor'] = 'openai'
results['type'] = 'summary'
results['body'] = summary
return results
async def create_sentiment(transcript): prompt = transcript + " - A description of the sentiment of the customer and agent are: " summarize_result = openai.Completion.create( model="text-davinci-003", prompt=prompt, max_tokens=1000, temperature=0 ) tone = summarize_result["choices"][0]["text"] results = {} results['vendor'] = 'openai' results['type'] = 'sentiment' results['body'] = tone return results
async def create_keywords(transcript): prompt = transcript + " - a comma seperated list of any automotive terms, dealers, manufacturers or models in this conversation would be: " summarize_result = openai.Completion.create( model="text-davinci-003", prompt=prompt, max_tokens=1000, temperature=0 ) keywords = summarize_result["choices"][0]["text"] results = {} results['vendor'] = 'openai' results['type'] = 'keywords' results['body'] = keywords return results
async def create_promises(transcript): prompt = transcript + " - a comma seperated list of any promises, commitments or reasons to call back are: " summarize_result = openai.Completion.create( model="text-davinci-003", prompt=prompt, max_tokens=1000, temperature=0 ) promises = summarize_result["choices"][0]["text"] results = {} results['vendor'] = 'openai' results['type'] = 'promises' results['body'] = promises return results