merge with #191
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
SEARXNG_BASE_URL="http://127.0.0.1:8080"
|
SEARXNG_BASE_URL="http://127.0.0.1:8080"
|
||||||
OPENAI_API_KEY='xxxxx'
|
OPENAI_API_KEY='xxxxx'
|
||||||
DEEPSEEK_API_KEY='xxxxx'
|
DEEPSEEK_API_KEY='xxxxx'
|
||||||
|
OPENROUTER_API_KEY='xxxxx'
|
||||||
@@ -205,7 +205,7 @@ Example: export `TOGETHER_API_KEY="xxxxx"`
|
|||||||
| Provider | Local? | Description |
|
| Provider | Local? | Description |
|
||||||
|-----------|--------|-----------------------------------------------------------|
|
|-----------|--------|-----------------------------------------------------------|
|
||||||
| openai | Depends | Use ChatGPT API |
|
| openai | Depends | Use ChatGPT API |
|
||||||
| deepseek-api | No | Deepseek API (non-private) |
|
| deepseek | No | Deepseek API (non-private) |
|
||||||
| huggingface| No | Hugging-Face API (non-private) |
|
| huggingface| No | Hugging-Face API (non-private) |
|
||||||
| togetherAI | No | Use together AI API (non-private) |
|
| togetherAI | No | Use together AI API (non-private) |
|
||||||
| google | No | Use google gemini API (non-private) |
|
| google | No | Use google gemini API (non-private) |
|
||||||
@@ -319,7 +319,7 @@ Clone the repository and enter the `server/`folder.
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone --depth 1 https://github.com/Fosowl/agenticSeek.git
|
git clone --depth 1 https://github.com/Fosowl/agenticSeek.git
|
||||||
cd agenticSeek/server/
|
cd agenticSeek/llm_server/
|
||||||
```
|
```
|
||||||
|
|
||||||
Install server specific requirements:
|
Install server specific requirements:
|
||||||
|
|||||||
+26
-3
@@ -31,12 +31,12 @@ class Provider:
|
|||||||
"deepseek": self.deepseek_fn,
|
"deepseek": self.deepseek_fn,
|
||||||
"together": self.together_fn,
|
"together": self.together_fn,
|
||||||
"dsk_deepseek": self.dsk_deepseek,
|
"dsk_deepseek": self.dsk_deepseek,
|
||||||
"test": self.test_fn,
|
"openrouter": self.openrouter_fn,
|
||||||
"anthropic": self.anthropic_fn
|
"test": self.test_fn
|
||||||
}
|
}
|
||||||
self.logger = Logger("provider.log")
|
self.logger = Logger("provider.log")
|
||||||
self.api_key = None
|
self.api_key = None
|
||||||
self.unsafe_providers = ["openai", "deepseek", "dsk_deepseek", "together", "google", "anthropic"]
|
self.unsafe_providers = ["openai", "deepseek", "dsk_deepseek", "together", "google", "openrouter"]
|
||||||
if self.provider_name not in self.available_providers:
|
if self.provider_name not in self.available_providers:
|
||||||
raise ValueError(f"Unknown provider: {provider_name}")
|
raise ValueError(f"Unknown provider: {provider_name}")
|
||||||
if self.provider_name in self.unsafe_providers and self.is_local == False:
|
if self.provider_name in self.unsafe_providers and self.is_local == False:
|
||||||
@@ -345,6 +345,29 @@ class Provider:
|
|||||||
raise Exception(f"An error occurred: {str(e)}") from e
|
raise Exception(f"An error occurred: {str(e)}") from e
|
||||||
return thought
|
return thought
|
||||||
|
|
||||||
|
def openrouter_fn(self, history, verbose=False):
|
||||||
|
"""
|
||||||
|
Use OpenRouter API to generate text.
|
||||||
|
"""
|
||||||
|
client = OpenAI(api_key=self.api_key, base_url="https://openrouter.ai/api/v1")
|
||||||
|
if self.is_local:
|
||||||
|
# This case should ideally not be reached if unsafe_providers is set correctly
|
||||||
|
# and is_local is False in config for openrouter
|
||||||
|
raise Exception("OpenRouter is not available for local use. Change config.ini")
|
||||||
|
try:
|
||||||
|
response = client.chat.completions.create(
|
||||||
|
model=self.model,
|
||||||
|
messages=history,
|
||||||
|
)
|
||||||
|
if response is None:
|
||||||
|
raise Exception("OpenRouter response is empty.")
|
||||||
|
thought = response.choices[0].message.content
|
||||||
|
if verbose:
|
||||||
|
print(thought)
|
||||||
|
return thought
|
||||||
|
except Exception as e:
|
||||||
|
raise Exception(f"OpenRouter API error: {str(e)}") from e
|
||||||
|
|
||||||
def dsk_deepseek(self, history, verbose=False):
|
def dsk_deepseek(self, history, verbose=False):
|
||||||
"""
|
"""
|
||||||
Use: xtekky/deepseek4free
|
Use: xtekky/deepseek4free
|
||||||
|
|||||||
Reference in New Issue
Block a user