Skip to content

Implementation Snippets

Thomas Howe edited this page Mar 24, 2023 · 3 revisions

Sending a vCon to a slack channel.

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)

Creating a transcript with DeepGram

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

Creating a script using open AI

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

Summarization of a conversation using OpenAI

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

Determining Sentiment using OpenAI

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

Using OpenAI to fetch keywords

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

Using OpenAI to determine what agents promise to customers

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