File size: 1,574 Bytes
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
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="GEMINI_15_PRO",  # 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,
    model=model)



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