--- library_name: transformers tags: - LAM - tooluse - function calling license: mit datasets: - Salesforce/xlam-function-calling-60k --- # Model Card for Model ID ActionGemma is a LargeActionModel inspired from Salesforce/xLAM and trained on it's dataset. this is a combination of multi-lingual capabilities of Gemma with Function calling capabilites from xLAM dataset Now you have a Action /function calling Model for all the languages supported by gemma2 ## Model Details Base Model : Gemma2-9B-it Fine-Tuned on : xLAM dataset ### Model Description This is the model card of a ЁЯдЧ transformers model that has been pushed on the Hub. This model card has been automatically generated. - **Developed by:** KishoreK - **Funded by [optional]:** [More Information Needed] - **Shared by [optional]:** [More Information Needed] - **Model type:** [More Information Needed] - **Language(s) (NLP):** [More Information Needed] - **License:** [More Information Needed] - **Finetuned from model [optional]:** Gemma2-9B-it ### Model Sources [optional] - **Repository:** [More Information Needed] - **Paper [optional]:** [More Information Needed] - **Demo [optional]:** [More Information Needed] ## Uses ### Direct Use tokenizer in built have a chat template as follows ``` tokenizer = AutoTokenizer.from_pretrained("KishoreK/ActionGemma-9B") tokenizer.chat_template = """{{ bos_token }} {% for message in messages %} {% if message['role'] == 'tools' %} {{ '\n' + message['content'] + '\n'}} {% else %} {{ '' + message['role'] + '\n' + message['content'] | trim + '\n' }} {% endif %} {% endfor %} {% if add_generation_prompt %} {{ 'assistant\n' }} {% endif %} """ ``` you can utilise this or modify based on this syntax. ``` task_instruction = """ You are an expert in composing functions. You are given a question and a set of possible functions. Based on the question, you will need to make one or more function/tool calls to achieve the purpose. If none of the functions can be used, point it out and refuse to answer. If the given question lacks the parameters required by the function, also point it out. """.strip() get_weather_api = { "name": "get_weather", "description": "Get the current weather for a location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, New York" }, "unit": { "type": "string", "enum": ["celsius", "fahrenheit"], "description": "The unit of temperature to return" } }, "required": ["location"] } } search_api = { "name": "search", "description": "Search for information on the internet", "parameters": { "type": "object", "properties": { "query": { "type": "string", "description": "The search query, e.g. 'latest news on AI'" } }, "required": ["query"] } } openai_format_tools = [get_weather_api, search_api] def convert_to_xlam_tool(tools): '''''' if isinstance(tools, dict): return { "name": tools["name"], "description": tools["description"], "parameters": {k: v for k, v in tools["parameters"].get("properties", {}).items()} } elif isinstance(tools, list): return [convert_to_xlam_tool(tool) for tool in tools] else: return tools user_query = "рдЕрдореЗрд░рд┐рдХрд╛ рдХреЗ рд░рд╛рд╖реНрдЯреНрд░рдкрддрд┐ рдХреМрди рд╣реИ?" tools = openai_format_tools messages = [{ "role" : "system", "content" : task_instruction },{ "role" : "user", "content" : user_query },{ "role": "tools", "content": json.dumps(convert_to_xlam_tool(tools)) }] print(tokenizer.decode(tokenizer.apply_chat_template(messages, add_generation_prompt=True))) ``` sample response from applied chat template ``` system You are an expert in composing functions. You are given a question and a set of possible functions. Based on the question, you will need to make one or more function/tool calls to achieve the purpose. If none of the functions can be used, point it out and refuse to answer. If the given question lacks the parameters required by the function, also point it out. user рдЕрдореЗрд░рд┐рдХрд╛ рдХреЗ рд░рд╛рд╖реНрдЯреНрд░рдкрддрд┐ рдХреМрди рд╣реИ? [{"name": "get_weather", "description": "Get the current weather for a location", "parameters": {"location": {"type": "string", "description": "The city and state, e.g. San Francisco, New York"}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"], "description": "The unit of temperature to return"}}}, {"name": "search", "description": "Search for information on the internet", "parameters": {"query": {"type": "string", "description": "The search query, e.g. 'latest news on AI'"}}}] assistant ``` invoking model with this prompt ``` model = AutoModelForCausalLM.from_pretrained("KishoreK/ActionGemma-9B", use_cache=True) outputs = model.generate(inputs, max_new_tokens=512, do_sample=False, num_return_sequences=1, eos_token_id=tokenizer.eos_token_id) print(tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True)) ``` output for the question ``` [{"name": "search", "arguments": {"query": "US President"}}] ``` chat template, inference are referenced from xLAM documentation. [More Information Needed] ### Downstream Use [optional] [More Information Needed] ### Out-of-Scope Use [More Information Needed] ## Bias, Risks, and Limitations [More Information Needed] ### Recommendations Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. ## How to Get Started with the Model Use the code below to get started with the model. [More Information Needed] ## Training Details ### Training Data [More Information Needed] ### Training Procedure #### Preprocessing [optional] [More Information Needed] #### Training Hyperparameters - **Training regime:** [More Information Needed] #### Speeds, Sizes, Times [optional] [More Information Needed] ## Evaluation ### Testing Data, Factors & Metrics #### Testing Data [More Information Needed] #### Factors [More Information Needed] #### Metrics [More Information Needed] ### Results [More Information Needed] #### Summary ## Model Examination [optional] [More Information Needed] ## Environmental Impact Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). - **Hardware Type:** [More Information Needed] - **Hours used:** [More Information Needed] - **Cloud Provider:** [More Information Needed] - **Compute Region:** [More Information Needed] - **Carbon Emitted:** [More Information Needed] ## Technical Specifications [optional] ### Model Architecture and Objective [More Information Needed] ### Compute Infrastructure [More Information Needed] #### Hardware [More Information Needed] #### Software [More Information Needed] ## Citation [optional] **BibTeX:** [More Information Needed] **APA:** [More Information Needed] ## Glossary [optional] [More Information Needed] ## More Information [optional] [More Information Needed] ## Model Card Authors [optional] [More Information Needed] ## Model Card Contact email : Kishorekunisetty123@gmail.com