pyth / app.py
TRaw's picture
Create app.py
277ebc1
from IPython.display import Audio
import openai
import requests
import json
import os
# Set up OpenAI API credentials
openai.api_key = "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"
# Set up ElevenLabs API credentials
elevenlabs_api_key = "3ea525bd0795cc4367ca2016f0327d96"
def generate_response(prompt):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
)
return response.choices[0].message.content.strip()
def text_to_speech(text):
url = 'https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM/stream?optimize_streaming_latency=0'
headers = {
'accept': '*/*',
'xi-api-key': elevenlabs_api_key,
'Content-Type': 'application/json'
}
data = {
'text': text,
'model_id': 'eleven_monolingual_v1',
'voice_settings': {
'stability': 0,
'similarity_boost': 0
}
}
response = requests.post(url, headers=headers, data=json.dumps(data))
return response.content
# Main conversation loop
while True:
user_input = input('User: ')
response = generate_response(user_input)
print('ChatGPT: ' + response)
speech = text_to_speech(response)
audio = Audio(data=speech, autoplay=True)
display(audio)