zasharepw77 commited on
Commit
f88439e
·
1 Parent(s): ee5585d

тестпростого запуска 1

Browse files
Files changed (2) hide show
  1. _003_rus_app.py +79 -0
  2. app.py +14 -74
_003_rus_app.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import re
2
+ import requests
3
+ from markdownify import markdownify
4
+ from requests.exceptions import RequestException
5
+ from smolagents import CodeAgent, DuckDuckGoSearchTool, FinalAnswerTool, HfApiModel, Tool, tool, VisitWebpageTool, ToolCallingAgent, LiteLLMModel
6
+ from huggingface_hub import login
7
+ import os
8
+ import openai
9
+ #import litellm
10
+ #litellm._turn_on_debug()
11
+
12
+ # Создание модели
13
+ model_id = "Qwen/Qwen2.5-Coder-32B-Instruct"
14
+ hf_token = os.getenv('hf_token')
15
+ model = HfApiModel(model_id, token=hf_token)
16
+
17
+ #os.environ['SAMBANOVA_API_KEY'] = os.getenv('sambanova_token')
18
+ #model = LiteLLMModel(
19
+ # model_id="sambanova/Qwen2.5-Coder-32B-Instruct",
20
+ # max_tokens=2096,
21
+ # temperature=0.1,
22
+ # # api_base="https://api.sambanova.ai/v1",
23
+ # num_ctx=8192
24
+ #)
25
+
26
+ # Создание инструмента для посещения веб-страниц
27
+ class WebpageVisitorTool(Tool):
28
+ name = "webpage_visitor"
29
+ description = "Этот инструмент посещает веб-страницу и возвращает ее содержимое в формате Markdown."
30
+
31
+ inputs = {
32
+ "url": {
33
+ "type": "string",
34
+ "description": "URL веб-страницы, которую нужно посетить.",
35
+ }
36
+ }
37
+
38
+ output_type = "string"
39
+
40
+ def forward(self, url: str) -> str:
41
+ try:
42
+ # Send a GET request to the URL
43
+ response = requests.get(url)
44
+ response.raise_for_status() # Raise an exception for bad status codes
45
+
46
+ # Convert the HTML content to Markdown
47
+ markdown_content = markdownify(response.text).strip()
48
+
49
+ # Remove multiple line breaks
50
+ markdown_content = re.sub(r"\n{3,}", "\n\n", markdown_content)
51
+
52
+ return markdown_content
53
+
54
+ except RequestException as e:
55
+ return f"Error fetching the webpage: {str(e)}"
56
+ except Exception as e:
57
+ return f"An unexpected error occurred: {str(e)}"
58
+
59
+ # Создание веб-агента
60
+ #web_agent = ToolCallingAgent(
61
+ web_agent = CodeAgent(
62
+ tools=[DuckDuckGoSearchTool(), WebpageVisitorTool()],
63
+ model=model,
64
+ max_steps=10,
65
+ name="web_search_agent",
66
+ description="Выполняет поиск в интернете"
67
+ )
68
+
69
+ # Создание менеджера-агента
70
+ manager_agent = CodeAgent(
71
+ tools=[],
72
+ model=model,
73
+ managed_agents=[web_agent],
74
+ additional_authorized_imports=["time", "numpy", "pandas"]
75
+ )
76
+
77
+ # Запуск системы
78
+ answer = manager_agent.run("Если обучение моделей языка продолжит масштабироваться с текущим темпом до 2030 года, какова будет потребляемая электрическая мощность в ГВт, необходимая для питания крупнейших тренировочных запусков к 2030 году? Что это будет соответствовать, по сравнению с некоторыми странами? Пожалуйста, предоставьте источник для любых использованных чисел.")
79
+ print(answer)
app.py CHANGED
@@ -1,79 +1,19 @@
1
- import re
2
  import requests
