forked from React-Group/interstellar_ai
mild changes to the ais and added models to models.tsx
This commit is contained in:
parent
a23257be7f
commit
d83aeb2c74
3 changed files with 21 additions and 7 deletions
|
@ -4,6 +4,7 @@ import React, { useState, useEffect } from 'react';
|
||||||
// Define all models that should be available.
|
// Define all models that should be available.
|
||||||
const modelList = {
|
const modelList = {
|
||||||
'Offline Fast': {
|
'Offline Fast': {
|
||||||
|
'model_type': 'local',
|
||||||
'Math': 'qwen2-math:1.5b',
|
'Math': 'qwen2-math:1.5b',
|
||||||
'Code': 'starcoder2',
|
'Code': 'starcoder2',
|
||||||
'Language': 'llama3.2',
|
'Language': 'llama3.2',
|
||||||
|
@ -14,6 +15,7 @@ const modelList = {
|
||||||
'Image': 'llava-phi3'
|
'Image': 'llava-phi3'
|
||||||
},
|
},
|
||||||
'Offline Slow': {
|
'Offline Slow': {
|
||||||
|
'model_type': 'local',
|
||||||
'Math': 'wizard-math',
|
'Math': 'wizard-math',
|
||||||
'Code': 'starcoder2:7b',
|
'Code': 'starcoder2:7b',
|
||||||
'Language': 'llama3.1',
|
'Language': 'llama3.1',
|
||||||
|
@ -24,6 +26,7 @@ const modelList = {
|
||||||
'Image': 'llava'
|
'Image': 'llava'
|
||||||
},
|
},
|
||||||
'Offline Fast (FOSS)': {
|
'Offline Fast (FOSS)': {
|
||||||
|
'model_type': 'local',
|
||||||
'Math': 'qwen2-math:1.5b',
|
'Math': 'qwen2-math:1.5b',
|
||||||
'Code': 'qwen2.5-coder:1.5b',
|
'Code': 'qwen2.5-coder:1.5b',
|
||||||
'Language': 'phi3.5',
|
'Language': 'phi3.5',
|
||||||
|
@ -34,6 +37,7 @@ const modelList = {
|
||||||
'Image': 'llava'
|
'Image': 'llava'
|
||||||
},
|
},
|
||||||
'Offline Slow (FOSS)': {
|
'Offline Slow (FOSS)': {
|
||||||
|
'model_type': 'local',
|
||||||
'Math': 'mathstral',
|
'Math': 'mathstral',
|
||||||
'Code': 'qwen2.5-coder',
|
'Code': 'qwen2.5-coder',
|
||||||
'Language': 'qwen2.5',
|
'Language': 'qwen2.5',
|
||||||
|
@ -44,6 +48,7 @@ const modelList = {
|
||||||
'Image': 'llava'
|
'Image': 'llava'
|
||||||
},
|
},
|
||||||
'Online Cheap (OpenAI)': {
|
'Online Cheap (OpenAI)': {
|
||||||
|
'model_type': 'openai',
|
||||||
'Math': 'gpt-4o-mini',
|
'Math': 'gpt-4o-mini',
|
||||||
'Code': 'gpt-4o-mini',
|
'Code': 'gpt-4o-mini',
|
||||||
'Language': 'gpt-4o-mini',
|
'Language': 'gpt-4o-mini',
|
||||||
|
@ -54,6 +59,7 @@ const modelList = {
|
||||||
'Image': 'gpt-4o-mini'
|
'Image': 'gpt-4o-mini'
|
||||||
},
|
},
|
||||||
'Online Expensive (OpenAI)': {
|
'Online Expensive (OpenAI)': {
|
||||||
|
'model_type': 'openai',
|
||||||
'Math': 'gpt-4o',
|
'Math': 'gpt-4o',
|
||||||
'Code': 'gpt-4o',
|
'Code': 'gpt-4o',
|
||||||
'Language': 'gpt-4o',
|
'Language': 'gpt-4o',
|
||||||
|
@ -64,6 +70,7 @@ const modelList = {
|
||||||
'Image': 'gpt-4o'
|
'Image': 'gpt-4o'
|
||||||
},
|
},
|
||||||
'Online Cheap (Anthropic)': {
|
'Online Cheap (Anthropic)': {
|
||||||
|
'model_type': 'anthropic',
|
||||||
'Math': 'claude-3-haiku',
|
'Math': 'claude-3-haiku',
|
||||||
'Code': 'claude-3-haiku',
|
'Code': 'claude-3-haiku',
|
||||||
'Language': 'claude-3-haiku',
|
'Language': 'claude-3-haiku',
|
||||||
|
@ -74,6 +81,7 @@ const modelList = {
|
||||||
'Image': 'claude-3-haiku'
|
'Image': 'claude-3-haiku'
|
||||||
},
|
},
|
||||||
'Online Expensive (Anthropic)': {
|
'Online Expensive (Anthropic)': {
|
||||||
|
'model_type': 'anthropic',
|
||||||
'Math': 'claude-3-5-sonnet',
|
'Math': 'claude-3-5-sonnet',
|
||||||
'Code': 'claude-3-5-sonnet',
|
'Code': 'claude-3-5-sonnet',
|
||||||
'Language': 'claude-3-5-sonnet',
|
'Language': 'claude-3-5-sonnet',
|
||||||
|
@ -84,6 +92,7 @@ const modelList = {
|
||||||
'Image': 'claude-3-5-sonnet'
|
'Image': 'claude-3-5-sonnet'
|
||||||
},
|
},
|
||||||
'Online Cheap (Google)': {
|
'Online Cheap (Google)': {
|
||||||
|
'model_type': 'google',
|
||||||
'Math': 'gemini-1.5-flash-latest',
|
'Math': 'gemini-1.5-flash-latest',
|
||||||
'Code': 'gemini-1.5-flash-latest',
|
'Code': 'gemini-1.5-flash-latest',
|
||||||
'Language': 'gemini-1.5-flash-latest',
|
'Language': 'gemini-1.5-flash-latest',
|
||||||
|
@ -94,6 +103,7 @@ const modelList = {
|
||||||
'Image': 'gemini-1.5-flash-latest'
|
'Image': 'gemini-1.5-flash-latest'
|
||||||
},
|
},
|
||||||
'Online Expensive (Google)': {
|
'Online Expensive (Google)': {
|
||||||
|
'model_type': 'google',
|
||||||
'Math': 'gemini-1.5-pro-latest',
|
'Math': 'gemini-1.5-pro-latest',
|
||||||
'Code': 'gemini-1.5-pro-latest',
|
'Code': 'gemini-1.5-pro-latest',
|
||||||
'Language': 'gemini-1.5-pro-latest',
|
'Language': 'gemini-1.5-pro-latest',
|
||||||
|
@ -104,6 +114,7 @@ const modelList = {
|
||||||
'Image': 'gemini-1.5-pro-latest'
|
'Image': 'gemini-1.5-pro-latest'
|
||||||
},
|
},
|
||||||
'Online (La Plateforme)': {
|
'Online (La Plateforme)': {
|
||||||
|
'model_type': 'mistral',
|
||||||
'Math': 'open-mistral-nemo',
|
'Math': 'open-mistral-nemo',
|
||||||
'Code': 'codestral-latest',
|
'Code': 'codestral-latest',
|
||||||
'Language': 'mistral-small-latest',
|
'Language': 'mistral-small-latest',
|
||||||
|
@ -114,6 +125,7 @@ const modelList = {
|
||||||
'Image': 'pixtral-12b-2409'
|
'Image': 'pixtral-12b-2409'
|
||||||
},
|
},
|
||||||
'Online (FOSS) (La Plateforme)': {
|
'Online (FOSS) (La Plateforme)': {
|
||||||
|
'model_type': 'mistral',
|
||||||
'Math': 'open-mistral-nemo',
|
'Math': 'open-mistral-nemo',
|
||||||
'Code': 'open-codestral-mamba',
|
'Code': 'open-codestral-mamba',
|
||||||
'Language': 'open-mistral-nemo',
|
'Language': 'open-mistral-nemo',
|
||||||
|
|
9
py/ai.py
9
py/ai.py
|
@ -80,11 +80,6 @@ class AI:
|
||||||
message = messages[-1]['content']
|
message = messages[-1]['content']
|
||||||
messages.pop()
|
messages.pop()
|
||||||
|
|
||||||
system = None
|
|
||||||
if messages and messages[0]['role'] == 'system':
|
|
||||||
system = messages[0]['content']
|
|
||||||
messages.pop(0)
|
|
||||||
|
|
||||||
for msg in messages:
|
for msg in messages:
|
||||||
msg['parts'] = msg.pop('content')
|
msg['parts'] = msg.pop('content')
|
||||||
|
|
||||||
|
@ -97,8 +92,8 @@ class AI:
|
||||||
model = genai.GenerativeModel(model)
|
model = genai.GenerativeModel(model)
|
||||||
|
|
||||||
chat = model.start_chat(
|
chat = model.start_chat(
|
||||||
system_instruction=system,
|
history=messages,
|
||||||
history=messages
|
|
||||||
)
|
)
|
||||||
|
|
||||||
response = chat.send_message(message, stream=True)
|
response = chat.send_message(message, stream=True)
|
||||||
|
|
|
@ -70,6 +70,13 @@ class API:
|
||||||
thread.start()
|
thread.start()
|
||||||
thread.join()
|
thread.join()
|
||||||
return jsonify({'status': 200})
|
return jsonify({'status': 200})
|
||||||
|
elif model_type == "google":
|
||||||
|
api_key = data.get('api_key')
|
||||||
|
thread = threading.Thread(target=self.ai.process_google,
|
||||||
|
args=(ai_model, messages, self, access_token, api_key))
|
||||||
|
thread.start()
|
||||||
|
thread.join()
|
||||||
|
return jsonify({'status': 200})
|
||||||
|
|
||||||
return jsonify({'status': 401, 'error': 'Invalid AI model type'})
|
return jsonify({'status': 401, 'error': 'Invalid AI model type'})
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue