Spaces:
Sleeping
Sleeping
🍌🐒
commited on
Commit
·
1d18ebc
1
Parent(s):
5fb84cd
Update: Switch to OpenAI client for Perplexity API integration
Browse files- requirements.txt +1 -2
- src/agents.py +6 -3
requirements.txt
CHANGED
@@ -22,5 +22,4 @@ openai>=1.12.0
|
|
22 |
anthropic>=0.18.1
|
23 |
duckduckgo-search>=4.4.3
|
24 |
orjson>=3.9.15
|
25 |
-
python-dotenv>=1.0.0
|
26 |
-
perplexity>=0.3.0
|
|
|
22 |
anthropic>=0.18.1
|
23 |
duckduckgo-search>=4.4.3
|
24 |
orjson>=3.9.15
|
25 |
+
python-dotenv>=1.0.0
|
|
src/agents.py
CHANGED
@@ -3,7 +3,7 @@ from typing import Optional
|
|
3 |
import openai
|
4 |
import anthropic
|
5 |
from duckduckgo_search import DDGS
|
6 |
-
from
|
7 |
|
8 |
class Agent:
|
9 |
def __init__(self, base_model: str = "gpt-3.5-turbo", search_engine: str = "duckduckgo"):
|
@@ -16,7 +16,10 @@ class Agent:
|
|
16 |
elif "claude" in base_model:
|
17 |
self.claude = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
|
18 |
elif "sonar" in base_model:
|
19 |
-
self.perplexity =
|
|
|
|
|
|
|
20 |
|
21 |
def execute(self, message: str, project_name: str) -> Optional[str]:
|
22 |
try:
|
@@ -72,7 +75,7 @@ class Agent:
|
|
72 |
# Use the mapped model or default to sonar
|
73 |
model = model_mapping.get(self.base_model, "sonar")
|
74 |
|
75 |
-
response = self.perplexity.chat.create(
|
76 |
model=model,
|
77 |
messages=[{"role": "user", "content": message}]
|
78 |
)
|
|
|
3 |
import openai
|
4 |
import anthropic
|
5 |
from duckduckgo_search import DDGS
|
6 |
+
from openai import OpenAI
|
7 |
|
8 |
class Agent:
|
9 |
def __init__(self, base_model: str = "gpt-3.5-turbo", search_engine: str = "duckduckgo"):
|
|
|
16 |
elif "claude" in base_model:
|
17 |
self.claude = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
|
18 |
elif "sonar" in base_model:
|
19 |
+
self.perplexity = OpenAI(
|
20 |
+
api_key=os.getenv("PERPLEXITY_API_KEY"),
|
21 |
+
base_url="https://api.perplexity.ai"
|
22 |
+
)
|
23 |
|
24 |
def execute(self, message: str, project_name: str) -> Optional[str]:
|
25 |
try:
|
|
|
75 |
# Use the mapped model or default to sonar
|
76 |
model = model_mapping.get(self.base_model, "sonar")
|
77 |
|
78 |
+
response = self.perplexity.chat.completions.create(
|
79 |
model=model,
|
80 |
messages=[{"role": "user", "content": message}]
|
81 |
)
|