devanshamin commited on
Commit
5eb0bbd
1 Parent(s): 13c62eb

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +57 -10
README.md CHANGED
@@ -54,7 +54,57 @@ print(response)
54
  ### Basic
55
 
56
  ```python
 
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  ```
59
 
60
  ### Advanced
@@ -65,15 +115,6 @@ from enum import Enum
65
  from pydantic import BaseModel, Field # pip install pydantic
66
  from instructor.function_calls import openai_schema # pip install instructor
67
 
68
- def get_prompt(tool: str, user_input: str) -> str:
69
- system = "You are a helpful assistant with access to the following tools. Use them if required - \n```json\n{}\n```"
70
- messages = [
71
- {"role": "system", "content": system.format(tool)},
72
- {"role": "user", "content": 'Extract the information from the following - \n{}'.format(user_input)}
73
- ]
74
- prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
75
- return prompt
76
-
77
  # Define functions using pydantic classes
78
  class PaperCategory(str, Enum):
79
  TYPE_1_DIABETES = 'Type 1 Diabetes'
@@ -90,7 +131,13 @@ prompt = get_prompt(json.dumps(tool), input_text)
90
  output = inference(prompt)
91
  print(output)
92
  # ```json
93
- # {"name": "Classification", "arguments": {"label": "Type 1 Diabetes", "reason": "The study investigated the effect of vitamin D status and treatment with 1,25(OH)(2)D(3) on diabetes onset in non-obese diabetic (NOD) mice. It also concluded that vitamin D deficiency leads to an increase in diabetes incidence and that the addition of 1,25(OH)(2)D(3) can prevent diabetes onset in NOD mice."}}
 
 
 
 
 
 
94
  # ```
95
  # Extract JSON string using regex
96
  output = re.search(r'```json\s*(\{.*?\})\s*```', output).group(1)
 
54
  ### Basic
55
 
56
  ```python
57
+ import json
58
 
59
+ def get_prompt(tool: str, user_input: str) -> str:
60
+ system = "You are a helpful assistant with access to the following tools. Use them if required - \n```json\n{}\n```"
61
+ messages = [
62
+ {"role": "system", "content": system.format(tool)},
63
+ {"role": "user", "content": 'Extract the information from the following - \n{}'.format(user_input)}
64
+ ]
65
+ prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
66
+ return prompt
67
+
68
+ tool = {
69
+ "type": "function",
70
+ "function": {
71
+ "name": "get_company_info",
72
+ "description": "Correctly extracted company information with all the required parameters with correct types",
73
+ "parameters": {
74
+ "properties": {
75
+ "name": {"title": "Name", "type": "string"},
76
+ "investors": {
77
+ "items": {"type": "string"},
78
+ "title": "Investors",
79
+ "type": "array"
80
+ },
81
+ "valuation": {"title": "Valuation", "type": "string"},
82
+ "source": {"title": "Source", "type": "string"}
83
+ },
84
+ "required": ["investors", "name", "source", "valuation"],
85
+ "type": "object"
86
+ }
87
+ }
88
+ }
89
+ input_text = "Founded in 2021, Pluto raised $4 million across multiple seed funding rounds, valuing the company at $12 million (pre-money), according to PitchBook. The startup was backed by investors including Switch Ventures, Caffeinated Capital and Maxime Seguineau."
90
+ prompt = get_prompt(json.dumps(tool), input_text)
91
+ response = inference(prompt)
92
+ print(response)
93
+ # ```json
94
+ # {
95
+ # "name": "get_company_info",
96
+ # "arguments": {
97
+ # "name": "Pluto",
98
+ # "investors": [
99
+ # "Switch Ventures",
100
+ # "Caffeinated Capital",
101
+ # "Maxime Seguineau"
102
+ # ],
103
+ # "valuation": "pre-money $12M",
104
+ # "source": "PitchBook"
105
+ # }
106
+ # }
107
+ # ```
108
  ```
109
 
110
  ### Advanced
 
115
  from pydantic import BaseModel, Field # pip install pydantic
116
  from instructor.function_calls import openai_schema # pip install instructor
117
 
 
 
 
 
 
 
 
 
 
118
  # Define functions using pydantic classes
119
  class PaperCategory(str, Enum):
120
  TYPE_1_DIABETES = 'Type 1 Diabetes'
 
131
  output = inference(prompt)
132
  print(output)
133
  # ```json
134
+ # {
135
+ # "name": "Classification",
136
+ # "arguments": {
137
+ # "label": "Type 1 Diabetes",
138
+ # "reason": "The study investigated the effect of vitamin D status and treatment with 1,25(OH)(2)D(3) on diabetes onset in non-obese diabetic (NOD) mice. It also concluded that vitamin D deficiency leads to an increase in diabetes incidence and that the addition of 1,25(OH)(2)D(3) can prevent diabetes onset in NOD mice."
139
+ # }
140
+ # }
141
  # ```
142
  # Extract JSON string using regex
143
  output = re.search(r'```json\s*(\{.*?\})\s*```', output).group(1)