Abhaykoul commited on
Commit
d3b6d43
1 Parent(s): cae0bd9

Update webscout.py

Browse files
Files changed (1) hide show
  1. webscout.py +38 -1
webscout.py CHANGED
@@ -1708,4 +1708,41 @@ class LLM:
1708
  result = requests.post(url=url, data=data, headers=headers)
1709
  return result.json()['choices'][0]['message']['content']
1710
  except:
1711
- return None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1708
  result = requests.post(url=url, data=data, headers=headers)
1709
  return result.json()['choices'][0]['message']['content']
1710
  except:
1711
+ return None
1712
+ class FastAI:
1713
+ def __init__(self, model="llama3-70b", system="Answer as concisely as possible."):
1714
+ self.model = model
1715
+ self.system = system
1716
+
1717
+ def _prepare_data(self, user):
1718
+ env_type = "tp16405b" if "405b" in self.model else "tp16"
1719
+ return {
1720
+ 'body': {
1721
+ 'messages': [
1722
+ {'role': 'system', 'content': self.system},
1723
+ {'role': 'user', 'content': user}
1724
+ ],
1725
+ 'stream': True,
1726
+ 'model': self.model
1727
+ },
1728
+ 'env_type': env_type
1729
+ }
1730
+
1731
+ def generate_response(self, user):
1732
+ data = self._prepare_data(user)
1733
+ response_text = ''
1734
+ with requests.post(
1735
+ 'https://fast.snova.ai/api/completion',
1736
+ headers={'content-type': 'application/json'},
1737
+ json=data,
1738
+ stream=True
1739
+ ) as response:
1740
+ for line in response.iter_lines(decode_unicode=True):
1741
+ if line.startswith('data:'):
1742
+ try:
1743
+ data = json.loads(line[len('data: '):])
1744
+ response_text += data.get("choices", [{}])[0].get("delta", {}).get("content", '')
1745
+ except json.JSONDecodeError:
1746
+ if line[len('data: '):] == '[DONE]':
1747
+ break
1748
+ return response_text