File size: 1,672 Bytes
0a9fbad
 
 
 
 
 
 
 
62f6c62
 
 
 
 
0a9fbad
 
 
 
f572436
0a9fbad
 
 
 
 
 
 
f572436
 
 
 
0a9fbad
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f572436
0a9fbad
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import yaml
from smolagents import OpenAIServerModel, VisitWebpageTool
from smolagents import CodeAgent, FinalAnswerTool, WikipediaSearchTool, Tool
from langchain_community.tools import DuckDuckGoSearchRun

import os

# Load environment variables from .env file
# with open('.env') as f:
#     for line in f:
#         if line.strip() and not line.startswith('#'):
#             key, value = line.strip().split('=', 1)
#             os.environ[key] = value



model = OpenAIServerModel(
    model_id="CLAUDE_3_SONNET_37",  # Replace with the desired model ID
    api_base=os.getenv("BASE_URL"),  # Base URL for the API
    api_key=os.getenv("OKTA_ACCESS_TOKEN"),  # API key for authentication
    custom_role_conversions=None,
    temperature=0.5,
    client_kwargs={
        "default_headers": {"Subscription-Key": os.getenv("SUBSCRIPTION_KEY")},  # Additional headers,
    },
    # web_search_options={
    #     "enabled": True,
    #     "dynamic_threshold": 0.5
    # }
)

# Load system prompt from prompt.yaml file
with open("prompts.yaml", 'r') as stream:
    prompt_templates = yaml.safe_load(stream)

final_answer = FinalAnswerTool()

ddg_tool = Tool.from_langchain(DuckDuckGoSearchRun())

agent = CodeAgent(
    tools=[final_answer, VisitWebpageTool(), WikipediaSearchTool(), ddg_tool],
    add_base_tools=True,
    max_steps=6,
    verbosity_level=1,
    grammar=None,
    planning_interval=None,
    name=None,
    description=None,
    prompt_templates=prompt_templates,
    additional_authorized_imports=['pandas', 'numpy', 'openpyxl', 'xlrd'],
    model=model)



#
# res = agent.run("Can you find any information about the latest news on AI?")
# print(res)