lbourdois commited on
Commit
f333950
·
verified ·
1 Parent(s): 790bcc2

Improve language tag

Browse files

Hi! As the model is multilingual, this is a PR to add other languages than English to the language tag to improve the referencing. Note that 29 languages are announced in the README, but only 13 are explicitly listed. I was therefore only able to add these 13 languages.

Files changed (1) hide show
  1. README.md +157 -145
README.md CHANGED
@@ -1,146 +1,158 @@
1
- ---
2
- license: other
3
- language:
4
- - en
5
- library_name: transformers
6
- tags:
7
- - RLHF
8
- - Nexusflow
9
- - Athene
10
- - Function Calling
11
- - Agent
12
- - Extraction
13
- base_model:
14
- - Qwen/Qwen2.5-72B-Instruct
15
- ---
16
-
17
- # Athene-V2-Agent: Surpassing GPT-4o for Tool Use And Agentic Usecases
18
- <p align="center">
19
- <a href="https://huggingface.co/Nexusflow" target="_blank">Nexusflow HF</a> - <a href="https://discord.gg/HDSVmNAs3y" target="_blank">Nexusflow Discord</a> - <a href="https://nexusflow.ai/blogs/athene-v2" target="_blank">Athene-V2 Blogpost</a>
20
- </p>
21
-
22
- <p align="center" width="100%">
23
- <a><img src="agent.png" alt="NexusRaven" style="width: 40%; min-width: 300px; display: block; margin: auto;"></a>
24
- </p>
25
-
26
- ## Introducing Athene-V2-Agent
27
- Athene-V2-Agent is an open-source Agent LLM that surpasses the state-of-the-art in function calling and agentic capabilities.
28
-
29
-
30
- <p align="center" width="100%">
31
- <a><img src="benchmark.png" alt="Benchmark" style="width: 100%; min-width: 300px; display: block; margin: auto;"></a>
32
- </p>
33
-
34
-
35
- 💪 **Versatile Agent Capability**: Athene-V2-Agent is an agent model, capable of operating in environments with deeply nested dependencies with the environment. It is capable of reasoning and doing planning for trajectories with many tool calls necessary to answer a single query.
36
-
37
- 📊 **Performance Highlights**: Athene-V2-Agent surpasses GPT-4o in single FC tasks by 18% in function calling success rates, and by 17% in Agentic success rates.
38
-
39
- 🔧 **Generalization to the Unseen**: Athene-V2-Agent has never been trained on the functions or agentic settings used in evaluation.
40
-
41
- - **Developed by:** The Nexusflow Team
42
- - **Model type:** Agent Model
43
- - **Finetuned from model:** [Qwen-2.5-72B-Intruct](https://huggingface.co/Qwen/Qwen2.5-72B-Instruct)
44
- - **License**: [Nexusflow Research License](https://huggingface.co/Nexusflow/Athene-V2-Agent/blob/main/Nexusflow_Research_License_.pdf)
45
- - **Blog**: https://nexusflow.ai/blogs/athene-v2
46
-
47
- ## Athene-V2-Agent Model Usage
48
-
49
- ### OpenAI-Compatible FC
50
-
51
- Athene-V2-Agent is usable in any OpenAI API-compatible environment using our VLLM docker image. This should be a simple "drop-in" replacement to any agentic or tool-use setting with our VLLM docker image.
52
-
53
- ```
54
- docker run --name athene-v2-agent \
55
- --runtime nvidia --gpus '"device=0,1,2,3,4,5,6,7"' \
56
- -v ~/.cache/huggingface:/root/.cache/huggingface \
57
- --env "HUGGING_FACE_HUB_TOKEN=<secret>" \
58
- -p <port>:8000 \
59
- --ipc=host \
60
- ghcr.io/nexusflowai/athene-v2-vllm:latest \
61
- --model Nexusflow/Athene-V2-Agent \
62
- --dtype=auto \
63
- --tensor-parallel-size=8 \
64
- --enable-auto-tool-choice \
65
- --tool-call-parser Athene-V2-Agent
66
- ```
67
-
68
- You can now submit any OpenAI-Compatible tool-use requests to the model by hitting the VLLM endpoint. Athene-V2-Agent will be able to issue tool calls that you can execute and return results for.
69
-
70
-
71
- **WARNING**: Athene-V2-Agent uses a *CUSTOM* prompting style that is baked into the custom docker image, as the executable calls are extracted from the model's generated planning. For best performance, please ensure to use the docker image above for Athene-V2-Agent, including when benchmarking the model. Using HuggingFace tokenizer's chat template will yield suboptimal results for Agent usecases. Please reach out to us on Discord if you run into any issues!
72
- ### Examples
73
-
74
- An example Weather agent for this can be found here: [Link](example/vllm_v2_weather_agent.py#L186-L193). This example includes handling Athene for queries that are answerable and not answerable by the current tools.
75
-
76
- An example extraction and RAG-Agent can be found here: [Link](example/vllm_v2_extraction_agent.py#L270-L284). This example includes handling RAG-based queries with a wikipedia tool.
77
-
78
- ### Prompting Tricks
79
-
80
- 1. When giving docstrings to Athene-V2-Agent, please provide well-indented, detailed, and well-written docstrings as this can help accuracy.
81
- 2. We strongly recommend using the docker image to interact with Athene-V2-Agent.
82
- 4. We strongly recommend to set sampling to False when prompting Athene-V2-Agent.
83
- 5. We strongly recommend a zero temperature.
84
- 6. Athene-V2-Agent is designed to work within systems, so it's tuned to be very controllable with the instructions specified in the tools, including for broad behaviors (like rejecting queries, or chatting)
85
-
86
- #### Handling Irrelevant Queries
87
- The Athene-V2-Agent model is strongly tuned to have its behavior be controllable with tools to make it easy to integrate into systems.
88
-
89
- Therefore, the model won't by default reject queries that are out of domain, as it will try its best to issue the most relevant call.
90
- However, when expecting irrelevant user queries and wanting the model to reject them, you can use a no-op function. For example, something like this would work:
91
-
92
- ```python
93
- {
94
- "type": "function",
95
- "function" : {
96
- "name": "no_relevant_function",
97
- "description": "Call this when no other provided function can be called to answer the user query.",
98
- "parameters": {
99
- "type": "object",
100
- "properties": {
101
- "user_query_span": {
102
- "type": "string",
103
- "description": "The part of the user_query that cannot be answered by any other function calls."
104
- }
105
- },
106
- "required": ["user_query_span"]
107
- }
108
- }
109
- }
110
- ```
111
- Please see the example [Link](example/vllm_v2_weather_agent.py) here for a demo of this.
112
-
113
- #### Handling Chat With FC
114
-
115
- Since Athene-V2-Agent model is strongly tuned to be controllable, so we wanted to ensure that it does not chat unless explicitly instructed to do so.
116
- You can do this by adding a `chat` tool, and allowing it to do so in the system prompt:
117
-
118
- ```python
119
- {
120
- "type": "function",
121
- "function": {
122
- "name": "chat",
123
- "description": "Call this tool when you want to chat with the user. The user won't see anything except for whatever you pass into this function. You can use this tool to ask for more information when insufficient information is presented, and to send the final results back to the user.",
124
- "parameters": {
125
- "type": "object",
126
- "properties": {
127
- "chat_string": {
128
- "type": "string",
129
- "description": "The chat message to send to the user to chat back to them.",
130
- }
131
- },
132
- "required": ["chat_string"],
133
- },
134
- },
135
- }
136
- ```
137
-
138
- And the following system prompt, as an example (but feel free to experiment to make Athene-V2-Agent behave the way you want it to!):
139
- ```python
140
- {"role" : "system", "content" : "You can use the chat tool to ask the user for more information, and to send the final results."},
141
- ```
142
-
143
- Please see the example [Link](example/weather_with_chat.py) here for a demo of this.
144
-
145
- ## Contact
 
 
 
 
 
 
 
 
 
 
 
 
146
  Please join our [Discord Channel](https://discord.gg/HDSVmNAs3y) to reach out for any issues and comments!
 
1
+ ---
2
+ license: other
3
+ language:
4
+ - zho
5
+ - eng
6
+ - fra
7
+ - spa
8
+ - por
9
+ - deu
10
+ - ita
11
+ - rus
12
+ - jpn
13
+ - kor
14
+ - vie
15
+ - tha
16
+ - ara
17
+ library_name: transformers
18
+ tags:
19
+ - RLHF
20
+ - Nexusflow
21
+ - Athene
22
+ - Function Calling
23
+ - Agent
24
+ - Extraction
25
+ base_model:
26
+ - Qwen/Qwen2.5-72B-Instruct
27
+ ---
28
+
29
+ # Athene-V2-Agent: Surpassing GPT-4o for Tool Use And Agentic Usecases
30
+ <p align="center">
31
+ <a href="https://huggingface.co/Nexusflow" target="_blank">Nexusflow HF</a> - <a href="https://discord.gg/HDSVmNAs3y" target="_blank">Nexusflow Discord</a> - <a href="https://nexusflow.ai/blogs/athene-v2" target="_blank">Athene-V2 Blogpost</a>
32
+ </p>
33
+
34
+ <p align="center" width="100%">
35
+ <a><img src="agent.png" alt="NexusRaven" style="width: 40%; min-width: 300px; display: block; margin: auto;"></a>
36
+ </p>
37
+
38
+ ## Introducing Athene-V2-Agent
39
+ Athene-V2-Agent is an open-source Agent LLM that surpasses the state-of-the-art in function calling and agentic capabilities.
40
+
41
+
42
+ <p align="center" width="100%">
43
+ <a><img src="benchmark.png" alt="Benchmark" style="width: 100%; min-width: 300px; display: block; margin: auto;"></a>
44
+ </p>
45
+
46
+
47
+ 💪 **Versatile Agent Capability**: Athene-V2-Agent is an agent model, capable of operating in environments with deeply nested dependencies with the environment. It is capable of reasoning and doing planning for trajectories with many tool calls necessary to answer a single query.
48
+
49
+ 📊 **Performance Highlights**: Athene-V2-Agent surpasses GPT-4o in single FC tasks by 18% in function calling success rates, and by 17% in Agentic success rates.
50
+
51
+ 🔧 **Generalization to the Unseen**: Athene-V2-Agent has never been trained on the functions or agentic settings used in evaluation.
52
+
53
+ - **Developed by:** The Nexusflow Team
54
+ - **Model type:** Agent Model
55
+ - **Finetuned from model:** [Qwen-2.5-72B-Intruct](https://huggingface.co/Qwen/Qwen2.5-72B-Instruct)
56
+ - **License**: [Nexusflow Research License](https://huggingface.co/Nexusflow/Athene-V2-Agent/blob/main/Nexusflow_Research_License_.pdf)
57
+ - **Blog**: https://nexusflow.ai/blogs/athene-v2
58
+
59
+ ## Athene-V2-Agent Model Usage
60
+
61
+ ### OpenAI-Compatible FC
62
+
63
+ Athene-V2-Agent is usable in any OpenAI API-compatible environment using our VLLM docker image. This should be a simple "drop-in" replacement to any agentic or tool-use setting with our VLLM docker image.
64
+
65
+ ```
66
+ docker run --name athene-v2-agent \
67
+ --runtime nvidia --gpus '"device=0,1,2,3,4,5,6,7"' \
68
+ -v ~/.cache/huggingface:/root/.cache/huggingface \
69
+ --env "HUGGING_FACE_HUB_TOKEN=<secret>" \
70
+ -p <port>:8000 \
71
+ --ipc=host \
72
+ ghcr.io/nexusflowai/athene-v2-vllm:latest \
73
+ --model Nexusflow/Athene-V2-Agent \
74
+ --dtype=auto \
75
+ --tensor-parallel-size=8 \
76
+ --enable-auto-tool-choice \
77
+ --tool-call-parser Athene-V2-Agent
78
+ ```
79
+
80
+ You can now submit any OpenAI-Compatible tool-use requests to the model by hitting the VLLM endpoint. Athene-V2-Agent will be able to issue tool calls that you can execute and return results for.
81
+
82
+
83
+ **WARNING**: Athene-V2-Agent uses a *CUSTOM* prompting style that is baked into the custom docker image, as the executable calls are extracted from the model's generated planning. For best performance, please ensure to use the docker image above for Athene-V2-Agent, including when benchmarking the model. Using HuggingFace tokenizer's chat template will yield suboptimal results for Agent usecases. Please reach out to us on Discord if you run into any issues!
84
+ ### Examples
85
+
86
+ An example Weather agent for this can be found here: [Link](example/vllm_v2_weather_agent.py#L186-L193). This example includes handling Athene for queries that are answerable and not answerable by the current tools.
87
+
88
+ An example extraction and RAG-Agent can be found here: [Link](example/vllm_v2_extraction_agent.py#L270-L284). This example includes handling RAG-based queries with a wikipedia tool.
89
+
90
+ ### Prompting Tricks
91
+
92
+ 1. When giving docstrings to Athene-V2-Agent, please provide well-indented, detailed, and well-written docstrings as this can help accuracy.
93
+ 2. We strongly recommend using the docker image to interact with Athene-V2-Agent.
94
+ 4. We strongly recommend to set sampling to False when prompting Athene-V2-Agent.
95
+ 5. We strongly recommend a zero temperature.
96
+ 6. Athene-V2-Agent is designed to work within systems, so it's tuned to be very controllable with the instructions specified in the tools, including for broad behaviors (like rejecting queries, or chatting)
97
+
98
+ #### Handling Irrelevant Queries
99
+ The Athene-V2-Agent model is strongly tuned to have its behavior be controllable with tools to make it easy to integrate into systems.
100
+
101
+ Therefore, the model won't by default reject queries that are out of domain, as it will try its best to issue the most relevant call.
102
+ However, when expecting irrelevant user queries and wanting the model to reject them, you can use a no-op function. For example, something like this would work:
103
+
104
+ ```python
105
+ {
106
+ "type": "function",
107
+ "function" : {
108
+ "name": "no_relevant_function",
109
+ "description": "Call this when no other provided function can be called to answer the user query.",
110
+ "parameters": {
111
+ "type": "object",
112
+ "properties": {
113
+ "user_query_span": {
114
+ "type": "string",
115
+ "description": "The part of the user_query that cannot be answered by any other function calls."
116
+ }
117
+ },
118
+ "required": ["user_query_span"]
119
+ }
120
+ }
121
+ }
122
+ ```
123
+ Please see the example [Link](example/vllm_v2_weather_agent.py) here for a demo of this.
124
+
125
+ #### Handling Chat With FC
126
+
127
+ Since Athene-V2-Agent model is strongly tuned to be controllable, so we wanted to ensure that it does not chat unless explicitly instructed to do so.
128
+ You can do this by adding a `chat` tool, and allowing it to do so in the system prompt:
129
+
130
+ ```python
131
+ {
132
+ "type": "function",
133
+ "function": {
134
+ "name": "chat",
135
+ "description": "Call this tool when you want to chat with the user. The user won't see anything except for whatever you pass into this function. You can use this tool to ask for more information when insufficient information is presented, and to send the final results back to the user.",
136
+ "parameters": {
137
+ "type": "object",
138
+ "properties": {
139
+ "chat_string": {
140
+ "type": "string",
141
+ "description": "The chat message to send to the user to chat back to them.",
142
+ }
143
+ },
144
+ "required": ["chat_string"],
145
+ },
146
+ },
147
+ }
148
+ ```
149
+
150
+ And the following system prompt, as an example (but feel free to experiment to make Athene-V2-Agent behave the way you want it to!):
151
+ ```python
152
+ {"role" : "system", "content" : "You can use the chat tool to ask the user for more information, and to send the final results."},
153
+ ```
154
+
155
+ Please see the example [Link](example/weather_with_chat.py) here for a demo of this.
156
+
157
+ ## Contact
158
  Please join our [Discord Channel](https://discord.gg/HDSVmNAs3y) to reach out for any issues and comments!