|
--- |
|
language: |
|
- en |
|
license: apache-2.0 |
|
library_name: transformers |
|
tags: |
|
- python |
|
- java |
|
- cpp |
|
- sql |
|
- function calling |
|
- unit tests |
|
- causalLM |
|
- codeLLAMA modified archi |
|
- document |
|
- code |
|
- code2doc |
|
- instruction_tuned |
|
- basemodel |
|
- pytorch |
|
- docstring |
|
- documentation |
|
- text-generation-inference |
|
metrics: |
|
- accuracy |
|
pipeline_tag: text-generation |
|
widget: |
|
- text: '<example_response>--code:def function_divide2(x): return x / 2--question:Document the code--doc:Description:This function takes a number and divides it by 2.Parameters:- x (numeric): The input value to be divided by 2.Returns:- float: The result of x divided by 2.Example:To call the function, use the following code:function_divide2(1.0)</example_response><function_code>def _plot_bounding_polygon(polygons_coordinates, output_html_path=bounding_polygon_map.html):map_center = [sum([coord[0]for polygon_coords in polygons_coordinatesfor coord in polygon_coords])/ sum([len(polygon_coords) for polygon_coords in polygons_coordinates]),sum([coord[1]for polygon_coords in polygons_coordinatesfor coord in polygon_coords])/ sum([len(polygon_coords) for polygon_coords in polygons_coordinates]),]my_map = folium.Map(location=map_center, zoom_start=12)for polygon_coords in polygons_coordinates:folium.Polygon(locations=polygon_coords,color=blue,fill=True,fill_color=blue,fill_opacity=0.2,).add_to(my_map)marker_cluster = MarkerCluster().add_to(my_map)for polygon_coords in polygons_coordinates:for coord in polygon_coords:folium.Marker(location=[coord[0], coord[1]], popup=fCoordinates: {coord}).add_to(marker_cluster)draw = Draw(export=True)draw.add_to(my_map)my_map.save(output_html_path)return output_html_path</function_code><question>Document the python code above giving function description ,parameters and return type and example how to call the function</question><doc>' |
|
example_title: example |
|
--- |
|
# pip-library-etl-1.3b |
|
|
|
[pipableAi](https://www.pipable.ai/) |
|
|
|
[colab_notebook](https://colab.research.google.com/drive/10av3SxFf0Psx_IkmZbcUhiVznStV5pVS?usp=sharing) |
|
|
|
[pipflow](https://github.com/PipableAI/pipflow) |
|
|
|
[linkedin_post]() |
|
|
|
[reddit_post]() |
|
|
|
|
|
## Objective |
|
|
|
|
|
 |
|
|
|
|
|
Given a goal and tools can Ai intelligently use the tools to reach the goal ? |
|
What if it has a meagre 1.3b params/neurons akin to that of an owl ? |
|
Can it follow instructions and plan to reach a goal ? |
|
Apparently it can. |
|
Releasing `pip-code-bandit` and `pipflow` |
|
-- a model and a library to manage and run goal oriented agentic system. |
|
|
|
|
|
## Model attributes |
|
|
|
```javascript |
|
-- number of params ~ 1.3b [2.9 Gb GPU memory footprint] |
|
-- sequence length ~ 16.3k [Can go higher but will show performance degradation] |
|
-- license - apache 2.0 |
|
-- tasks: |
|
1. complex planning of sequential function calls with right params to accomplish a goal | a list of callables |
|
2. function calling | doc or code and goal |
|
3. code generation | plan and goal |
|
4. code generation | goal |
|
5. doc generation | code |
|
6. code generation | doc |
|
7. file recreated in json | any raw data |
|
8. corrected generation | new instruction with error |
|
|
|
-- instruction following , RL tuned. |
|
``` |
|
|
|
|
|
## How we built it? |
|
|
|
We used a simulator to simulate environments where the model could play games to achieve goals, given a set of actions available to it. |
|
All the model could do was find the right action and config to incur positive reward. |
|
The reward policy is around the concept of model going to a stable state of zero net sum reward for both good and bad behaviour. |
|
In this set up the model, which was pre trained on code , function documentation and similar OS datasets ,was RL tuned for instruction following and reliability. |
|
|
|
## License |
|
```bash |
|
complete open sourced - apache 2.0. License |
|
``` |
|
|
|
## Usage |
|
|
|
|
|
### NOTE: |
|
|
|
|
|
|
|
### Library use |
|
|
|
For directly using the capabilities of model without putting extra efforts on schems and prompts try to use [pipflow](https://github.com/PipableAI/pipflow). |
|
|
|
For detailed usage refer to the [colab_notebook](https://colab.research.google.com/drive/10av3SxFf0Psx_IkmZbcUhiVznStV5pVS?usp=sharing) |
|
|
|
|
|
|
|
### Model Use |
|
|
|
```bash |
|
pip install transformers |
|
pip install accelerate |
|
``` |
|
|
|
```python |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
from accelerate import Accelerator |
|
model =AutoModelForCausalLM.from_pretrained("PipableAI/pip-code-bandit",torch_dtype=torch.bfloat16,device_map="auto") |
|
tokenizer = tokenizer = AutoTokenizer.from_pretrained("PipableAI/pip-code-bandit") |
|
|
|
inputs = tokenizer(prompt, return_tensors="pt").to("cuda") |
|
outputs = model.generate(**inputs, max_new_tokens=new_tokens,) |
|
out = ( |
|
tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True) |
|
) |
|
``` |
|
|
|
|
|
### Prompt |
|
|
|
|
|
|
|
|
|
### Team |
|
|
|
```doc |
|
Avi Kothari, Gyan Ranjan, Pratham Gupta, Ritvik Aryan Kalra, Soham Acharya |
|
``` |