🍌🐒 commited on
Commit
1d18ebc
·
1 Parent(s): 5fb84cd

Update: Switch to OpenAI client for Perplexity API integration

Browse files
Files changed (2) hide show
  1. requirements.txt +1 -2
  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 perplexity.client import PerplexityClient
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 = PerplexityClient(api_key=os.getenv("PERPLEXITY_API_KEY"))
 
 
 
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
  )