Akinkunle Akinola commited on
Commit
6d9813e
·
1 Parent(s): 1e027e5

Add application file

Browse files
Files changed (4) hide show
  1. app.py +151 -0
  2. chainlit.md +3 -0
  3. data/OsioLabs_Data.csv +561 -0
  4. requirements.txt +7 -0
app.py ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import chainlit as cl
2
+ import langchain
3
+ # from langchain.indexes import VectorstoreIndexCreator
4
+ from langchain.document_loaders import TextLoader, CSVLoader, JSONLoader
5
+ from langchain.text_splitter import CharacterTextSplitter
6
+ from langchain.vectorstores import Chroma
7
+ import os
8
+ from langchain.embeddings import OpenAIEmbeddings
9
+ from langchain.prompts import PromptTemplate
10
+ # from langchain.chains import RetrievalQA
11
+ # from langchain.llms import OpenAI
12
+ from langchain.chat_models import ChatOpenAI
13
+ import openai
14
+ from getpass import getpass
15
+ from langchain.embeddings import OpenAIEmbeddings
16
+ from langchain.text_splitter import RecursiveCharacterTextSplitter
17
+ from langchain.prompts import ChatPromptTemplate
18
+ from operator import itemgetter
19
+
20
+ from langchain.chat_models import ChatOpenAI
21
+ from langchain.schema.output_parser import StrOutputParser
22
+ from langchain.schema.runnable import RunnableLambda, RunnablePassthrough
23
+ # At the beginning of your script, add logging to get more detailed error messages
24
+ import logging
25
+ logging.basicConfig(level=logging.DEBUG)
26
+
27
+ # ... rest of your code
28
+
29
+
30
+ # Set the OpenAI key
31
+ os.environ["OPENAI_API_KEY"] = "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"
32
+ openai.api_key = os.environ["OPENAI_API_KEY"]
33
+ # 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
34
+ from langchain.prompts import ChatPromptTemplate
35
+
36
+ template = """
37
+ Please act as a professional and polite HR assistant for "Osio Labs" company. You are responsible to answer the questions from documents provided.
38
+ You are to reply in this format: "Provide a detailed explanation of the answer based on the context provided without
39
+ omitting any important information including the github LINK provided in the data.
40
+
41
+ If you don't know the question being asked, please say I don't understand your question,
42
+ can you rephrase it please?
43
+
44
+ Context:
45
+ {context}
46
+
47
+ Question:
48
+ {question}
49
+ """
50
+ # load documents
51
+ loader = CSVLoader("data/OsioLabs_Data.csv", encoding="cp1252")
52
+ documents = loader.load()
53
+
54
+ # Vector DB
55
+ text_splitter = RecursiveCharacterTextSplitter(chunk_size=250)
56
+ docs = text_splitter.split_documents(documents)
57
+ vectorstore = Chroma.from_documents(docs, OpenAIEmbeddings())
58
+ prompt = ChatPromptTemplate.from_template(template)
59
+
60
+ retriever = vectorstore.as_retriever(search_kwargs={"k":2})
61
+ # Initialize OpenAI Chat Model
62
+ primary_qa_llm = ChatOpenAI(model_name="gpt-4", temperature=0.5)
63
+
64
+ retrieval_augmented_qa_chain = (
65
+ # INVOKE CHAIN WITH: {"question" : "<<SOME USER QUESTION>>"}
66
+ # "question" : populated by getting the value of the "question" key
67
+ # "context" : populated by getting the value of the "question" key and chaining it into the base_retriever
68
+ {"context": itemgetter("question") | retriever, "question": itemgetter("question")}
69
+ # "context" : is assigned to a RunnablePassthrough object (will not be called or considered in the next step)
70
+ # by getting the value of the "context" key from the previous step
71
+ | RunnablePassthrough.assign(context=itemgetter("context"))
72
+ # "response" : the "context" and "question" values are used to format our prompt object and then piped
73
+ # into the LLM and stored in a key called "response"
74
+ # "context" : populated by getting the value of the "context" key from the previous step
75
+ | {"response": prompt | primary_qa_llm, "context": itemgetter("context")}
76
+ )
77
+
78
+ # Set up the Chainlit UI
79
+
80
+ @cl.on_chat_start
81
+ def start_chat():
82
+ settings = {
83
+ "model": "gpt-4",
84
+ "temperature": 0,
85
+ # ... other settings
86
+ }
87
+ cl.user_session.set("settings", settings)
88
+
89
+ @cl.on_message
90
+ async def main(message: str):
91
+
92
+ # Here, adapt the logic to use your retrieval_augmented_qa_chain and ChatOpenAI model
93
+
94
+ try:
95
+ # Extract the content from the message object
96
+ user_query = message.content if hasattr(message, 'content') else str(message)
97
+ print(f"Received message: {user_query}")
98
+ # Adapt this part to use your retrieval_augmented_qa_chain
99
+ # For example:
100
+ chain_input = {"question": user_query}
101
+ chain_output = retrieval_augmented_qa_chain.invoke(chain_input) # Remove await
102
+
103
+ if chain_output and "response" in chain_output:
104
+ response_content = chain_output["response"].content
105
+ else:
106
+ response_content = "No response generated."
107
+
108
+ except Exception as e:
109
+ response_content = f"Error occurred: {str(e)}"
110
+ print(f"Error: {str(e)}") # Debugging
111
+
112
+ # Send a response back to the user
113
+ await cl.Message(content = response_content).send()
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+ # cl.title("HR Assistant Chatbot")
122
+ # user_question = cl.text_input("Enter your question:")
123
+ # if user_question:
124
+ # response = main(user_question)
125
+ # cl.text_area("Response:", response, height=300)
126
+
127
+
128
+ # @cl.on_message
129
+ # async def main(message: str):
130
+ # # Here, adapt the logic to use your retrieval_augmented_qa_chain and ChatOpenAI model
131
+
132
+ # try:
133
+ # # Extract the content from the message object
134
+ # user_query = message.text if hasattr(message, 'text') else str(message)
135
+ # print(f"Received message: {user_query}")
136
+ # # Adapt this part to use your retrieval_augmented_qa_chain
137
+ # # For example:
138
+ # chain_input = {"question": user_query}
139
+ # chain_output = retrieval_augmented_qa_chain.invoke(chain_input) # Remove await
140
+
141
+ # if chain_output and "response" in chain_output:
142
+ # response_content = chain_output["response"]
143
+ # else:
144
+ # response_content = "No response generated."
145
+
146
+ # except Exception as e:
147
+ # response_content = f"Error occurred: {str(e)}"
148
+ # print(f"Error: {str(e)}") # Debugging
149
+
150
+ # # Send a response back to the user
151
+ # await cl.Message(content=response_content).send()
chainlit.md ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ # Beyond ChatGPT
2
+
3
+ This Chainlit app was created following instructions from [this repository!](https://github.com/AI-Maker-Space/Beyond-ChatGPT)
data/OsioLabs_Data.csv ADDED
@@ -0,0 +1,561 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ title,text,link,
2
+ Personal Education Budget,"Each full-time employee will have $1000 per year to spend on educational needs or $500 per year for part-time employees. This can include books, event registrations, online courses, local workshops, college courses, etc. Education expenses must be related to your job in some way in order for us to provide this benefit in a non-taxable way for you. The budget will expire and restart at the beginning of each year. If you do not use the entire $1000, then any remaining balance will be zeroed out and a new $1000 budget will take its place.
3
+
4
+ In addition to this internal budget, U.S. employees may also have access to Insperity�s Education Assistance Program:
5
+
6
+ Eligible employees may be reimbursed for qualifying educational expenses as follows:
7
+
8
+ Up to a maximum of $1,500 per calendar year for approved undergraduate or graduate college courses taken as part of an employee�s degree program at an accredited institution.
9
+ Up to a maximum of $500 per calendar year for approved continuing educational expenses (including courses taken at an accredited trade or vocational school, business school or through a professional association).
10
+ Total combined reimbursement of $1,500 per calendar year for all educational assistance received under this program. Link: https://github.com/OsioLabs/emphandbook/blob/main/03benefits/06education.md
11
+ If you wish to travel for educational purposes, see the Travel Budgets section of this handbook.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/06education.md,
12
+ Personal Coaching Budget,"Each full-time employee will have $2400 per year to spend on professional coaching services (e.g. executive coach, career coach, life coach, etc.) Professional coaching services must be related to your personal and professional goals in the workplace or community at-large. (Note: this budget doesn't cover mental health-related therapy, which is covered under our medical health plan.)",,emphandbook/03benefits/06education.md at main � OsioLabs/emphandbook (github.com)
13
+ Travel Budgets,"Travel budgets are to be used to pay for transportation, lodging, and food (not event registration). There are 3 categories of travel budgets available:
14
+
15
+ Marketing and Sales: This is used for marketing goal travel, like an event with a booth or table. This is also available for team members who are speaking, volunteering, or participating in ways other than just attending an event.
16
+ Continuing Education (CE): This is used to send team members to events or workshops that are for educational purposes, as opposed to marketing.
17
+ Admin/Internal: This is used for our team retreats and sprints.
18
+ The Marketing and CE budgets are both shared pools of money with a fixed total budget per year (not per person). When you wish to have the company pay for travel, you will need to submit a request to the team which includes the budget to draw from, the estimated cost, and the benefit the trip will provide for you and the company. Most educational travel will also require some kind of �deliverable� after travel. This can be sharing notes of things learned, writing a blog post for the site, or something else determined before travel.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/07travel_budget.md,
19
+ Flight upgrades,"We can travel a lot, depending on roles and needs. Osio Labs will cover a seat upgrade if it's needed to make your trip more comfortable, up to $75 for domestic travel and up to $150 for international travel. We trust that each person can decide when it is appropriate to upgrade, and we generally do not expect people to use upgrades for every flight.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/08other_benefits.md,
20
+ Activity tracker,"Osio Labs provides each employee with an activity tracker (FitBit, Garmin Vivo, Misfit, etc.). We do a lot of sitting at Osio Labs so we want to encourage everyone to get out and stretch your legs. To get your device of choice, contact the CEO.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/08other_benefits.md,
21
+ Pay and Hours,"An employee's salary is negotiated at the time of hiring, and any significant changes to this base salary outside of the annual increases outlined below are based on conversations between the employee and CEO. You are expected to work 32 hours per week. The default schedule is to work four 8-hour days each week. (We follow this schedule as long as our business needs are met. There may be times we need to temporarily increase weekly hours or shift back to a 40-hour work week. This kind of decision will be decided as a team and with plenty of advance notice to adjust schedules.)",emphandbook/03benefits/01pay.md at main � OsioLabs/emphandbook (github.com),
22
+ Annual salary increases,"Regular salary adjustments are based on annual performance reviews conducted on or near your original hire date anniversary. Salary increases are solely at the discretion of the CEO and are not guaranteed. Typically, for employees who are performing up to expectations, you will get an increase that is based on a percentage of your existing base salary, in line with average U.S. increase rates and that will normally match or exceed the standard U.S. SSA Cost of Living Adjustment (COLA) rate for the current year.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/01pay.md,
23
+ Paydays,"U.S. employees are paid on a semi-monthly basis (the 15th and last day of each month). Danish employees are paid on the last day of each month. In the event that a regularly scheduled payday falls on a weekend, employees will be paid on the business day preceding the weekend, unless otherwise required by state or national law.
24
+
25
+ Osio Labs pays its employees via direct deposit by default, but if you prefer to receive physical checks this is an option for U.S. employees. You will be provided with log-in information to view your pay stubs and tax information online. If you would like to have your pay stubs mailed to you, contact the CEO and/or Insperity.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/01pay.md,
26
+ Payroll deductions,"Osio Labs makes deductions from employee pay only in circumstances permitted by applicable law. This includes, but is not limited to, mandatory deductions for income tax withholding, social security and medical system contributions, as well as voluntary deductions for health insurance premiums, pension plans and other related contributions.
27
+
28
+ If you believe that an improper deduction has been made from your pay, raise the issue with the CEO immediately, who will promptly investigate. If the investigation reveals that you were subjected to an improper deduction from pay, you will be reimbursed promptly.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/01pay.md,
29
+ Leave,"We provide many forms for leave from work. This breaks it all down.
30
+
31
+ Paid time off
32
+ There are multiple forms of paid days off. Vacation time and personal days (PD) are for the employee to choose, while conference days are used for specific events.
33
+
34
+ Paid time off is paid at your base pay rate at the time of the absence. It does not include overtime or any special forms of compensation such as incentives, commissions, or bonuses. It may be used in minimum increments of one-half day. Employees with an unexpected need (i.e. sudden illness or emergency) for a personal day should notify the CEO as early as possible.
35
+
36
+ Work-related accidents and illness are covered by Workers' Compensation Insurance, pursuant to the requirements of the laws in the U.S. state(s) in which Osio Labs operates. The paid time off policy outlined here does not apply to those illnesses or injuries that are covered by an applicable Workers' Compensation policy.
37
+
38
+ Vacation
39
+ All full-time employees in the company receive 5 weeks (25 days or 200 hours) of paid vacation time. This is intended to only be truly used for vacations (see PD below for things like sick leave). You earn 2.083 days (16.67 hours) of vacation for each month you have worked. Vacation time is ""use it or lose it."" You must use all 25 days by the end of the calendar year. If you were to leave the company at any time during the year you could either be entitled to a payout of the vacation you earned but did not use, or a withholding if you used more vacation than you had accrued.
40
+
41
+ Part-time employees receive half the amount of leave in total hours (100 instead of 200), which provides 5 weeks (25 4-hour days) of paid vacation time.
42
+
43
+ Sick and Safe leave
44
+ All employees have a minimum of 10 days of sick leave per year (80 hours for full-time and 40 hours for part-time employees). This leave is immediately available upon hiring and at the start of every calendar year. Unused sick hours do not carry over and are not paid in the event of separation from employment. Sick and safe time may be used for your own, your family member�s or your household member�s health or safety needs, or including but not limited to purposes relating to being a victim of domestic violence, sexual assault or stalking, as intended to comply with Minneapolis Sick and Safe Time Ordinance as well as Oregon�s sick leave law. Sick and safe time may also be used for reasons covered under Oregon�s Family Leave Act. Paid sick and safe time may also be used for purposes relating to a business closure due to a public health emergency or to caring for a family or household member during an emergency, or an unexpected closure of their school or place of care, including due to inclement weather.
45
+
46
+ Personal days (PD)
47
+ Personal days are used for the ""un-fun"" things in life that are not covered by the above Sick and Safe policy. You may use PD time for things like household emergencies, moving, and in the event that you use all of your Sick and Safe time in a year. If you need more than 2 consecutive days of PD, or if you are not sure if something is appropriate for PD time, you should talk with the CEO. There is no set limit to these days but usage is tracked, just like vacation and sick days are, and they are allowed at the discretion of the CEO.
48
+
49
+ Conference days
50
+ When you are attending a work-related conference or event, you are considered out of the office (OOO) on business travel, but you are expected to check, and be responsive to, email at least twice a day. If you don�t wish to check email or deal with any work-related issues during the conference, you can use vacation time to be fully OOO.
51
+
52
+ Holidays
53
+ We offer everyone 11 paid holidays. To enable everyone to celebrate with their friends and family, we recognize the public holidays that are specific to where our employees live and work. Employees are able to switch any of their holidays to another day if needed. To switch out holidays, please email your request to the team.
54
+
55
+ Company-wide
56
+ New Year�s Day/Nyt�r - January 1
57
+ Juneteenth/Frig�relse - June 19
58
+ Christmas Eve/Juleaften - December 24
59
+ Christmas Day/Juledag - December 25
60
+ United States
61
+ Martin Luther King, Jr. Day - third Monday in January
62
+ Presidents Day - third Monday in February
63
+ Memorial Day - fourth Monday in May
64
+ Independence Day - July 4
65
+ Labor Day - first Monday in September
66
+ Thanksgiving Day - fourth Thursday in November
67
+ Black Friday - fourth Friday in November
68
+ Denmark
69
+ P�skeuge - Thursday, Friday, and Monday around Easter Sunday
70
+ Storebededag - fourth Friday after Easter
71
+ Kristihimmelfartsdag - 39 days after Easter
72
+ Pinsedag - 7 weeks after Easter
73
+ Anden Juledag - December 26
74
+ Flexible work week
75
+ You are always able to take advantage of flex time by lengthening or shortening individual days to accommodate your workload and external needs. You just need to communicate alterations to your normal work times to the team as they occur.
76
+
77
+ In addition to regular flex time, you may also opt to choose a different structure to your regular, recurring work week. For instance, you could choose to work longer days (10 hours per day) Monday�Thursday and then have every Friday off. Any structural changes to your work week need to be discussed with the team and will still need to accommodate being present for regular phone calls and other regular weekly obligations.
78
+
79
+ Parental leave
80
+ Welcoming a new child to your home is an amazing and joyous occasion! We would like to support you by providing additional time to bond with your new child, adjust to a new home life, and balance your professional obligations.
81
+
82
+ Parental leave is available for both the birth of your own child and the placement of a child due to adoption or foster care. This policy will run concurrently with the legal requirements of each country, with the U.S. Family Medical Leave Act (FMLA) for U.S. employees. At the end of your leave, you will return to your job or an equivalent with the same salary, benefits, working conditions and seniority.
83
+
84
+ Employees who have been with the company for six months or more are eligible for the following:
85
+
86
+ Six weeks time off, fully paid
87
+ Six weeks additional time off, unpaid
88
+ Vacation can be used in place of any unpaid leave
89
+ If both parents are employees of Osio Labs, they are limited to a combined total of 12 weeks leave.
90
+ You must notify the CEO of your desire to use this leave, and formulate a plan for the days you will take off, a minimum of 60 days prior to the planned arrival date so that we can plan accordingly.
91
+
92
+ Bereavement leave
93
+ Bereavement leave provides paid time off for eligible employees in the event of a death in their immediate family. An immediate family member for purposes of our bereavement leave policy includes the following:
94
+
95
+ Spouse or Live-in life partner
96
+ Child (including foster children and step-children)
97
+ Parent (including legal guardian and step-parent)
98
+ In-laws (including mother- and father-in-laws and brother- and sister-in-laws)
99
+ Grandparent
100
+ Grandchild
101
+ Sibling
102
+ Eligible employees are entitled to 3 days paid time off for a death in the immediate family. Osio Labs understands the deep impact that death can have on an individual or a family. Therefore, additional unpaid time off may be granted at the company's discretion. Such arrangements must be approved by the CEO.
103
+
104
+ All employees may take up to 1 day off with pay to attend the funeral of a close, non-family member. This time off will be considered by the CEO on a case-by-case basis.
105
+
106
+ To be eligible for paid time off for bereavement, employees should notify the CEO at the earliest opportunity so that the CEO can arrange coverage for the employee's absence.
107
+
108
+ Paid sabbatical leave
109
+ We offer sabbatical leave as a benefit to encourage our employees to innovate, gain knowledge, and pursue their interests (e.g. volunteer, travel, research, write). It�s one way to reward employees who have been working with us for a long time. We also want to encourage them to rejuvenate and develop their skills. This type of leave is separate from vacation and personal days.
110
+
111
+ This policy applies to all employees who have been working for our company for at least 7 years. We offer eligible employees 5 weeks of paid leave after their first 7 years of working for our company. You will be eligible to take sabbaticals every 7 years until you retire. Sabbatical leave can be combined with vacation leave to extend time.
112
+
113
+ Sabbatical leave can�t be accrued. You must use your 5 weeks within 1 year of the anniversary that triggers the benefit. You must also use all 5 weeks consecutively. You must request your leave dates at least 3 months before you plan to take your sabbatical. Submit leave requests to the CEO.
114
+
115
+ While you are on a sabbatical leave, your employment status, contract, and benefits (e.g. health insurance, PEX accrual) remain intact.
116
+
117
+ Jury duty
118
+ Osio Labs encourages employees to fulfill their civic responsibilities by serving jury duty when required. Osio Labs will pay regular salary for the first 3 days of jury duty, and after that jury duty will be paid only if required by applicable state or national law.
119
+
120
+ If requested, we will work with the employee to determine an appropriate strategy for compensation during jury duty. Solutions may include the use of PD, an unpaid leave of absence, 50% pay, or some combination.
121
+
122
+ Please be sure to communicate your jury duty requirements with the CEO as they arise.
123
+
124
+ Military leave
125
+ Osio Labs grants employees time off of work for service in the uniformed services in accordance with the U.S. Uniformed Services Employment and Reemployment Rights Act (USERRA).
126
+
127
+ All employees requesting time off for military service must provide advance notice of military service to the CEO, unless military necessity prevents such notice or it is otherwise impossible or unreasonable. Continuation of health insurance benefits is available during military leave subject to the terms and conditions of the group health plan and applicable law.
128
+
129
+ Employees are eligible for reemployment for up to five (5) years from the date their military leave began. The period an individual has to make application for reemployment or report back to work after military service is based on time spent on military duty. For service of fewer than 31 days, the service member must return at the beginning of the next regularly scheduled work period on the first full day after release from service, taking into account safe travel home plus an eight-hour rest period. For service of more than 30 days but fewer than 181 days, the service member must submit an application for reemployment within 14 days of release from service. For service of more than 180 days, an application for reemployment must be submitted within 90 days of release from service.
130
+
131
+ Employees who qualify for reemployment will return to active employment at a pay level and status equal to that which they would have attained had they not entered military service. They will be treated as though they were continuously employed for purposes of determining benefits based on length of service.
132
+
133
+ Questions regarding this policy should be directed to the CEO.
134
+
135
+ Unpaid leave
136
+ All regular employees employed for a minimum of 90 days are eligible to apply for an unpaid personal leave of absence. Employees must exhaust all paid time off before taking unpaid leave. To apply, you should submit a request in writing to the CEO. Requests for unpaid personal leave may be denied or granted for any reason. Osio Labs reserves the right to terminate employment for any reason during the leave of absence.
137
+
138
+ The employee is required to return from the unpaid leave on the originally scheduled return date. If the employee is unable to return, he or she must request an extension of the leave in writing. If and extension of leave is declined, the employee must then return to work on the originally scheduled return date or be considered to have voluntarily resigned from his or her employment.
139
+
140
+ Effect on benefits
141
+ During unpaid leave current coverage will automatically continue for 6 weeks for Medical, Dental, Vision, Life, and Disability benefits. Beyond 6 weeks of unpaid leave, the employee may choose to continue coverage by paying the full premium amount or discontinue coverage.
142
+
143
+ During unpaid leave there is no accrual of paid days off (e.g. vacation) or tech stipend (PEX), holidays are not paid, and continuing education benefits are suspended. Time while on leave is counted as service credit in determining eligibility for those benefits that are dependent upon length of service.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
144
+ Paid time off,"There are multiple forms of paid days off. Vacation time and personal days (PD) are for the employee to choose, while conference days are used for specific events.
145
+
146
+ Paid time off is paid at your base pay rate at the time of the absence. It does not include overtime or any special forms of compensation such as incentives, commissions, or bonuses. It may be used in minimum increments of one-half day. Employees with an unexpected need (i.e. sudden illness or emergency) for a personal day should notify the CEO as early as possible.
147
+
148
+ Work-related accidents and illness are covered by Workers' Compensation Insurance, pursuant to the requirements of the laws in the U.S. state(s) in which Osio Labs operates. The paid time off policy outlined here does not apply to those illnesses or injuries that are covered by an applicable Workers' Compensation policy.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
149
+ Vacation,"All full-time employees in the company receive 5 weeks (25 days or 200 hours) of paid vacation time. This is intended to only be truly used for vacations (see PD below for things like sick leave). You earn 2.083 days (16.67 hours) of vacation for each month you have worked. Vacation time is ""use it or lose it."" You must use all 25 days by the end of the calendar year. If you were to leave the company at any time during the year you could either be entitled to a payout of the vacation you earned but did not use, or a withholding if you used more vacation than you had accrued.
150
+
151
+ Part-time employees receive half the amount of leave in total hours (100 instead of 200), which provides 5 weeks (25 4-hour days) of paid vacation time.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
152
+ Sick and Safe leave,"All employees have a minimum of 10 days of sick leave per year (80 hours for full-time and 40 hours for part-time employees). This leave is immediately available upon hiring and at the start of every calendar year. Unused sick hours do not carry over and are not paid in the event of separation from employment. Sick and safe time may be used for your own, your family member�s or your household member�s health or safety needs, or including but not limited to purposes relating to being a victim of domestic violence, sexual assault or stalking, as intended to comply with Minneapolis Sick and Safe Time Ordinance as well as Oregon�s sick leave law. Sick and safe time may also be used for reasons covered under Oregon�s Family Leave Act. Paid sick and safe time may also be used for purposes relating to a business closure due to a public health emergency or to caring for a family or household member during an emergency, or an unexpected closure of their school or place of care, including due to inclement weather.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
153
+ Personal days (PD),"Personal days are used for the ""un-fun"" things in life that are not covered by the above Sick and Safe policy. You may use PD time for things like household emergencies, moving, and in the event that you use all of your Sick and Safe time in a year. If you need more than 2 consecutive days of PD, or if you are not sure if something is appropriate for PD time, you should talk with the CEO. There is no set limit to these days but usage is tracked, just like vacation and sick days are, and they are allowed at the discretion of the CEO.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
154
+ Conference days,"When you are attending a work-related conference or event, you are considered out of the office (OOO) on business travel, but you are expected to check, and be responsive to, email at least twice a day. If you don�t wish to check email or deal with any work-related issues during the conference, you can use vacation time to be fully OOO.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
155
+ Holidays,"We offer everyone 11 paid holidays. To enable everyone to celebrate with their friends and family, we recognize the public holidays that are specific to where our employees live and work. Employees are able to switch any of their holidays to another day if needed. To switch out holidays, please email your request to the team.
156
+
157
+ Company-wide
158
+ New Year�s Day/Nyt�r - January 1
159
+ Juneteenth/Frig�relse - June 19
160
+ Christmas Eve/Juleaften - December 24
161
+ Christmas Day/Juledag - December 25
162
+ United States
163
+ Martin Luther King, Jr. Day - third Monday in January
164
+ Presidents Day - third Monday in February
165
+ Memorial Day - fourth Monday in May
166
+ Independence Day - July 4
167
+ Labor Day - first Monday in September
168
+ Thanksgiving Day - fourth Thursday in November
169
+ Black Friday - fourth Friday in November
170
+ Denmark
171
+ P�skeuge - Thursday, Friday, and Monday around Easter Sunday
172
+ Storebededag - fourth Friday after Easter
173
+ Kristihimmelfartsdag - 39 days after Easter
174
+ Pinsedag - 7 weeks after Easter
175
+ Anden Juledag - December 26",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
176
+ Flexible work week,"You are always able to take advantage of flex time by lengthening or shortening individual days to accommodate your workload and external needs. You just need to communicate alterations to your normal work times to the team as they occur.
177
+
178
+ In addition to regular flex time, you may also opt to choose a different structure to your regular, recurring work week. For instance, you could choose to work longer days (10 hours per day) Monday�Thursday and then have every Friday off. Any structural changes to your work week need to be discussed with the team and will still need to accommodate being present for regular phone calls and other regular weekly obligations.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
179
+ Parental leave,"Welcoming a new child to your home is an amazing and joyous occasion! We would like to support you by providing additional time to bond with your new child, adjust to a new home life, and balance your professional obligations.
180
+
181
+ Parental leave is available for both the birth of your own child and the placement of a child due to adoption or foster care. This policy will run concurrently with the legal requirements of each country, with the U.S. Family Medical Leave Act (FMLA) for U.S. employees. At the end of your leave, you will return to your job or an equivalent with the same salary, benefits, working conditions and seniority.
182
+
183
+ Employees who have been with the company for six months or more are eligible for the following:
184
+
185
+ Six weeks time off, fully paid
186
+ Six weeks additional time off, unpaid
187
+ Vacation can be used in place of any unpaid leave
188
+ If both parents are employees of Osio Labs, they are limited to a combined total of 12 weeks leave.
189
+ You must notify the CEO of your desire to use this leave, and formulate a plan for the days you will take off, a minimum of 60 days prior to the planned arrival date so that we can plan accordingly.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
190
+ Bereavement leave,"Bereavement leave provides paid time off for eligible employees in the event of a death in their immediate family. An immediate family member for purposes of our bereavement leave policy includes the following:
191
+
192
+ Spouse or Live-in life partner
193
+ Child (including foster children and step-children)
194
+ Parent (including legal guardian and step-parent)
195
+ In-laws (including mother- and father-in-laws and brother- and sister-in-laws)
196
+ Grandparent
197
+ Grandchild
198
+ Sibling
199
+ Eligible employees are entitled to 3 days paid time off for a death in the immediate family. Osio Labs understands the deep impact that death can have on an individual or a family. Therefore, additional unpaid time off may be granted at the company's discretion. Such arrangements must be approved by the CEO.
200
+
201
+ All employees may take up to 1 day off with pay to attend the funeral of a close, non-family member. This time off will be considered by the CEO on a case-by-case basis.
202
+
203
+ To be eligible for paid time off for bereavement, employees should notify the CEO at the earliest opportunity so that the CEO can arrange coverage for the employee's absence.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
204
+ Paid sabbatical leave,"We offer sabbatical leave as a benefit to encourage our employees to innovate, gain knowledge, and pursue their interests (e.g. volunteer, travel, research, write). It�s one way to reward employees who have been working with us for a long time. We also want to encourage them to rejuvenate and develop their skills. This type of leave is separate from vacation and personal days.
205
+
206
+ This policy applies to all employees who have been working for our company for at least 7 years. We offer eligible employees 5 weeks of paid leave after their first 7 years of working for our company. You will be eligible to take sabbaticals every 7 years until you retire. Sabbatical leave can be combined with vacation leave to extend time.
207
+
208
+ Sabbatical leave can�t be accrued. You must use your 5 weeks within 1 year of the anniversary that triggers the benefit. You must also use all 5 weeks consecutively. You must request your leave dates at least 3 months before you plan to take your sabbatical. Submit leave requests to the CEO.
209
+
210
+ While you are on a sabbatical leave, your employment status, contract, and benefits (e.g. health insurance, PEX accrual) remain intact.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
211
+ Jury duty,"Osio Labs encourages employees to fulfill their civic responsibilities by serving jury duty when required. Osio Labs will pay regular salary for the first 3 days of jury duty, and after that jury duty will be paid only if required by applicable state or national law.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
212
+ Military leave,"If requested, we will work with the employee to determine an appropriate strategy for compensation during jury duty. Solutions may include the use of PD, an unpaid leave of absence, 50% pay, or some combination.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
213
+ Unpaid leave,Please be sure to communicate your jury duty requirements with the CEO as they arise.,https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
214
+ Effect on benefits,"During unpaid leave current coverage will automatically continue for 6 weeks for Medical, Dental, Vision, Life, and Disability benefits. Beyond 6 weeks of unpaid leave, the employee may choose to continue coverage by paying the full premium amount or discontinue coverage.
215
+
216
+ During unpaid leave there is no accrual of paid days off (e.g. vacation) or tech stipend (PEX), holidays are not paid, and continuing education benefits are suspended. Time while on leave is counted as service credit in determining eligibility for those benefits that are dependent upon length of service.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/02leave.md,
217
+ Health Insurance,"Osio Labs' health insurance benefits are intended to protect you and your family from financial loss resulting from hospital, surgical, or other health-related expenses. Eligible employees may elect to begin health insurance benefits on the first day of employment. Note that only full-time employees are eligible for health insurance.
218
+
219
+ Note that this section specifically applies to U.S. employees. Danish employees already have state-provided health care. Extended health insurance for Danish employees can be provided if required. Contact the CEO to discuss extended options.
220
+
221
+ For details on the specific health insurance plans available through Osio Labs contact our Insperity representative. We encourage both you and your family to review the plan's Summary Plan Description carefully. Below you will find an outline of U.S. employee benefits, provided through Insperity:
222
+
223
+ Medical Insurance: United Healthcare Choice Plus ($250 deductible)
224
+ Dental Insurance: United Healthcare Dental PPO ($50 deductible)
225
+ Vision Insurance: Vision Service Plan ($15�$25 copay)
226
+ You also have the option to use a Flexible Spending Account (FSA) to save money, pretax, towards your medical expenses.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/03insurance.md,
227
+ Health Insurance continuation,"The U.S. Consolidated Omnibus Budget Reconciliation Act (COBRA) is a U.S. law that requires most employers sponsoring group health plans to offer a temporary continuation of group health coverage when coverage would otherwise be lost due to certain specific events.
228
+
229
+ Through COBRA, employees and their qualified beneficiaries have the right to continue group health insurance coverage after a ""qualifying event."" The following are qualifying events:
230
+
231
+ Resignation or termination of the employee
232
+ Death of the covered employee
233
+ A reduction in the employee's hours
234
+ For spouses and eligible dependents, the employee's entitlement to Medicare
235
+ Divorce or legal separation of the covered employee and his or her spouse
236
+ A dependent child no longer meeting eligibility requirements under the group health plan
237
+ Under COBRA, the employee or beneficiary pays the full cost of health insurance coverage at Osio Labs' group rates plus possibly an administration fee.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/03insurance.md,
238
+ If termination is cause,"After termination of your employment, you will work with Insperity to set up a plan for insurance. Within 30 days from your last day of work you will receive overall information and terms outlining the COBRA benefits available and you will have 60 days to accept or decline. Failure to reply within 60 days will be construed as a rejection of COBRA coverage.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/03insurance.md,
239
+ Notification requirements,"The employee, or family member, has the responsibility to inform Insperity of a divorce, legal separation, or a child losing dependent status within 60 days of the event. Osio Labs has the responsibility to notify the Insperity of the employee's death, termination of employment, or reduction in hours.
240
+
241
+ Once the notification has been made to Insperity, they will inform the employee that he or she has the right to chose continuation of coverage. If employees choose to continue coverage, Osio Labs is required to provide coverage which is identical to the coverage provided under the plan to similarly situated employees or family members.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/03insurance.md,
242
+ Period of coverage,"Continuation of coverage is extended from the date of the qualifying event for a period of 18 to 36 months. The length of time for which continuation coverage is to be made available (i.e., the ""maximum period"" of continuation coverage) depends on the type of qualifying event that gave rise to the employee's COBRA rights.
243
+
244
+ An employee's continuation of coverage may be cut short for any of the following reasons:
245
+
246
+ Osio Labs no longer provides group health coverage to any of its employees.
247
+ The premium for your continuation coverage is not paid in full on a timely basis.
248
+ You become covered under another group health plan that does not contain any exclusion or limitation with respect to any pre-existing condition.
249
+ You become entitled to Medicare.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/03insurance.md,
250
+ Life Insurance,"An important facet of your benefits at Osio Labs is your life insurance. We provide a policy that will match your annual salary up to $50,000. Eligible employees may elect to take this coverage. Employees may also purchase additional protection, above and beyond what is covered by Osio Labs.
251
+
252
+ Full-time employees may elect to begin life insurance benefits on the first day of employment. Part-time employees will need to work on a personal plan with the CEO, to be started as soon as possible after employment. Upon attaining eligibility for Osio Labs life insurance coverage, employees will be asked to designate a beneficiary. You may request a change in beneficiary at any time.
253
+
254
+ For additional details, full-time U.S. employees should refer to the Insperity coverage documents, and part-time and non-U.S. employees should contact the CEO.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/03insurance.md,
255
+ Disability Insurance,"If you suffer an injury or medical condition that makes you unfit for work for more than 2 weeks, you may be eligible for disability coverage. Osio Labs provides, and pays 100% of the premium for, short and long-term disability insurance.
256
+
257
+ The coverage for full-time employees will pay up to 60% of covered weekly earnings (up to $2,308 per week) and begins on the 15th day of disability. Coverage for part-time employees will vary and depends on your personalized plan.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/03insurance.md,
258
+ Workers' Compensation,"Employees who are injured on the job at Osio Labs are eligible for Workers' Compensation benefits. Such benefits cover any injury or illness sustained in the course of employment that requires medical treatment. We have workers' compensation policies in place is all countries where we have employees.
259
+
260
+ All job-related accidents or illnesses must be reported to the CEO immediately upon occurrence. The CEO will then immediately contact the appropriate source, based on country, to obtain the required claim forms and instructions.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/03insurance.md,
261
+ Retirement Plan,"Our retirement plan is a defined-contribution 401(k) plan in the U.S. (or equivalent in other countries) that includes up to a 4% match when you contribute a percentage of your salary. If you choose to invest 6% of your salary (pretax), combined with our 4% match, you'll be saving 10% of your income towards retirement. Please note, there is no employer contribution without an employee contribution! If you're not taking advantage of this benefit, you're missing out on additional money for your retirement.
262
+
263
+ Employees may consult with our representatives and refer to plan documents for more details. U.S. plans are provided by Insperity.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/04retirement.md,
264
+ Tech Stipend,"Osio Labs provides an allowance of $200 each month for full-time employees and $100 each month for part-time employees for technology and office purchases, made available to you through pre-paid PEX cards. You can go to http://www.pexcard.com to read more about how the cards work, but here are the basics:
265
+
266
+ PEX Cards are pre-paid VISA cards, and should be accepted anywhere in the world that a VISA logo is shown. (Note: it uses a U.S. address and so may not work in all locations outside the U.S.)
267
+ Your balance rolls over from month to month, so you can save up your stipend over time for larger purchases.
268
+ If you're leaving Osio Labs, your remaining PEX balance will be included in your final paycheck. Please note: it will be taxed as income, so it is advantageous to use this balance if you wish to avoid paying taxes on it.
269
+ In order for us to pass the tax savings on to you, all physical asset purchases made on the PEX card, such as computers or phones, are technically the property of Osio Labs. Otherwise, PEX funds would be considered a taxable wage. If you should leave the company, the purchases you made with your PEX card will be ""sold back"" to you for $1.",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/05tech_stipend.md,
270
+ Things the tech stipend can be spent on,"Here are common examples that you can use the stipend to purchase. If you aren't sure if something you want is elligible for the stipend, just ask the CEO.
271
+
272
+ Cell phone bill
273
+ New cell phone
274
+ Skype credit
275
+ New apps and new software
276
+ Computers
277
+ Internet service
278
+ Printers, paper, ink
279
+ Routers
280
+ Backup drives
281
+ Office desk and/or chair
282
+ Fitness tracker or smartwatch",https://github.com/OsioLabs/emphandbook/blob/main/03benefits/05tech_stipend.md,
283
+ Laptop coverage,All Osio Labs requires in return for the monthly tech stipend is that you have insurance on your laptop (typically covered by homeowner's or renter's policies -- you can ask your insurance representative for the details). You can also purchase coverage through companies like Safeware (http://safeware.com). Please send the policy title page to the CEO to file.,https://github.com/OsioLabs/emphandbook/blob/main/03benefits/05tech_stipend.md,
284
+ Standards of Conduct,"Osio Labs' rules and standards of conduct are essential to our productive work environment. All employees must familiarize themselves with company rules and standards; all employees will be held to them. Any employee who disregards or deviates from company rules or standards may be subject to disciplinary action, up to and including termination of employment.
285
+
286
+ While not intended to be an all-inclusive list, the examples below represent behavior that is considered unacceptable in our work environment, whether online or in person:
287
+
288
+ Sexual or other harassment (see our complete Harrassment Policy)
289
+ Theft
290
+ Fighting or threatening violence in the workplace
291
+ Gossiping or spreading rumors about co-workers
292
+ Negligence or improper conduct leading to damage of company-owned or customer-owned property
293
+ Insubordination or other disrespectful conduct
294
+ Excessive absenteeism
295
+ Unauthorized disclosure of any confidential information
296
+ Other forms of misconduct not listed above may also result in disciplinary action, up to and including termination of employment. If you have questions regarding Osio Labs' standards of conduct, please direct them to the CEO.",https://github.com/OsioLabs/emphandbook/blob/main/04emp_conduct/01standards.md,
297
+ Diversity and Inclusion,"We believe that individual perspectives provided by a wide range of lived experience enriches not just our business, but also us as individuals. We�re committed to broadening the diversity of our team and ensuring that we maintain an inclusive environment that supports and respects our employees and customers.",https://github.com/OsioLabs/emphandbook/blob/main/04emp_conduct/02diversity.md,
298
+ What is diversity and inclusion?,"Diversity�represents differences between people. Committing to a diverse company means we value and seek out these differences, both within our team and our customers. Most often, diversity is identified through various social categories like race, age, gender identity, sexual orientation, socioeconomic background, physical disabilities, and more.",,
299
+ ,"Inclusion�means providing a safe and welcoming environment for the people we interact with. This is represented through our�values, policies, and most importantly, our actions. Having a diverse team means nothing if we can�t all thrive here equally.",,
300
+ ,"In Kim Crayton�s 2018 article titled ,��Diversity� and �inclusion� aren�t interchangeable. Here�s how to use them correctly, she defines diversity as variety and inclusion as experience. (The article is well-worth a read as she defines and elaborates several terms used here.) For a discussion of diversity and inclusion in the workplace, you can also watch this 17-minute video,�Practical diversity: taking inclusion from theory to practice�presented by Dawn Bennett-Alexander.",https://github.com/OsioLabs/emphandbook/blob/main/04emp_conduct/02diversity.md,
301
+ Our commitment,"While our team does have some diversity, we recognize that building a diverse and inclusive workplace requires continued effort and is never �done�. We are committed to specifically seeking out diverse candidates and continually learning how to improve the environment we provide.
302
+
303
+ Ways we encourage inclusion at Osio Labs:
304
+
305
+ We have a flexible work day and work week so everyone can have a schedule that fits into the reality of their lives.
306
+ We ask for and list people�s pronouns in our handbook.
307
+ We openly support team members suffering from mental health issues the same way that we support physical illness.
308
+ We recognize that having a family (in whatever form that takes) has its own time and energy commitments, and we work to be flexible and supportive of those needs.
309
+ We also recognize that we can say a lot of nice things, but we also need to be accountable for our actions, both as a company and as individuals. We recognize the difference between intent and impact. By that, we mean that we believe words can have an impact on someone, whether or not the intent was good. We also know people make mistakes and can learn through listening and sincere apology.
310
+
311
+ To better understand the difference between intent and impact, and why it matters, you can watch this 2.5-minute video Intention vs. Impact presented by Dr. Cheryl Ingram and/or read the article Intent vs. impact: Why does it matter in an inclusive workplace? by DiversityEdu. To learn what a sincere apology means, read It�s Time We All Learned the 5 Rules for Apologizing Like an Adult by Kells McPhillips.
312
+
313
+ If anyone has suggestions for ways to improve our diversity and inclusivity, you can always reach out to the team, the CEO, and/or the board. If there is something that is specifically wrong or crossing into harassment, you should lodge a complaint.",https://github.com/OsioLabs/emphandbook/blob/main/04emp_conduct/02diversity.md,
314
+ Harassment Policy,"Osio Labs is committed to a work environment in which all individuals are treated with respect. We expressly prohibit discrimination and all forms of employee harassment based on race, color, national origin, religion, sex, age, disability (physical or mental), citizenship, genetic information, sexual orientation, gender identity, parental status, marital status, and any other characteristic that differentiates someone.",,
315
+ ,"We do not tolerate harassment of employees, contractors or people that we interact with in any form. Harassment includes offensive verbal comments or jokes related to the protected classes above, sexual images in public spaces, deliberate intimidation, stalking, following, photography or audio/video recording against reasonable consent, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Harassment does not need to be recognized as unwanted or unwelcome by anyone other than the person being harassed.",,
316
+ ,"Sexual harassment is a form of discrimination and is prohibited by law. For purposes of this policy, sexual harassment is defined as unwelcome sexual advances, requests for sexual favors, and other verbal or physical conduct of a sexual nature when this conduct explicitly or implicitly affects an individual's employment, unreasonably interferes with an individual's work performance, or creates an intimidating, hostile, or offensive work environment. Unwelcome sexual advances (either verbal or physical), requests for sexual favors, and other verbal or physical conduct of a sexual nature constitute sexual harassment when: (1) submission to such conduct is made either explicitly or implicitly a term or condition of employment; (2) submission or rejection of the conduct is used as a basis for making employment decisions; or, (3) the conduct has the purpose or effect of interfering with work performance or creating an intimidating, hostile, or offensive work environment.",,
317
+ ,"Sexual harassment may include a range of behaviors and may involve individuals of the same or different gender. These behaviors include, but are not limited to:",,
318
+ ,Unwanted sexual advances or requests for sexual favors,,
319
+ ,"Sexual or derogatory jokes, comments, or innuendo",,
320
+ ,Unwelcome physical interaction,,
321
+ ,Insulting or obscene comments or gestures,,
322
+ ,"Offensive email, voicemail, or text messages",,
323
+ ,"Suggestive or sexually explicit posters, calendars, photographs, graffiti, or cartoons",,
324
+ ,Making or threatening reprisals after a negative response to sexual advances,,
325
+ ,"Visual conduct that includes leering, making sexual gestures, or displaying of sexually suggestive objects or pictures, cartoons or posters",,
326
+ ,Verbal sexual advances or propositions,,
327
+ ,"Physical conduct that includes touching, assaulting, or impeding or blocking movements",,
328
+ ,"Any other visual, verbal, or physical conduct or behavior deemed inappropriate by the company",https://github.com/OsioLabs/emphandbook/blob/main/04emp_conduct/03harassment.md,
329
+ Complaint Procedure,"It is the policy of Osio Labs to maintain a harmonious workplace environment that is free of threats to the health, safety, and wellbeing of the people who work here. We encourage our employees to express concerns about work-related issues, including workplace communication, interpersonal conflict, and other working conditions.
330
+
331
+ We strongly encourage the reporting of all instances of discrimination, harassment, or retaliation. If you believe you have experienced or witnessed harassment or discrimination according to our Harassment Policy or otherwise, even if it�s not about something that�s explicitly covered in our written policies, promptly report the incident to the CEO. If you believe it would be inappropriate to discuss the matter with the CEO, you may bypass the CEO and report directly to the Board.
332
+
333
+ After receiving a complaint, we may hold a meeting with the employee and any other individuals who may assist in the investigation or resolution of the issue. All discussions related to the grievance will be limited to those involved with, and who can assist with, resolving the issue. Any reported allegations of harassment or discrimination will be investigated promptly, thoroughly, and impartially. To the maximum extent possible, confidentiality will be maintained throughout the investigatory process.
334
+
335
+ Osio Labs expressly prohibits retaliation against any individual who reports discrimination or harassment, or assists in investigating such charges. Any form of retaliation is considered a direct violation of this policy and, like discrimination or harassment itself, will be subject to disciplinary action, up to and including termination of employment.",https://github.com/OsioLabs/emphandbook/blob/main/04emp_conduct/04complaints.md,
336
+ Disciplinary Action,"Disciplinary action at Osio Labs is intended to fairly and impartially correct behavior and performance problems early on and to prevent re-occurrence.
337
+
338
+ Discipline is decided on a case-by-case basis. Generally on the first incident we will just have a conversation (depending on how severe). Be aware that disciplinary actions may involve any of the following: verbal warning, written warning, suspension with or without pay, and termination of employment, depending on the severity of the problem and the frequency of occurrence. Osio Labs reserves the right to administer disciplinary action at its discretion and based upon the circumstances.
339
+
340
+ Osio Labs recognizes that certain types of employee behavior are serious enough to justify termination of employment, without enacting other disciplinary action first.",https://github.com/OsioLabs/emphandbook/blob/main/04emp_conduct/05disciplinary.md,
341
+ Whistleblower Protection,"This policy is designed to protect employees and address Osio Labs' commitment to integrity and ethical behavior. In accordance with Whistleblower Protection regulations, Osio Labs will not tolerate harassment, retaliation, or any type of discrimination against an employee who:
342
+
343
+ Makes a good faith complaint regarding suspected Company or employee violations of the law.
344
+ Makes a good faith complaint regarding accounting, internal accounting controls, or auditing matters that may lead to incorrect�or misrepresentations in�financial accounting.
345
+ Provides information to assist in an investigation regarding violations of the law; or
346
+ Files, testifies, or participates in a proceeding in relation to alleged violations of the law.
347
+ Negative employment sanctions, such as demotion or termination, as a result of an employee's decision to provide good-faith information regarding violations of the law will not be tolerated. In addition, discrimination, threats, and harassment is prohibited.
348
+
349
+ Anyone violating this policy will be subject to discipline, up to and including termination of employment.",https://github.com/OsioLabs/emphandbook/blob/main/04emp_conduct/06whistleblower.md,
350
+ Nature of Employment,"Employment with Osio Labs is ""at-will."" This means employees are free to resign at any time, with or without cause, and Osio Labs may terminate the employment relationship at any time, with or without cause or advance notice. As an at-will employee, it is not guaranteed, in any manner, that you will be employed with Osio Labs for any set period of time.
351
+
352
+ The policies set forth in this employee handbook are the policies that are in effect at the time of publication. They may be amended, modified, or terminated at any time by Osio Labs, except for the policy on at-will employment, which may be modified only by a signed, written agreement between the CEO and the employee at issue. No representative of the company, other than the CEO, has the authority to change the terms of the at-will relationship. Nothing in this handbook may be construed as creating a promise of future benefits or a binding contract between Osio Labs and any of its employees.",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/01nature_of_emp.md,
353
+ Equal Employment Opportunity,"Osio Labs is an Equal Opportunity Employer. Employment opportunities at Osio Labs are based upon one's qualifications and capabilities to perform the essential functions of a particular job and free from discrimination because of race, color, national origin, religion, sex, age, disability, citizenship status, genetic information, sexual orientation, gender identity, military status, or any other characteristic protected by law.
354
+
355
+ This Equal Employment Opportunity policy governs all aspects of employment, including, but not limited to, selection, job assignment, compensation, promotion, discipline, termination, and access to benefits and training.
356
+
357
+ Osio Labs strongly urges the reporting of all instances of discrimination and prohibits retaliation against any individual who reports discrimination or participates in an investigation of such report. Appropriate disciplinary action, up to and including immediate termination, will be taken against any employee who violates this policy.",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/02eeo.md,
358
+ Americans with Disabilities Act,"Osio Labs shall fully comply with the non-discrimination requirements of the Americans with Disabilities Act and relevant state statutes that prohibit discriminating against applicants and individuals with disabilities. This policy covers all aspects of employment, including application procedures, hiring, advancement, termination, compensation, training, or other terms, conditions and privileges of employment.
359
+
360
+ Provided it will not create undue hardship, Osio Labs will offer reasonable accommodations to applicants and employees who are qualified for a job, with or without reasonable accommodation, so that they may perform the essential job duties of the position. Contact the CEO with any questions or requests for accommodation.",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/02eeo.md,
361
+ Immigration Law Compliance,"Osio Labs is committed to employing United States citizens and non-citizens who are authorized to work in the United States, and does not unlawfully discriminate on the basis of citizenship or national origin.
362
+
363
+ In compliance with the Immigration Reform and Control Act of 1986, as amended, each new employee who resides in the U.S., as a condition of employment, must complete the Employment Eligibility Verification Form I-9 and present documentation establishing identity and employment eligibility. Former employees who are rehired must also complete the form if they have not completed an I-9 with Osio Labs within the past three years, or if their previous I-9 is no longer retained or valid.
364
+
365
+ Similar documents for international employees will be requested as needed.",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/03immigration.md,
366
+ Termination of Employment,"Termination of employment is an inevitable part of personnel activity within any organization, and many of the reasons for termination are routine. Common circumstances under which employment is terminated include the following:
367
+
368
+ Resignation: Voluntary employment termination initiated by an employee.
369
+ Termination: Involuntary employment termination initiated by Osio Labs. In most cases, we will use progressive disciplinary actions before dismissing an employee. Certain actions warrant immediate termination.
370
+ Layoff: Involuntary employment termination initiated by Osio Labs for non-disciplinary reasons.
371
+ Retirement: Voluntary employee termination upon eligibility for retirement.
372
+ Since employment with Osio Labs is based on mutual consent, both the employee and Osio Labs have the right to terminate employment at-will, with or without cause, during and after the introductory period. In the case of employee termination, the employee will receive their accrued pay in accordance with all federal, state and local laws.
373
+
374
+ Employee benefits will be affected by employment termination in the following manner:
375
+
376
+ All accrued vested benefits that are due and payable at termination will be paid in accordance with applicable federal, state and local laws.
377
+ Some benefits may be continued at the employee's expense if the employee elects to do so, such as healthcare coverage through COBRA.
378
+ The employee will be notified of the benefits that may be continued and of the terms, conditions, and limitations of such continuation. If you have any questions or concerns regarding this policy, direct them to Human Resources.",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/04termination.md,
379
+ Personnel Data Changes,"It is the responsibility of each employee to promptly notify the team and/or Insperity of any changes in personnel data.
380
+
381
+ If any of the following have changed or will change in the future, contact the CEO as soon as possible:
382
+
383
+ Legal name
384
+ Mailing address
385
+ Telephone number(s)
386
+ Change of beneficiary
387
+ Exemptions on your tax forms
388
+ Emergency contact(s)",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/05personnel_data.md,
389
+ Confidentiality,"Osio Labs takes the protection of our team, our vendors, our customers, and our company confidential business information seriously. This includes, but is not limited to, the following examples: customer names and project information, payments (including salaries), co-workers' information, and Osio Labs past and present plans. All employees must maintain confidential information in strict confidence. This policy applies to active employees as well as employees who have separated from Osio Labs. Employees found to be in violation of this policy will be subject to disciplinary action, up to and including termination of employment.",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/06confidentiality.md,
390
+ What We Do,"Our mission is to empower anyone to build websites using open source tools. We teach how to use the technology along with supporting open source projects and communities. We publish both paid and free tutorials, conduct workshops, organize, present at and sponsor events, contribute code and documentation, and work in a variety of open source community leadership roles.
391
+
392
+ As a company we also deliberately work to create a positive and sustainable business. We're focused on building an open and transparent company that values its employees and the impact we have on the world. Everyone on the team is involved in decisions and tasks that define the future of the company.
393
+
394
+ We are most well known for our online Drupal training membership service, Drupalize.Me.",https://github.com/OsioLabs/emphandbook/blob/main/01who_we_are/01what_we_do.md,
395
+ Goals and Values,"Our long-term vision is to change online learning for web development, making it more effective and accessible for everyone. This includes crafting content and tools that ease learning, supporting open source projects and communities, as well as addressing barriers that deny people access to learning resources.
396
+
397
+ Part of achieving our vision is creating a company where great things can happen. We are an open books company and we are very transparent with all aspects of our business, from the daily work everyone is doing to the financial forecast for the coming year. We do this so that everyone at the company understands how our business works and their impact on it. All employees are involved in business decisions at some level.
398
+
399
+ We take our core values very seriously. They're the underpinning for what we do, and more importantly, how we do it. Every major company decision and goal is measured against our values.
400
+
401
+ Do great work
402
+
403
+ We set high standards for ourselves, valuing skillful and impactful work. We encourage each other to strive for those standards and help each other to grow. We make sure that we deliver not only a quality product but also have a positive impact on the world.
404
+
405
+ Some examples of this value in action are:
406
+
407
+ Our regular process of peer review for our code and content, where we provide feedback and encourage improvement.
408
+ Contributing our standard high quality videos for free to enhance the Drupal community documentation.
409
+ Feed creativity
410
+
411
+ Creativity creates space for innovative ideas and inventive solutions. We embrace the full creative process, which includes failing, learning, and trying again, in a safe and respectful environment. We are open to creative change and are not afraid to change existing things as well as creating something new. Through openly sharing our new ideas in the wider world we aim to also foster creativity in others.
412
+
413
+ Some examples of this value in action are:
414
+
415
+ We explore new ideas for how to deliver our content, from written tutorials to new hands-on project guides. Ideas start from customer feedback and result in features like the ability to access a pre-made site sandbox to avoid customers needing to set up a new site.
416
+ We re-evaluated our business strategy and decided to change the company name to better reflect our vision.
417
+ Spread happiness
418
+
419
+ We believe in the power of happiness. We encourage playfulness, positivity, and kindness in everything we do. We try not to take ourselves too seriously and recognize that being approachable and kind makes learning more fun and less stressful. We are aware of the impact our attitude has on the people around us and that impact spreads far beyond our personal and professional interactions.
420
+
421
+ Some examples of this value in action are:
422
+
423
+ Creating fun examples in our learning materials, like the ice cream shop example for learning plugins or the batman cartoon for events.
424
+ Fun stickers! Our sparkly Drupal ponies continue to be a favorite even today.
425
+ We respond to customer support timely and cheerfully, even the grumpy ones. We're human too, and we get that people have bad days. We like to try to make them a little better when we can.
426
+ Work together
427
+
428
+ We believe in Open Source, not only in open software but also in the principles of collaboration and sharing. We fully engage with Open Source communities through contribution and have incorporated these fundamentals throughout our company. We keep open minds and listen to each other to find common ground and improve each other�s work without judgment. We apply these same principles when working with our customers to solve their problems.
429
+
430
+ Some examples of this value in action are:
431
+
432
+ Sharing our Employee Handbook publicly
433
+ Collaborating on the Drupal 8 User Guide and sharing our enhancements (adding videos)
434
+ Build trust
435
+
436
+ We build trust through openness, respect, and forgiveness. We treat people like equals and genuinely care for them, whether they are part of our team, our customer, or part of the wider world. We take promises seriously and deliver on them both internally and externally. We value our distributed work environment, and we trust our colleagues to make the best use of that flexibility to cultivate the best life balance for them.
437
+
438
+ Some examples of this value in action are:
439
+
440
+ PEX and company credit cards; we trust people to purchase the things they need and give them freedom to do so.
441
+ We have a very liberal refund policy so that customers can decide what works for them.
442
+ During the 2020 pandemic we reframed our work expectations. You can read more details in the blog post, Shortening the Work Week Amidst a Pandemic.
443
+ Empower people
444
+
445
+ We strive to create a space that empowers everyone. We encourage growth and exploration, with a culture of sharing and support for change. We give people the power to make choices about how to meet their needs and to change things about our company. We share as we learn, both with technology and business, to encourage others and assist with the lessons we�ve learned. We strive to ensure that opportunites for growth are provided equitably. (See also our committment to diversity and inclusion.)
446
+
447
+ Some examples of this value in action are:
448
+
449
+ In addition to technical training information we encourage people to understand and use the wider array of tools that the open source community provides.
450
+ We allow employees to determine their own schedules to be there for their families and friends when and how they need to be.
451
+ Care for our customers
452
+
453
+ We work hard to serve our customers well. We meet them where they are, and we believe that being aware of and responsive to our customers� needs is an integral part of what we do. We give customers control over how they want to learn and support them on that journey, even if it doesn�t involve our products.
454
+
455
+ Some examples of this value in action are:
456
+
457
+ Talking to Node.js developers to learn more about what they want in a learning platform and then using that to inform what content we�re creating.
458
+ We keep our content up to date and get fixes published as quickly as possible when a problem is pointed out.",https://github.com/OsioLabs/emphandbook/blob/main/01who_we_are/02values.md,
459
+ Company History,"In 2006 the Drupal consulting company Lullabot was started by Jeff Robbins and Matt Westgate. They hired expert Drupal developers with excellent communication skills to share their knowledge, help grow the Drupal community, and provide technical strategy and answers to their consulting clients. They started the first Drupal podcast and started doing Drupal workshops and training. In 2010 Lullabot launched an online Drupal tutorial service, Drupalize.Me, to extend the training they had been doing through workshops and DVDs.
460
+
461
+ In 2015 Lullabot spun off the Drupalize.Me team to create a new company focused solely on education, called Lullabot Education. We used the Lullabot Education name for the first 3 years of our existance and in 2019 we changed the name to Osio Labs.",https://github.com/OsioLabs/emphandbook/blob/main/01who_we_are/03history.md,
462
+ Where Did The Name Come From?,"Osio is a made up word from the acronym for Open Source Inside Out. We are proud supporters of open source and collaboration is part of our DNA. We also like to constantly experiment and try new ways to do things better, from the tutorials we create to the way we run our business. The world of open source is our lab.",https://github.com/OsioLabs/emphandbook/blob/main/01who_we_are/03history.md,
463
+ Company Structure,"This is an overview of how we define and distribute our responsibilities. We have a CEO who is ultimately responsible for all business decisions, but we operate very much as a team with a flat structure. Everyone on the team can raise concerns and initiate changes. Different team members may lead smaller groups within the team, with ""leading"" being a role which means helping to organize the work for a group or project and summarizing group decisions to share with the larger team.
464
+
465
+ As a corporation (U.S. S corporation to be exact), we also have a board. The board provides high-level strategic guidance and support, and oversight of our financial health. They leave the work of running the business, goal-setting, and execution to the team.",https://github.com/OsioLabs/emphandbook/blob/main/01who_we_are/04structure.md,
466
+ Team Responsibilities,"We have defined our main responsibilities within the company in five areas: Content, Technology, Marketing, Support, and Business. Each area has a way of tracking (Trello or GitHub) that is used to share the current team priorities for that area, identify quarterly goals, and provide space for adding new ideas. Every calendar quarter (e.g. January�March, April�June, etc.) we decide, as a group, what the quarterly team goals are. These are reviewed and updated as needed each month throughout the quarter. (You can see our current goals in the Ideas and Goals Trello board.)
467
+
468
+ Here is an overview of what each area covers and our main tasks for that area.
469
+
470
+ Content
471
+ We have a range of content that we create, publish, and manage. The most obvious is written and video tutorials, along with blog posts. Content is created by both the internal team and external subject matter expert contractors.
472
+
473
+ Technology
474
+ As a team, occasionally along with external contractors, we fix bugs, do updates, add features, and generally run our websites (the production site, plus development and QA). We use GitHub for our ticketing system, and all code repositories for our sites are located there.
475
+
476
+ Marketing
477
+ Our marketing efforts include managing our advertising, event sponsorships, brand consistency, and public communication.
478
+
479
+ Support
480
+ We use a service called ZenDesk, which provides a support management system, where we track all customer support requests. Email sent to our public emails and social media mentions are directed to our support site, which then creates a ticket for us. We have a primary support manager and all full-time staff are expected to answer questions as secondary support.
481
+
482
+ Business
483
+ We also create goals for working on the business itself and the tasks necessary for running a company. While the CEO takes on many of these tasks, like accounting and employee benefits, everyone on the team is involved with how we run our business, and major decisions and changes are discussed, decided, and implemented as a team.
484
+ ",https://github.com/OsioLabs/emphandbook/blob/main/01who_we_are/04structure.md,
485
+ Meet the Team,"We are a distributed company, meaning that everyone works from home or wherever they like. We are spread over 3 countries and many time zones. You can read more about each person in their bios, linked to their name below. Here is a list of the current team, along with their location and time zone. This is definitely important information to have handy in a distributed team.
486
+
487
+ Staff
488
+ Addison Berry (she/they)
489
+ CEO and Co-owner
490
+ Copenhagen, Denmark
491
+ Central European/Summer (CET/CEST)
492
+
493
+ Amber Matz (she/her)
494
+ Production Manager and Trainer
495
+ Portland, OR, USA
496
+ North America Pacific Standard/Daylight (PST/PDT)
497
+
498
+ Ashley Jones (she/her)
499
+ Technical Support
500
+ Los Angeles, CA, USA
501
+ North America Pacific Standard/Daylight (PST/PDT)
502
+
503
+ Blake Hall (he/him)
504
+ Senior Developer and Trainer
505
+ Green Bay, WI, USA
506
+ North America Central Standard/Daylight (CST/CDT)
507
+
508
+ Joe Shindelar (he/him)
509
+ Lead Developer, Lead Trainer
510
+ Minneapolis, MN, USA
511
+ North America Central Standard/Daylight (CST/CDT)
512
+
513
+ Part-time Contractors
514
+ We have a number of long-term, part-time contractors who assist with important work in the company.
515
+
516
+ Enid Williams
517
+ Copy Editor
518
+ McFarland, WI, USA
519
+ North America Central Standard/Daylight (CST/CDT)
520
+
521
+ Francesco Spinucci
522
+ Video Editor
523
+ Rome, Italy
524
+ Central European/Summer (CET/CEST)
525
+
526
+ Ownership
527
+ Osio Labs is owned by 4 people:
528
+
529
+ Jeff Robbins, President
530
+ Matt Westgate, Vice President
531
+ Seth Brown, Secretary
532
+ Addison Berry, CEO
533
+ Board
534
+ The board consists of the 4 owners, listed above, and Zack Rosen, CEO at Pantheon.",https://github.com/OsioLabs/emphandbook/blob/main/01who_we_are/05team.md,
535
+ How to quit Osio Labs,"It's always difficult when people leave the company, but we realize that there are any number of reasons why someone may need to leave. People get nervous and embarrassed that they're thinking of leaving. This sometimes leads to a clumsy exit process. Please remember that we've pretty much been through it all and all we ask for is honesty and open communication during these transitions. Osio Labs may sometimes seem like a family, but it's certainly not a cult, and we realize that people will come and go.
536
+
537
+ Please consider the following points as you're thinking about giving your notice:
538
+
539
+ Are you quitting because you're unhappy, unfulfilled, or you're feeling frustrated?
540
+
541
+ We strive to provide a variety of opportunities for Osio Labs employees. We want to find the right fit for everyone and we're willing to shift people around if their current roles and tasks aren't working.",emphandbook/05emp_status/04termination.md at main � OsioLabs/emphandbook (github.com),
542
+ Unhappy? Talk to someone,"First and foremost, we want happy team members. If there is anything we can do to keep/create your happiness, please let us know. If you are worried about confidentiality, the CEO and/or the Insperity HR specialits are available anytime to listen and/or to help provide advice and coaching.",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/04termination.md,
543
+ Some steps to take before you leave,"Give advance notice
544
+ Please give notice as soon as you know you are leaving. A minimum of 2 weeks is appreciated.
545
+
546
+ Tie up loose ends
547
+ Forward your email, catch up your voicemail, reassign your Google docs, etc.
548
+
549
+ Work with HR for a resignation plan
550
+ Knowing when your last day is helps us plan for your and Osio Labs' future. We can work together to decide on when permissions will be removed, if/when COBRA starts, and more.
551
+
552
+ Last paycheck details
553
+ We will provide for you the details of your last paycheck, and when to expect it (varies by state). Your last paycheck could include: any PTO owed/deducted, a $1 PEX withholding (as per the PEX policy), and any reimbursements due.
554
+
555
+ Turn in your ""keys""
556
+ Please mail any Osio Labs property/documents to the Providence office and destroy your Osio Labs credit card.
557
+
558
+ Exit interview
559
+ Upon leaving the company, Osio Labs would love to hear your feedback. The CEO will contact you for an exit interview.
560
+
561
+ Please be reminded of the contract and other NDA terms as they relate to termination.",https://github.com/OsioLabs/emphandbook/blob/main/05emp_status/04termination.md,
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ chainlit==0.7.700
2
+ cohere==4.37
3
+ openai==1.3.5
4
+ tiktoken==0.5.1
5
+ python-dotenv==1.0.0
6
+ langchain
7
+ chromadb