summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/core
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-07-30 15:53:53 -0700
committerNate Sesti <sestinj@gmail.com>2023-07-30 15:53:53 -0700
commit11d7f0a9d178b7ae8f913a2ad5e70d623ce4b11e (patch)
tree292c6fb38cebf46cd647d6f5133c2c6246616572 /continuedev/src/continuedev/core
parentc57182b8533a2c86d465bbf21e3a357bda13bb41 (diff)
downloadsncontinue-11d7f0a9d178b7ae8f913a2ad5e70d623ce4b11e.tar.gz
sncontinue-11d7f0a9d178b7ae8f913a2ad5e70d623ce4b11e.tar.bz2
sncontinue-11d7f0a9d178b7ae8f913a2ad5e70d623ce4b11e.zip
refactor: :construction: refactor so server runs until requesting model
Diffstat (limited to 'continuedev/src/continuedev/core')
-rw-r--r--continuedev/src/continuedev/core/autopilot.py1
-rw-r--r--continuedev/src/continuedev/core/main.py1
-rw-r--r--continuedev/src/continuedev/core/models.py33
3 files changed, 16 insertions, 19 deletions
diff --git a/continuedev/src/continuedev/core/autopilot.py b/continuedev/src/continuedev/core/autopilot.py
index 42a58423..beb40c75 100644
--- a/continuedev/src/continuedev/core/autopilot.py
+++ b/continuedev/src/continuedev/core/autopilot.py
@@ -94,7 +94,6 @@ class Autopilot(ContinueBaseModel):
history=self.history,
active=self._active,
user_input_queue=self._main_user_input_queue,
- default_model=self.continue_sdk.config.default_model,
slash_commands=self.get_available_slash_commands(),
adding_highlighted_code=self.context_manager.context_providers[
"code"].adding_highlighted_code,
diff --git a/continuedev/src/continuedev/core/main.py b/continuedev/src/continuedev/core/main.py
index df9b98ef..2553850f 100644
--- a/continuedev/src/continuedev/core/main.py
+++ b/continuedev/src/continuedev/core/main.py
@@ -258,7 +258,6 @@ class FullState(ContinueBaseModel):
history: History
active: bool
user_input_queue: List[str]
- default_model: str
slash_commands: List[SlashCommandDescription]
adding_highlighted_code: bool
selected_context_items: List[ContextItem]
diff --git a/continuedev/src/continuedev/core/models.py b/continuedev/src/continuedev/core/models.py
index ec89d503..e4cb8ed6 100644
--- a/continuedev/src/continuedev/core/models.py
+++ b/continuedev/src/continuedev/core/models.py
@@ -1,5 +1,5 @@
from typing import Optional, Any
-from pydantic import BaseModel
+from pydantic import BaseModel, validator
from ..libs.llm import LLM
@@ -12,7 +12,7 @@ class Models(BaseModel):
# TODO namespace these away to not confuse readers,
# or split Models into ModelsConfig, which gets turned into Models
- sdk: Any = None
+ sdk: "ContinueSDK" = None
system_message: Any = None
"""
@@ -34,43 +34,42 @@ class Models(BaseModel):
'''depending on the model, return the single prompt string'''
"""
- async def _start(self, llm: LLM):
+ async def _start_llm(self, llm: LLM):
kwargs = {}
- if llm.required_api_key:
- kwargs["api_key"] = await self.sdk.get_api_key(llm.required_api_key)
- if llm.required_unique_id:
+ if llm.requires_api_key:
+ kwargs["api_key"] = await self.sdk.get_api_key(llm.requires_api_key)
+ if llm.requires_unique_id:
kwargs["unique_id"] = self.sdk.ide.unique_id
- if llm.required_write_log:
+ if llm.requires_write_log:
kwargs["write_log"] = self.sdk.write_log
await llm.start(**kwargs)
async def start(self, sdk: "ContinueSDK"):
+ """Start each of the LLMs, or fall back to default"""
self.sdk = sdk
self.system_message = self.sdk.config.system_message
- await self._start(self.default)
+ await self._start_llm(self.default)
if self.small:
- await self._start(self.small)
+ await self._start_llm(self.small)
else:
self.small = self.default
if self.medium:
- await self._start(self.medium)
+ await self._start_llm(self.medium)
else:
self.medium = self.default
if self.large:
- await self._start(self.large)
+ await self._start_llm(self.large)
else:
self.large = self.default
async def stop(self, sdk: "ContinueSDK"):
+ """Stop each LLM (if it's not the default, which is shared)"""
await self.default.stop()
- if self.small:
+ if self.small is not self.default:
await self.small.stop()
-
- if self.medium:
+ if self.medium is not self.default:
await self.medium.stop()
-
- if self.large:
+ if self.large is not self.default:
await self.large.stop()
-