3
- from markdownify import markdownify
4
- from requests.exceptions import RequestException
5
- from smolagents import CodeAgent, DuckDuckGoSearchTool, FinalAnswerTool, HfApiModel, Tool, tool, VisitWebpageTool, ToolCallingAgent, LiteLLMModel
6
- from huggingface_hub import login
7
  import os
8
- import openai
9
- #import litellm
10
- #litellm._turn_on_debug()
11
-
12
- # Создание модели
13
- model_id = "Qwen/Qwen2.5-Coder-32B-Instruct"
14
- hf_token = os.getenv('hf_token')
15
- model = HfApiModel(model_id, token=hf_token)
16
 
17
  #os.environ['SAMBANOVA_API_KEY'] = os.getenv('sambanova_token')
18
- #model = LiteLLMModel(
19
- # model_id="sambanova/Qwen2.5-Coder-32B-Instruct",
20
- # max_tokens=2096,
21
- # temperature=0.1,
22
- # # api_base="https://api.sambanova.ai/v1",
23
- # num_ctx=8192
24
- #)
25
-
26
- # Создание инструмента для посещения веб-страниц
27
- class WebpageVisitorTool(Tool):
28
- name = "webpage_visitor"
29
- description = "Этот инструмент посещает веб-страницу и возвращает ее содержимое в формате Markdown."
30
-
31
- inputs = {
32
- "url": {
33
- "type": "string",
34
- "description": "URL веб-страницы, которую нужно посетить.",
35
- }
36
- }
37
-
38
- output_type = "string"
39
-
40
- def forward(self, url: str) -> str:
41
- try:
42
- # Send a GET request to the URL
43
- response = requests.get(url)
44
- response.raise_for_status() # Raise an exception for bad status codes
45
-
46
- # Convert the HTML content to Markdown
47
- markdown_content = markdownify(response.text).strip()
48
-
49
- # Remove multiple line breaks
50
- markdown_content = re.sub(r"\n{3,}", "\n\n", markdown_content)
51
-
52
- return markdown_content
53
-
54
- except RequestException as e:
55
- return f"Error fetching the webpage: {str(e)}"
56
- except Exception as e:
57
- return f"An unexpected error occurred: {str(e)}"
58
-
59
- # Создание веб-агента
60
- #web_agent = ToolCallingAgent(
61
- web_agent = CodeAgent(
62
- tools=[DuckDuckGoSearchTool(), WebpageVisitorTool()],
63
- model=model,
64
- max_steps=10,
65
- name="web_search_agent",
66
- description="Выполняет поиск в интернете"
67
- )
68
-
69
- # Создание менеджера-агента
70
- manager_agent = CodeAgent(
71
- tools=[],
72
- model=model,
73
- managed_agents=[web_agent],
74
- additional_authorized_imports=["time", "numpy", "pandas"]
75
- )
76
 
77
- # Запуск системы
78
- answer = manager_agent.run("Если обучение моделей языка продолжит масштабироваться с текущим темпом до 2030 года, какова будет потребляемая электрическая мощность в ГВт, необходимая для питания крупнейших тренировочных запусков к 2030 году? Что это будет соответствовать, по сравнению с некоторыми странами? Пожалуйста, предоставьте источник для любых использованных чисел.")
79
- print(answer)
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import requests
 
 
 
 
2
  import os
 
 
 
 
 
 
 
 
3
 
4
  #os.environ['SAMBANOVA_API_KEY'] = os.getenv('sambanova_token')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
+ url = "https://api.sambanova.ai/v1/chat/completions" # Проверьте, что это правильная конечная точка
7
+ headers = {
8
+ "Authorization": f"Bearer {os.getenv('sambanova_token')}",
9
+ "Content-Type": "application/json"
10
+ }
11
+ data = {
12
+ "model": "Qwen2.5-Coder-32B-Instruct",
13
+ "messages": [{"role": "user", "content": "Раскажи о себе."}],
14
+ "max_tokens": 100
15
+ }
16
+
17
+ response = requests.post(url, headers=headers, json=data)
18
+ print(response.status_code)
19
+ print(response.text)