forked from React-Group/interstellar_ai
Uhmm fixed
This commit is contained in:
parent
c1d1bf246c
commit
7010be84ea
5 changed files with 40 additions and 13 deletions
29
py/ai.py
29
py/ai.py
|
@ -1,5 +1,6 @@
|
|||
from mistralai import Mistral
|
||||
from openai import OpenAI
|
||||
import google.generativeai as genai
|
||||
import anthropic
|
||||
import ollama
|
||||
|
||||
|
@ -72,3 +73,31 @@ class AI:
|
|||
for text in stream.text_stream:
|
||||
with return_class.ai_response_lock:
|
||||
return_class.ai_response[access_token] += text
|
||||
|
||||
@staticmethod
|
||||
def process_google(model, messages, return_class, access_token, api_key):
|
||||
|
||||
message = messages[-1]['content']
|
||||
messages.pop()
|
||||
|
||||
system = None
|
||||
if messages and messages[0]['role'] == 'system':
|
||||
system = messages[0]['content']
|
||||
messages.pop(0)
|
||||
|
||||
for msg in messages:
|
||||
msg['parts'] = msg.pop('content')
|
||||
|
||||
for msg in messages:
|
||||
if msg['role'] == 'assistant':
|
||||
msg['role'] = 'model'
|
||||
|
||||
genai.configure(api_key=api_key)
|
||||
model = genai.GenerativeModel("gemini-1.5-flash")
|
||||
chat = model.start_chat(
|
||||
system_instruction=system,
|
||||
history=[
|
||||
{"role": "user", "parts": "Hello"},
|
||||
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
|
||||
]
|
||||
)
|
||||
|
|
13
py/api.py
13
py/api.py
|
@ -42,19 +42,22 @@ class API:
|
|||
return jsonify({'status': 200})
|
||||
elif model_type == "mistral":
|
||||
api_key = data.get('api_key')
|
||||
thread = threading.Thread(target=self.ai.process_mistralai, args=(ai_model, messages, self, access_token, api_key))
|
||||
thread = threading.Thread(target=self.ai.process_mistralai,
|
||||
args=(ai_model, messages, self, access_token, api_key))
|
||||
thread.start()
|
||||
thread.join()
|
||||
return jsonify({'status': 200})
|
||||
elif model_type == "openai":
|
||||
api_key = data.get('api_key')
|
||||
thread = threading.Thread(target=self.ai.process_openai, args=(ai_model, messages, self, access_token, api_key))
|
||||
thread = threading.Thread(target=self.ai.process_openai,
|
||||
args=(ai_model, messages, self, access_token, api_key))
|
||||
thread.start()
|
||||
thread.join()
|
||||
return jsonify({'status': 200})
|
||||
elif model_type == "anthropic":
|
||||
api_key = data.get('api_key')
|
||||
thread = threading.Thread(target=self.ai.process_anthropic, args=(ai_model, messages, self, access_token, api_key))
|
||||
thread = threading.Thread(target=self.ai.process_anthropic,
|
||||
args=(ai_model, messages, self, access_token, api_key))
|
||||
thread.start()
|
||||
thread.join()
|
||||
return jsonify({'status': 200})
|
||||
|
@ -118,3 +121,7 @@ class API:
|
|||
|
||||
ssl_context = ("cert.pem", "key.pem")
|
||||
self.app.run(debug=True, host='0.0.0.0', port=5000)
|
||||
|
||||
|
||||
api = API()
|
||||
api.run()
|
||||
|
|
|
@ -4,5 +4,4 @@ ollama
|
|||
mistralai
|
||||
openai
|
||||
anthropic
|
||||
pyOpenSSL
|
||||
pywebview
|
||||
pyOpenSSL
|
|
@ -1,7 +0,0 @@
|
|||
import os
|
||||
import webview
|
||||
|
||||
os.system("python api.py")
|
||||
webview.create_window('Hello world', 'http://localhost:3000')
|
||||
webview.start()
|
||||
|
|
@ -1 +0,0 @@
|
|||
|
Loading…
Reference in a new issue