readme update & refactor llm_provider

This commit is contained in:
martin legrand
2025-05-25 11:45:18 +02:00
parent d375359582
commit 758faf6285
6 changed files with 43 additions and 44 deletions
+3 -3
View File
@@ -552,8 +552,8 @@ Were looking for developers to improve AgenticSeek! Check out open issues or
## Maintainers: ## Maintainers:
> [Fosowl](https://github.com/Fosowl) | Paris Time | (Sometime busy) > [Fosowl](https://github.com/Fosowl) | Paris Time
> [https://github.com/antoineVIVIES](antoineVIVIES) | Taipei Time | (Often busy) > [antoineVIVIES](https://github.com/antoineVIVIES) | Taipei Time
> [steveh8758](https://github.com/steveh8758) | Taipei Time | (Always busy) > [steveh8758](https://github.com/steveh8758) | Taipei Time
+3 -3
View File
@@ -564,8 +564,8 @@ DeepSeek R1 天生会说中文
## 维护者: ## 维护者:
> [Fosowl](https://github.com/Fosowl) | 巴黎时间 | (有时很忙) > [Fosowl](https://github.com/Fosowl) | 巴黎时间
> [https://github.com/antoineVIVIES](https://github.com/antoineVIVIES) | 台北时间 | (经常很忙) > [antoineVIVIES](https://github.com/antoineVIVIES) | Taipei Time
> [steveh8758](https://github.com/steveh8758) | 台北时间 | (总是很忙) > [steveh8758](https://github.com/steveh8758) | 台北时间
+3 -3
View File
@@ -556,8 +556,8 @@ DeepSeek R1 天生会说中文
## 维护者: ## 维护者:
> [Fosowl](https://github.com/Fosowl) | 巴黎时间 | (有时很忙) > [Fosowl](https://github.com/Fosowl) | 巴黎时间
> [https://github.com/antoineVIVIES](https://github.com/antoineVIVIES) | 台北时间 | (经常很忙) > [antoineVIVIES](https://github.com/antoineVIVIES) | Taipei Time
> [steveh8758](https://github.com/steveh8758) | 台北时间 | (总是很忙) > [steveh8758](https://github.com/steveh8758) | 台北时间
+1 -1
View File
@@ -495,4 +495,4 @@ Nous recherchons des développeurs pour améliorer AgenticSeek ! Consultez la se
## Mainteneurs: ## Mainteneurs:
> [Fosowl](https://github.com/Fosowl) > [Fosowl](https://github.com/Fosowl)
> [steveh8758](https://github.com/steveh8758) > [steveh8758](https://github.com/steveh8758)
> [https://github.com/antoineVIVIES](https://github.com/antoineVIVIES) > [antoineVIVIES](https://github.com/antoineVIVIES) | Taipei Time
+1 -1
View File
@@ -565,6 +565,6 @@ AgenticSeekを改善するための開発者を募集しています!オープ
> [Fosowl](https://github.com/Fosowl) | パリ時間 > [Fosowl](https://github.com/Fosowl) | パリ時間
> [https://github.com/antoineVIVIES](antoineVIVIES) | 台北時間 > [antoineVIVIES](https://github.com/antoineVIVIES) | Taipei Time
> [steveh8758](https://github.com/steveh8758) | 台北時間 |(常に忙しい) > [steveh8758](https://github.com/steveh8758) | 台北時間 |(常に忙しい)
+32 -33
View File
@@ -14,7 +14,6 @@ from openai import OpenAI
from sources.logger import Logger from sources.logger import Logger
from sources.utility import pretty_print, animate_thinking from sources.utility import pretty_print, animate_thinking
class Provider: class Provider:
def __init__(self, provider_name, model, server_address="127.0.0.1:5000", is_local=False): def __init__(self, provider_name, model, server_address="127.0.0.1:5000", is_local=False):
self.provider_name = provider_name.lower() self.provider_name = provider_name.lower()
@@ -58,38 +57,6 @@ class Provider:
exit(1) exit(1)
return api_key return api_key
def anthropic_fn(self, history, verbose=False):
"""
Use Anthropic to generate text.
"""
from anthropic import Anthropic
client = Anthropic(api_key=self.api_key)
system_message = None
messages = []
for message in history:
clean_message = {'role': message['role'], 'content': message['content']}
if message['role'] == 'system':
system_message = message['content']
else:
messages.append(clean_message)
try:
response = client.messages.create(
model=self.model,
max_tokens=1024,
messages=messages,
system=system_message
)
if response is None:
raise Exception("Anthropic response is empty.")
thought = response.content[0].text
if verbose:
print(thought)
return thought
except Exception as e:
raise Exception(f"Anthropic API error: {str(e)}") from e
def respond(self, history, verbose=True): def respond(self, history, verbose=True):
""" """
Use the choosen provider to generate text. Use the choosen provider to generate text.
@@ -255,6 +222,38 @@ class Provider:
except Exception as e: except Exception as e:
raise Exception(f"OpenAI API error: {str(e)}") from e raise Exception(f"OpenAI API error: {str(e)}") from e
def anthropic_fn(self, history, verbose=False):
"""
Use Anthropic to generate text.
"""
from anthropic import Anthropic
client = Anthropic(api_key=self.api_key)
system_message = None
messages = []
for message in history:
clean_message = {'role': message['role'], 'content': message['content']}
if message['role'] == 'system':
system_message = message['content']
else:
messages.append(clean_message)
try:
response = client.messages.create(
model=self.model,
max_tokens=1024,
messages=messages,
system=system_message
)
if response is None:
raise Exception("Anthropic response is empty.")
thought = response.content[0].text
if verbose:
print(thought)
return thought
except Exception as e:
raise Exception(f"Anthropic API error: {str(e)}") from e
def google_fn(self, history, verbose=False): def google_fn(self, history, verbose=False):
""" """
Use google gemini to generate text. Use google gemini to generate text.