This commit is contained in:
martin legrand
2025-05-25 15:39:23 +02:00
3 changed files with 31 additions and 7 deletions
+2 -1
View File
@@ -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'
+3 -3
View File
@@ -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:
@@ -556,4 +556,4 @@ Were looking for developers to improve AgenticSeek! Check out open issues or
> [antoineVIVIES](https://github.com/antoineVIVIES) | Taipei Time > [antoineVIVIES](https://github.com/antoineVIVIES) | Taipei Time
> [steveh8758](https://github.com/steveh8758) | Taipei Time > [steveh8758](https://github.com/steveh8758) | Taipei Time
+26 -3
View File
@@ -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