diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..acb6d6b065eacc8fa78fb2b54e0c8a2cf0fff644 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,135 @@ +docs/2023_Ford_F-150_OM_PL3J_19A321_AA_EN_V1.pdf filter=lfs diff=lfs merge=lfs -text +docs/chapters/Visual[[:space:]]Search.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Climate[[:space:]]Control[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]Manual[[:space:]]Climate[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Trailer[[:space:]]Reverse[[:space:]]Guidance.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Vehicle[[:space:]]Care.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Doors[[:space:]]and[[:space:]]Locks.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Interior[[:space:]]Air[[:space:]]Quality.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Keyless[[:space:]]Entry.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Rear[[:space:]]Seats[[:space:]]-[[:space:]]Crew[[:space:]]Cab.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Speed[[:space:]]Sign[[:space:]]Recognition.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/360[[:space:]]Degree[[:space:]]Camera.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Apps.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/High[[:space:]]Voltage[[:space:]]Battery[[:space:]]-[[:space:]]Hybrid[[:space:]]Electric[[:space:]]Vehicle[[:space:]](HEV).txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Instrument[[:space:]]Cluster[[:space:]]Display.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Introduction.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Moonroof.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Blind[[:space:]]Spot[[:space:]]Information[[:space:]]System.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Exterior[[:space:]]Lighting.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Towing[[:space:]]Your[[:space:]]Vehicle.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Trailer[[:space:]]Backup[[:space:]]Assistance.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Trailer[[:space:]]Hitching[[:space:]]Assistance.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Voice[[:space:]]Interaction.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Windows.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Wipers[[:space:]]and[[:space:]]Washers.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Brakes.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Hill[[:space:]]Descent[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Tailgate[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]Power[[:space:]]Tailgate.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Adaptive[[:space:]]Cruise[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Keys[[:space:]]and[[:space:]]Remote[[:space:]]Controls.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Storage.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Phone.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Scheduled[[:space:]]Maintenance.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/About[[:space:]]Us[[:space:]]-[[:space:]]Raptor.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Connected[[:space:]]Vehicle.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Onboard[[:space:]]Scales.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Fuses.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Security.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Stability[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/USB[[:space:]]Ports.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Vehicle[[:space:]]Software[[:space:]]Updates.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Adjustable[[:space:]]Pedals.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Auto[[:space:]]-[[:space:]]Start[[:space:]]-[[:space:]]Stop.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Center[[:space:]]Display[[:space:]]Overview.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Auto[[:space:]]Hold.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Snow[[:space:]]Plowing[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]Snow[[:space:]]Plow[[:space:]]Mode.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Cataytic[[:space:]]Converter.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Hill[[:space:]]Start[[:space:]]Assist.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Trail[[:space:]]Turn[[:space:]]Assist.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Bluetooth.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Connecting[[:space:]]a[[:space:]]Trailer.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/MyKey[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]MyKey.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Maintenance.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Tire[[:space:]]Pressue[[:space:]]Monitoring[[:space:]]System.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Warranty[[:space:]]Terms[[:space:]]and[[:space:]]Conditions[[:space:]]-[[:space:]]Raptor.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Trail[[:space:]]Control[[:space:]]-[[:space:]]Raptor-Tremor.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Steering[[:space:]]Wheel.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Towing[[:space:]]a[[:space:]]Trailer.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Hybrid[[:space:]]Electric[[:space:]]Vehicle[[:space:]]Information[[:space:]]-[[:space:]]Hybrid[[:space:]]Electric[[:space:]]Vehicle[[:space:]](HEV).txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Personal[[:space:]]Profiles.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Starting[[:space:]]and[[:space:]]Stopping[[:space:]]the[[:space:]]Engine.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Cross[[:space:]]Traffic[[:space:]]Braking.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Instrument[[:space:]]Cluster.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Interior[[:space:]]Mirror.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Tire[[:space:]]Care.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Accessories.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Climate[[:space:]]Control[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]Automatic[[:space:]]Temperature[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Integrated[[:space:]]Trailer[[:space:]]Brake[[:space:]]Controller.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Lane[[:space:]]Keeping[[:space:]]System.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Parking[[:space:]]Aids.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Power[[:space:]]Running[[:space:]]Boards.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Tailgate[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]Manual[[:space:]]Tailgate.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Vehicle[[:space:]]Identification.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Cross[[:space:]]Traffic[[:space:]]Alert.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Customer[[:space:]]Information.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Four-Wheel[[:space:]]Drive.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Trip[[:space:]]Computer.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Center[[:space:]]Console[[:space:]]Work[[:space:]]Surface.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Child[[:space:]]Safety.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Front[[:space:]]Seats.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Changing[[:space:]]a[[:space:]]Road[[:space:]]Wheel.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Power[[:space:]]Outlet[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]120v[[:space:]]Power[[:space:]]Outlet.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Snow[[:space:]]Plowing[[:space:]]-[[:space:]]Vehicles[[:space:]]Without:[[:space:]]Snow[[:space:]]Plow[[:space:]]Mode.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Wireless[[:space:]]Accessory[[:space:]]Charging.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Airbags.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Driver[[:space:]]Alert.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Personalized[[:space:]]Settings.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Storing[[:space:]]Your[[:space:]]Vehicle.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Tailgate[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]Remote[[:space:]]Release[[:space:]]Tailgate.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/911[[:space:]]Assist.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Ford[[:space:]]Protect.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Garage[[:space:]]Door[[:space:]]Openeer.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Trailer[[:space:]]Sway[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Decommissioning[[:space:]]the[[:space:]]Vehicle[[:space:]]-[[:space:]]Police[[:space:]]Responder.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Onboard[[:space:]]Generator.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Rear[[:space:]]View[[:space:]]Camera.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Seatbelts.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Crash[[:space:]]and[[:space:]]Breakdown[[:space:]]Information.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Driving[[:space:]]Hints.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Remote[[:space:]]Start.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/BlueCruise.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Reverse[[:space:]]Braking[[:space:]]Assist.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Active[[:space:]]Park[[:space:]]Assist.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Electromagnetic[[:space:]]Compatibility.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Interior[[:space:]]Lighting.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Pedestrian[[:space:]]Alert[[:space:]]System[[:space:]]-[[:space:]]Hybrid[[:space:]]Electric[[:space:]]Vehicle[[:space:]](HEV).txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Steering.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Vehicle[[:space:]]Wi-Fi[[:space:]]Hotspot.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Alexa[[:space:]]Built-In.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Capacities[[:space:]]and[[:space:]]Specifications.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Contacting[[:space:]]Us.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Power[[:space:]]Outlet[[:space:]]-[[:space:]]Vehicles[[:space:]]With:[[:space:]]12v[[:space:]]Power[[:space:]]Outlet.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Smart[[:space:]]Hitch.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Electric[[:space:]]Parking[[:space:]]Brake.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Exterior[[:space:]]Mirrors.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Fuel[[:space:]]and[[:space:]]Refueling.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Memory[[:space:]]Function.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Vehicle[[:space:]]System[[:space:]]Reset.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/At[[:space:]]a[[:space:]]Glance[[:space:]]-[[:space:]]Raptor.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Auxiliary[[:space:]]Switches.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Keyless[[:space:]]Entry[[:space:]]Keypad.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Pre-Collision[[:space:]]Assist.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Wheel[[:space:]]and[[:space:]]Tire[[:space:]]Information.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Audio[[:space:]]System.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Cruise[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Drive[[:space:]]Mode[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Personal[[:space:]]Safety[[:space:]]System.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Rear[[:space:]]Occupant[[:space:]]Alert[[:space:]]System.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Traction[[:space:]]Control.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Electronic[[:space:]]Locking[[:space:]]Differential.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Load[[:space:]]Carrying.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Navigation.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Pickup[[:space:]]Bed.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Automatic[[:space:]]Transmission.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Data[[:space:]]Privacy.txt filter=lfs diff=lfs merge=lfs -text +docs/chapters/Easy[[:space:]]Entry[[:space:]]and[[:space:]]Exit.txt filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0cb6d1abe6e00d86b28d93987cbb1e5aa953da86 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +--- +title: F150 +emoji: 🚙 +colorFrom: red +colorTo: red +sdk: gradio +sdk_version: 3.40.1 +app_file: src/app.py +pinned: false +--- + +Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference diff --git a/docs/2023_Ford_F-150_OM_PL3J_19A321_AA_EN_V1.pdf b/docs/2023_Ford_F-150_OM_PL3J_19A321_AA_EN_V1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..540ab02bdfc575e44dfd504ac1153192caba4422 --- /dev/null +++ b/docs/2023_Ford_F-150_OM_PL3J_19A321_AA_EN_V1.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24b45492e5a6969757ef98ca528d7ca1a75bc6e36ac2333fc4aba5a42421b3be +size 85633896 diff --git a/docs/chapters/360 Degree Camera.txt b/docs/chapters/360 Degree Camera.txt new file mode 100644 index 0000000000000000000000000000000000000000..da544dd73c8c9148eab214a8a05babb666f5aebd --- /dev/null +++ b/docs/chapters/360 Degree Camera.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8820f959cebdbdfeb700f0094f966e9789888d5bd53b15483d602fd90ef8c2e5 +size 5816 diff --git a/docs/chapters/911 Assist.txt b/docs/chapters/911 Assist.txt new file mode 100644 index 0000000000000000000000000000000000000000..b69ab1fbb8088dfe65a43254d651059aa3dbc203 --- /dev/null +++ b/docs/chapters/911 Assist.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b907d01243e149390d2fb8fe4827df5ecbf44ec9b59e97acfba270fd84a5f2b +size 3990 diff --git a/docs/chapters/About Us - Raptor.txt b/docs/chapters/About Us - Raptor.txt new file mode 100644 index 0000000000000000000000000000000000000000..fa6e834513e615f7d112777291f74a01ba259032 --- /dev/null +++ b/docs/chapters/About Us - Raptor.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:972f7ce395429bfc278c077b50d44e02e7c3030f27495f9af4051679dcb60f68 +size 3012 diff --git a/docs/chapters/Accessories.txt b/docs/chapters/Accessories.txt new file mode 100644 index 0000000000000000000000000000000000000000..ffe63b7cc54dc958bde62861f7bbbb98feef4dc4 --- /dev/null +++ b/docs/chapters/Accessories.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9847d41ad3f6b17a5a0d01a87fef5bb4d08e39b6b24a8c07d2029507ee1de058 +size 2899 diff --git a/docs/chapters/Active Park Assist.txt b/docs/chapters/Active Park Assist.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7d6aa2d767a68cc5a43020074c17b491fc756d7 --- /dev/null +++ b/docs/chapters/Active Park Assist.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f59320c99c01f1945c709da7a708f7f59fe2c401d5154a860f028a0e1e022b1 +size 7640 diff --git a/docs/chapters/Adaptive Cruise Control.txt b/docs/chapters/Adaptive Cruise Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..99bb904e6291be49898a3040acf864a035b8ab55 --- /dev/null +++ b/docs/chapters/Adaptive Cruise Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b52cc27b303a44f084bb6d7e260657d87018098dd03599ac7a46362ee7d79c4 +size 27980 diff --git a/docs/chapters/Adjustable Pedals.txt b/docs/chapters/Adjustable Pedals.txt new file mode 100644 index 0000000000000000000000000000000000000000..49d8b8aa303c31766f83ad9a03bf23e78fc6c9b2 --- /dev/null +++ b/docs/chapters/Adjustable Pedals.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd8bd0a490fa8d4614632c3f2ea137933ff65c7a635a7656d042ac87cf87a703 +size 506 diff --git a/docs/chapters/Airbags.txt b/docs/chapters/Airbags.txt new file mode 100644 index 0000000000000000000000000000000000000000..97de319d8606fd37553bc43e27de30fc13a42b63 --- /dev/null +++ b/docs/chapters/Airbags.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9723f0146266b4d0b69a2e4fcca4ee84d93bcd01ec836964bf8b825028ff2596 +size 27332 diff --git a/docs/chapters/Alexa Built-In.txt b/docs/chapters/Alexa Built-In.txt new file mode 100644 index 0000000000000000000000000000000000000000..b17133ba756d1cc3bf444d1d9ea06cbc29d25353 --- /dev/null +++ b/docs/chapters/Alexa Built-In.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22e87368c70bd62c5045c55563d064da90799dd5b73380aa355d63ac1b991279 +size 2204 diff --git a/docs/chapters/Apps.txt b/docs/chapters/Apps.txt new file mode 100644 index 0000000000000000000000000000000000000000..6e1eacbad736b4c2fc4700c06cc543bea7be0a02 --- /dev/null +++ b/docs/chapters/Apps.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bd57a4888a1b20a60ba5cf40a9bce0faefacd9c4a0ce96d7666bfbe2cf7f88d +size 4369 diff --git a/docs/chapters/At a Glance - Raptor.txt b/docs/chapters/At a Glance - Raptor.txt new file mode 100644 index 0000000000000000000000000000000000000000..8db02027a915ecac64a65d7e70119624f517ae9f --- /dev/null +++ b/docs/chapters/At a Glance - Raptor.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f3c3ef112dd383372b8830af751a90530416e060cf6d3ce8194f292759699cc +size 2340 diff --git a/docs/chapters/Audio System.txt b/docs/chapters/Audio System.txt new file mode 100644 index 0000000000000000000000000000000000000000..39f8ae0788676e8fede49293fc5ebcafe39d9508 --- /dev/null +++ b/docs/chapters/Audio System.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67fe75f793377db7bad8f6de066b30a4f00e8a87afbff14df038525da4fddc2b +size 13990 diff --git a/docs/chapters/Auto - Start - Stop.txt b/docs/chapters/Auto - Start - Stop.txt new file mode 100644 index 0000000000000000000000000000000000000000..9c5b85fd20b5e52942ba45171a2a6011ffc45f5a --- /dev/null +++ b/docs/chapters/Auto - Start - Stop.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9fe3775278de451203d0a86a48aa4ee66e9a9f83e4c9b0e6e7217dc4393f4f7 +size 2888 diff --git a/docs/chapters/Auto Hold.txt b/docs/chapters/Auto Hold.txt new file mode 100644 index 0000000000000000000000000000000000000000..eae089f2c1ad112ddf3fa58bf3ea56e4fd5cc31e --- /dev/null +++ b/docs/chapters/Auto Hold.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fb0226f272ad89a6bea56887ef3868c88a5fb884f2e291ef855a23170f68c8d +size 2558 diff --git a/docs/chapters/Automatic Transmission.txt b/docs/chapters/Automatic Transmission.txt new file mode 100644 index 0000000000000000000000000000000000000000..2732b253d96aa1349b3a0937e8630ebf22f410fb --- /dev/null +++ b/docs/chapters/Automatic Transmission.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3d80e7a5318a8d25e5f2df76b5335ef785326cc007c4af66265c63fd8a83110 +size 18331 diff --git a/docs/chapters/Auxiliary Switches.txt b/docs/chapters/Auxiliary Switches.txt new file mode 100644 index 0000000000000000000000000000000000000000..ccd8bd96bc097ccdc83800afc99a236804c3fc12 --- /dev/null +++ b/docs/chapters/Auxiliary Switches.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c326afa4134c73589bd2703676466b03dfcbfd0896aa7b7e17481817fdb640d +size 4064 diff --git a/docs/chapters/Blind Spot Information System.txt b/docs/chapters/Blind Spot Information System.txt new file mode 100644 index 0000000000000000000000000000000000000000..c26a9797e158404e21d1fe39af331419cd9ec0ec --- /dev/null +++ b/docs/chapters/Blind Spot Information System.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bea047041dda626dfcc1086a9a5a0f8d1146c32f4b2e4fc4d7a27a33c74fbf7 +size 8955 diff --git a/docs/chapters/BlueCruise.txt b/docs/chapters/BlueCruise.txt new file mode 100644 index 0000000000000000000000000000000000000000..d00584d1cc61c7480958d61d00bbb499f57bcb12 --- /dev/null +++ b/docs/chapters/BlueCruise.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c931c15b93b9d668f0829f2d59c92868607ccd80453fde6c3f361d2c5e44baf4 +size 11257 diff --git a/docs/chapters/Bluetooth.txt b/docs/chapters/Bluetooth.txt new file mode 100644 index 0000000000000000000000000000000000000000..e3801269331d05f802abc2065eb5d7581bf5d155 --- /dev/null +++ b/docs/chapters/Bluetooth.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:589ec978c0d53d1e75e2f3fd2f41e8ec7759d059c955bf3d148f71c6d9496adc +size 1855 diff --git a/docs/chapters/Brakes.txt b/docs/chapters/Brakes.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3a103ee3779484542b31804bb975d69049d9260 --- /dev/null +++ b/docs/chapters/Brakes.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9a6dc58cc68f7f1d0ce7685a637075b483c41b1a705c46779318e656293c320 +size 4555 diff --git a/docs/chapters/Capacities and Specifications.txt b/docs/chapters/Capacities and Specifications.txt new file mode 100644 index 0000000000000000000000000000000000000000..a8e63e729c7a1e6439c13545c580629b6299481e --- /dev/null +++ b/docs/chapters/Capacities and Specifications.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4321c257ad880b198d2d84a1963ac4f855085fc83114e3c0abed0906b0e24c6e +size 36354 diff --git a/docs/chapters/Cataytic Converter.txt b/docs/chapters/Cataytic Converter.txt new file mode 100644 index 0000000000000000000000000000000000000000..64a54eba98e5afb38753ffb31c7292c2307624fa --- /dev/null +++ b/docs/chapters/Cataytic Converter.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a2eb57375dcc5be14a663e324312e34e7c446d2007b466f9c91e3042a7d9a9f +size 2630 diff --git a/docs/chapters/Center Console Work Surface.txt b/docs/chapters/Center Console Work Surface.txt new file mode 100644 index 0000000000000000000000000000000000000000..659f32bbfa78f8a948e174140b3cf43748ffe11b --- /dev/null +++ b/docs/chapters/Center Console Work Surface.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4a9769f79daf6ccb0fc448008d27a82afc496f831b3cfef8ebd1733edf4d435 +size 1978 diff --git a/docs/chapters/Center Display Overview.txt b/docs/chapters/Center Display Overview.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ed0a5171b58f860b914c92a01d9341399a9ebcf --- /dev/null +++ b/docs/chapters/Center Display Overview.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ab57fd7c382b07d70a5fb66a4a964ffeed0ac2dde7d0b2bcd82765871e119fb +size 3914 diff --git a/docs/chapters/Changing a Road Wheel.txt b/docs/chapters/Changing a Road Wheel.txt new file mode 100644 index 0000000000000000000000000000000000000000..d330b7636bb7997232a433604c69f4dde33a9bdd --- /dev/null +++ b/docs/chapters/Changing a Road Wheel.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b97e60174fdbcc0cac32143f7e1628e2de088af592e6c0e5a4b3094c82498cba +size 23424 diff --git a/docs/chapters/Child Safety.txt b/docs/chapters/Child Safety.txt new file mode 100644 index 0000000000000000000000000000000000000000..a63c4e98cfcbc119a60097a74ffbe077fa9bf14c --- /dev/null +++ b/docs/chapters/Child Safety.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7b679d673f8baecfe74972ae5a8824a5bf6e86ec3c9f7b467b13ef330ad34ff +size 24351 diff --git a/docs/chapters/Climate Control - Vehicles With: Automatic Temperature Control.txt b/docs/chapters/Climate Control - Vehicles With: Automatic Temperature Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a0a19ef772cfd5aa234ea0dc45c382ab37fbfe3 --- /dev/null +++ b/docs/chapters/Climate Control - Vehicles With: Automatic Temperature Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:755d9443dbcc871ca37dc8da93d6fc9fef9966787ef0938a16f02cd6b2ee0a66 +size 7764 diff --git a/docs/chapters/Climate Control - Vehicles With: Manual Climate Control.txt b/docs/chapters/Climate Control - Vehicles With: Manual Climate Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b1a8f94e966a71dd76fa1a8e23eb12824c38184 --- /dev/null +++ b/docs/chapters/Climate Control - Vehicles With: Manual Climate Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:398a551496e3996345c76ca8ca162f78867a58395b47e754369382c6bcf40320 +size 5386 diff --git a/docs/chapters/Connected Vehicle.txt b/docs/chapters/Connected Vehicle.txt new file mode 100644 index 0000000000000000000000000000000000000000..b07ac355ca4180da76722d5fc7e3ef70c1628579 --- /dev/null +++ b/docs/chapters/Connected Vehicle.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcf6c152c18d547f3f7766583ee8dbf78cb410f73ea5c04efcb492240ef92d14 +size 4327 diff --git a/docs/chapters/Connecting a Trailer.txt b/docs/chapters/Connecting a Trailer.txt new file mode 100644 index 0000000000000000000000000000000000000000..56aed228d65be50e2a66edfdf5c1ad6134a65623 --- /dev/null +++ b/docs/chapters/Connecting a Trailer.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4e4e8bdd5df04e8085990a053e694e504d309b6a0090d9178dd8bd5e6ecd6e4 +size 7019 diff --git a/docs/chapters/Contacting Us.txt b/docs/chapters/Contacting Us.txt new file mode 100644 index 0000000000000000000000000000000000000000..e470b440076edf8759c899d3287fcfdd0f6faeae --- /dev/null +++ b/docs/chapters/Contacting Us.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8acacd2f21c8e25b87610baaf83e5b15564804f00ac1be364a88685c654ad382 +size 2275 diff --git a/docs/chapters/Crash and Breakdown Information.txt b/docs/chapters/Crash and Breakdown Information.txt new file mode 100644 index 0000000000000000000000000000000000000000..55a99d0e589e688289c98392b42e6956beb8a790 --- /dev/null +++ b/docs/chapters/Crash and Breakdown Information.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05a198ef9fbce471a589192889796dc847646c65d58e828e16a492e89774f4f2 +size 15022 diff --git a/docs/chapters/Cross Traffic Alert.txt b/docs/chapters/Cross Traffic Alert.txt new file mode 100644 index 0000000000000000000000000000000000000000..d799cf80df0840a9ebff4e2091357ab7a4974653 --- /dev/null +++ b/docs/chapters/Cross Traffic Alert.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de3865e7ad80b921383621fbb80dbecb0d02ab7fc9146bb1ac808bd58e3b39b9 +size 5108 diff --git a/docs/chapters/Cross Traffic Braking.txt b/docs/chapters/Cross Traffic Braking.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b0ec2e22f4f2c3daec95567444d1bae621b92bf --- /dev/null +++ b/docs/chapters/Cross Traffic Braking.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e9918f4b0a21a7d2972810d1bbe53c4056db3128724aa16730e88772df150ea +size 4695 diff --git a/docs/chapters/Cruise Control.txt b/docs/chapters/Cruise Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..bdded0761865852d104f993efed93ee9e6225d39 --- /dev/null +++ b/docs/chapters/Cruise Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:901dfa108717de092ebfde9f2463c09db71f82cbd7c522e939294985025bbb10 +size 2638 diff --git a/docs/chapters/Customer Information.txt b/docs/chapters/Customer Information.txt new file mode 100644 index 0000000000000000000000000000000000000000..7bea798d28f9284373309f5bd9de1a472c7bc2fd --- /dev/null +++ b/docs/chapters/Customer Information.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08a99c76a755133eec612f5ff36539a26785af8449ab3e169ab255afb5044f47 +size 112678 diff --git a/docs/chapters/Data Privacy.txt b/docs/chapters/Data Privacy.txt new file mode 100644 index 0000000000000000000000000000000000000000..ef347c89011b8297ed2d37fa12def6696b94020e --- /dev/null +++ b/docs/chapters/Data Privacy.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fd35cef4c2fb3d1b623470a960aa4bfc69ee5c625029c6f8492e7ce2e0d1983 +size 13197 diff --git a/docs/chapters/Decommissioning the Vehicle - Police Responder.txt b/docs/chapters/Decommissioning the Vehicle - Police Responder.txt new file mode 100644 index 0000000000000000000000000000000000000000..6bc3d1e7e4dd2926e05cf2c4769bf29cc7db8bf7 --- /dev/null +++ b/docs/chapters/Decommissioning the Vehicle - Police Responder.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a82568c9a8cc0e9757504530e3b069fc3583109c8f7f807e1f87c0cbff6d05e3 +size 1345 diff --git a/docs/chapters/Doors and Locks.txt b/docs/chapters/Doors and Locks.txt new file mode 100644 index 0000000000000000000000000000000000000000..210e68a917a8472287f04b6bed6c8b233f04f7a8 --- /dev/null +++ b/docs/chapters/Doors and Locks.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b26b50e8af78ce88cc661e9eec4420a7bf3a04bdca875fe3961a585a82985794 +size 3940 diff --git a/docs/chapters/Drive Mode Control.txt b/docs/chapters/Drive Mode Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..91ca1c69983dcd41e04171f9b27eae5f84aef3ab --- /dev/null +++ b/docs/chapters/Drive Mode Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:235ae66d19c83931134aa7ce7be506c96eb79aee3aea9222e08b19ff1746c4df +size 28873 diff --git a/docs/chapters/Driver Alert.txt b/docs/chapters/Driver Alert.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3612e0f9d054193507f79e7b19e264a200bfd3d --- /dev/null +++ b/docs/chapters/Driver Alert.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c3cae29eca391c160fe044f38eeaf70d433fcca66b0c6e2e481e6b563f98119 +size 2637 diff --git a/docs/chapters/Driving Hints.txt b/docs/chapters/Driving Hints.txt new file mode 100644 index 0000000000000000000000000000000000000000..2327c85720fc2c9d2e0e75957fe77151c698bed6 --- /dev/null +++ b/docs/chapters/Driving Hints.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73f0f4bf4162ffbd7456408d8c5f23feb10952b7a1e4e361e1f696cb0091affe +size 20446 diff --git a/docs/chapters/Easy Entry and Exit.txt b/docs/chapters/Easy Entry and Exit.txt new file mode 100644 index 0000000000000000000000000000000000000000..d128ae741fd097539704d20840d64f52dbc18423 --- /dev/null +++ b/docs/chapters/Easy Entry and Exit.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d88f1aaa38a837c3aef6e2f17238fefcea32678815a71125cdb4364d6fb661b +size 658 diff --git a/docs/chapters/Electric Parking Brake.txt b/docs/chapters/Electric Parking Brake.txt new file mode 100644 index 0000000000000000000000000000000000000000..51677be5d1bd642af8a347c982b00963890f135b --- /dev/null +++ b/docs/chapters/Electric Parking Brake.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35611177b168d35b882689802c2165c201522e17f40f270b7215e16215e3835d +size 3837 diff --git a/docs/chapters/Electromagnetic Compatibility.txt b/docs/chapters/Electromagnetic Compatibility.txt new file mode 100644 index 0000000000000000000000000000000000000000..031eb148531d1679dce9ababd8222c6dc818cc1a --- /dev/null +++ b/docs/chapters/Electromagnetic Compatibility.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f17aacf985f21692740a8c1ee11f26c57909d504bd5a91322047a63a88acde85 +size 1490 diff --git a/docs/chapters/Electronic Locking Differential.txt b/docs/chapters/Electronic Locking Differential.txt new file mode 100644 index 0000000000000000000000000000000000000000..3d10e0ac3c608319a364d20620b17998b36e2000 --- /dev/null +++ b/docs/chapters/Electronic Locking Differential.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f81343dffe3a9ff53489386d75a62c201a870b80334681f875db3445f31e180 +size 12431 diff --git a/docs/chapters/Exterior Lighting.txt b/docs/chapters/Exterior Lighting.txt new file mode 100644 index 0000000000000000000000000000000000000000..6ec311d887052212bcb5db0f99e34e582c66e5f5 --- /dev/null +++ b/docs/chapters/Exterior Lighting.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05dc375c1050c03551710808ad9ca9805106113899a21e2175bc0ab29f9b48cc +size 17266 diff --git a/docs/chapters/Exterior Mirrors.txt b/docs/chapters/Exterior Mirrors.txt new file mode 100644 index 0000000000000000000000000000000000000000..15a77640f330581366f8a7e24a0e4dbf1a5bca72 --- /dev/null +++ b/docs/chapters/Exterior Mirrors.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac49c55463f6dec928555cca910ddc1083dd1025d88126a5e4a285f9a0982e48 +size 4108 diff --git a/docs/chapters/Ford Protect.txt b/docs/chapters/Ford Protect.txt new file mode 100644 index 0000000000000000000000000000000000000000..29dcf99c667df5dcc4e17ceb33aa3738d6654ea9 --- /dev/null +++ b/docs/chapters/Ford Protect.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03e76c7009d28d6349288465ad44fb03277efb38d50b4228e115b19bb1994b2d +size 2592 diff --git a/docs/chapters/Four-Wheel Drive.txt b/docs/chapters/Four-Wheel Drive.txt new file mode 100644 index 0000000000000000000000000000000000000000..9b1555f1316f2ccc7aafc005833586d75e9e51ef --- /dev/null +++ b/docs/chapters/Four-Wheel Drive.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0b0a74626d44aab5595ba53e4c2cbacca143b54ffc8649f66d5a678146afa5e +size 18344 diff --git a/docs/chapters/Front Seats.txt b/docs/chapters/Front Seats.txt new file mode 100644 index 0000000000000000000000000000000000000000..146e4a662ad0556926bea39d56e835ff217e865b --- /dev/null +++ b/docs/chapters/Front Seats.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc6b8e60ab526c0a8131b8ec7c2b91f469e62b90b73b875a60cd0ab6740310e3 +size 12056 diff --git a/docs/chapters/Fuel and Refueling.txt b/docs/chapters/Fuel and Refueling.txt new file mode 100644 index 0000000000000000000000000000000000000000..8845cc8ee0ffd917356f6cf04af234ebccbe9ea1 --- /dev/null +++ b/docs/chapters/Fuel and Refueling.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db096f4f8984e4bdc44718830d4a69c0e8e5ef63938e9dd66efbd52278ac08e4 +size 17937 diff --git a/docs/chapters/Fuses.txt b/docs/chapters/Fuses.txt new file mode 100644 index 0000000000000000000000000000000000000000..949ffdc773444595ca45847aae5e25ad223bdd54 --- /dev/null +++ b/docs/chapters/Fuses.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ad17c759adb27b9cf46504f10ceb2eeb03c9e715fc28b541c675edb63224ffc +size 6482 diff --git a/docs/chapters/Garage Door Openeer.txt b/docs/chapters/Garage Door Openeer.txt new file mode 100644 index 0000000000000000000000000000000000000000..042c1b3ff81dcaf7226fe1515a10b529af27d94f --- /dev/null +++ b/docs/chapters/Garage Door Openeer.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bb05bb19cdddc8e11af467215c626866e874eb17445eea1250c27e83cf8de5f +size 9074 diff --git a/docs/chapters/High Voltage Battery - Hybrid Electric Vehicle (HEV).txt b/docs/chapters/High Voltage Battery - Hybrid Electric Vehicle (HEV).txt new file mode 100644 index 0000000000000000000000000000000000000000..e0293dc7545af4a5fb3d3853b720aaf783e4f7d6 --- /dev/null +++ b/docs/chapters/High Voltage Battery - Hybrid Electric Vehicle (HEV).txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c403395295886f463ed6219b68c800f9dcc67b5afc0b34ec323a574cf7afea43 +size 1200 diff --git a/docs/chapters/Hill Descent Control.txt b/docs/chapters/Hill Descent Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..a51133b2011ca81db946b11727f90a8f5f782b8b --- /dev/null +++ b/docs/chapters/Hill Descent Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7509592aa9a3d39f5cecb18801443670204a61256d927034cd782a0a90faa090 +size 3302 diff --git a/docs/chapters/Hill Start Assist.txt b/docs/chapters/Hill Start Assist.txt new file mode 100644 index 0000000000000000000000000000000000000000..4de2b3c43a6ae651d1a442fdfe82872632376c25 --- /dev/null +++ b/docs/chapters/Hill Start Assist.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f94fadfe1a796330839771e150bf799f1724138921e865e4164578a9465296bb +size 1521 diff --git a/docs/chapters/Hybrid Electric Vehicle Information - Hybrid Electric Vehicle (HEV).txt b/docs/chapters/Hybrid Electric Vehicle Information - Hybrid Electric Vehicle (HEV).txt new file mode 100644 index 0000000000000000000000000000000000000000..c984f973bce30b6c00b71c8e67b2bc7d9df7c00a --- /dev/null +++ b/docs/chapters/Hybrid Electric Vehicle Information - Hybrid Electric Vehicle (HEV).txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d32c613e023792359366eccbd65870aea4beb83154944f2e90304e407e97babf +size 8746 diff --git a/docs/chapters/Instrument Cluster Display.txt b/docs/chapters/Instrument Cluster Display.txt new file mode 100644 index 0000000000000000000000000000000000000000..b71c48c132fc3ee39d42397b53870667a803b483 --- /dev/null +++ b/docs/chapters/Instrument Cluster Display.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9930a7f9369f261971edf2231e782e54caffafa0b409c58c5a71d7b96cf926e7 +size 6159 diff --git a/docs/chapters/Instrument Cluster.txt b/docs/chapters/Instrument Cluster.txt new file mode 100644 index 0000000000000000000000000000000000000000..a81b4918a2bd07fccc0f7f873f48620633b0173d --- /dev/null +++ b/docs/chapters/Instrument Cluster.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e40a240c13b23bc4d8bd46852f91725418883ef1bf6bb4e75a47f1c86288a397 +size 7274 diff --git a/docs/chapters/Integrated Trailer Brake Controller.txt b/docs/chapters/Integrated Trailer Brake Controller.txt new file mode 100644 index 0000000000000000000000000000000000000000..ef3a39bb3e96333cbc4688ed359eaf55b44555ed --- /dev/null +++ b/docs/chapters/Integrated Trailer Brake Controller.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5430742552702b9a6cd56fd76802d5124cdbd27aa2c092acbc281304ce593ac6 +size 7953 diff --git a/docs/chapters/Interior Air Quality.txt b/docs/chapters/Interior Air Quality.txt new file mode 100644 index 0000000000000000000000000000000000000000..16e9e9bcfce1bcef836d3e76b5c9a1bccd1e2fe6 --- /dev/null +++ b/docs/chapters/Interior Air Quality.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:370103fc118386ec68081334c61e3a7a16308327b2d3ec8202dd9604763383f5 +size 712 diff --git a/docs/chapters/Interior Lighting.txt b/docs/chapters/Interior Lighting.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8bfb26b877b1d4c70156a9ca3609b8e7fe0ce39 --- /dev/null +++ b/docs/chapters/Interior Lighting.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e023fe0e69257c61c9b7c81487015bfdef7d3614eb79d06e5cb0e0b4382e071f +size 2741 diff --git a/docs/chapters/Interior Mirror.txt b/docs/chapters/Interior Mirror.txt new file mode 100644 index 0000000000000000000000000000000000000000..63365903ef6970445b2984a39190c157fe66a33e --- /dev/null +++ b/docs/chapters/Interior Mirror.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83e9caca859864813a8f6272c3714f112b5868c2a18af7c3a5f0c0916496700a +size 986 diff --git a/docs/chapters/Introduction.txt b/docs/chapters/Introduction.txt new file mode 100644 index 0000000000000000000000000000000000000000..8c76c2bf1cd3028e21cd931b726fd4f7cc8681f5 --- /dev/null +++ b/docs/chapters/Introduction.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e471748100badb56ccfd3eaa471a42bcbc7f840fca3cd321b755bfa7ff611d35 +size 2984 diff --git a/docs/chapters/Keyless Entry Keypad.txt b/docs/chapters/Keyless Entry Keypad.txt new file mode 100644 index 0000000000000000000000000000000000000000..85e39dc2f950032efd41fe5fe608aaec224891d7 --- /dev/null +++ b/docs/chapters/Keyless Entry Keypad.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9245d59fc7c876c0d8dd8bde7092ce3a6035b2068098dafeb40b9fa51889e68 +size 3467 diff --git a/docs/chapters/Keyless Entry.txt b/docs/chapters/Keyless Entry.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc0fda0c3fe5f86000e379d98bd593bfc22b69b1 --- /dev/null +++ b/docs/chapters/Keyless Entry.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efed1b1eaa5e5175c248ebbdb17b9889a764348aa435240951bee405fdbe0992 +size 3223 diff --git a/docs/chapters/Keys and Remote Controls.txt b/docs/chapters/Keys and Remote Controls.txt new file mode 100644 index 0000000000000000000000000000000000000000..dbc7a538a27d60533b6f9fdba567adcbfd2e17c4 --- /dev/null +++ b/docs/chapters/Keys and Remote Controls.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:760bd6bed82119e05af24208c1d54554344d3c30c27b6ff50254ca940d3ad479 +size 14127 diff --git a/docs/chapters/Lane Keeping System.txt b/docs/chapters/Lane Keeping System.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7c59280f63a02ab6db9db8253c84c7d1d8d044b --- /dev/null +++ b/docs/chapters/Lane Keeping System.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d57ac1c71d3402a44d94b3c0fccaea323afdd38b41ea4a5845ff1b3f89ca9d9e +size 8263 diff --git a/docs/chapters/Load Carrying.txt b/docs/chapters/Load Carrying.txt new file mode 100644 index 0000000000000000000000000000000000000000..dcb52328f29d6992723d5a39948359fe77c5b522 --- /dev/null +++ b/docs/chapters/Load Carrying.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f6642653f53182fd08794782d65c24d8f0d9fdba04d47d2df9faac1ab64a7b9 +size 7500 diff --git a/docs/chapters/Maintenance.txt b/docs/chapters/Maintenance.txt new file mode 100644 index 0000000000000000000000000000000000000000..3c2ae1f58ab89b6305f526a4302dfd2f08ea6f13 --- /dev/null +++ b/docs/chapters/Maintenance.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9d8e9065259f26fd521c3193be1202b7727b786a55ed056236fae3e495c1090 +size 41697 diff --git a/docs/chapters/Memory Function.txt b/docs/chapters/Memory Function.txt new file mode 100644 index 0000000000000000000000000000000000000000..d048efa5ce70e5058ab7682a35dbeca0de4c8d08 --- /dev/null +++ b/docs/chapters/Memory Function.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9ecd255ff23c53f4f72ed26dc56b580752516dfa4b0aca06b9b6d6a1b7f6f11 +size 1897 diff --git a/docs/chapters/Moonroof.txt b/docs/chapters/Moonroof.txt new file mode 100644 index 0000000000000000000000000000000000000000..adac0bf5ff2bd9c8606eb367385cf8cab2b1a48b --- /dev/null +++ b/docs/chapters/Moonroof.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10083d7e36030e765fff7dfed4782682a2262bd001aeb32f14e9ca5ed53c7ca1 +size 2961 diff --git a/docs/chapters/MyKey - Vehicles With: MyKey.txt b/docs/chapters/MyKey - Vehicles With: MyKey.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2f81affa5fbdd4984267d3ff73d4e15d4dcc1d1 --- /dev/null +++ b/docs/chapters/MyKey - Vehicles With: MyKey.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3a8a376fb76dcf99922f79f01dccfecf4b0c266e1a8e348f6c5c8660ff2113e +size 6900 diff --git a/docs/chapters/Navigation.txt b/docs/chapters/Navigation.txt new file mode 100644 index 0000000000000000000000000000000000000000..35107aee98079fe25759e541f4faab6af4fed3d8 --- /dev/null +++ b/docs/chapters/Navigation.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebeb3f33415270cd66417f068053a8f509cfb6eafb9e9197307596a6217938ed +size 5079 diff --git a/docs/chapters/Onboard Generator.txt b/docs/chapters/Onboard Generator.txt new file mode 100644 index 0000000000000000000000000000000000000000..a42265ee6a11f129ecaa81c0e0450f8aefa6c54a --- /dev/null +++ b/docs/chapters/Onboard Generator.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cb83126b600590f22ac43abd89e986f432f258ca3def0b1faeb29f3be915060 +size 12326 diff --git a/docs/chapters/Onboard Scales.txt b/docs/chapters/Onboard Scales.txt new file mode 100644 index 0000000000000000000000000000000000000000..666d0a70c3869987e2824ff1fe0ff322b850b9ed --- /dev/null +++ b/docs/chapters/Onboard Scales.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:470148ed5e35f9ed673820fab12d1c0daa12e5de8b71c1314d53d4975495f808 +size 1469 diff --git a/docs/chapters/Parking Aids.txt b/docs/chapters/Parking Aids.txt new file mode 100644 index 0000000000000000000000000000000000000000..d32b7bb18e98c43e8c3a31b295883a1f4ad68071 --- /dev/null +++ b/docs/chapters/Parking Aids.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2a1c058cfd50828062468568922f55b3d62a2c44be5be28e18dd30023c764a6 +size 11031 diff --git a/docs/chapters/Pedestrian Alert System - Hybrid Electric Vehicle (HEV).txt b/docs/chapters/Pedestrian Alert System - Hybrid Electric Vehicle (HEV).txt new file mode 100644 index 0000000000000000000000000000000000000000..dbd20a083e8b51c320e46378610b0cd3f4dfb1e2 --- /dev/null +++ b/docs/chapters/Pedestrian Alert System - Hybrid Electric Vehicle (HEV).txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f01b134182e98591d85416faa2f26578521cee435e8b200367fcede60dbe87d +size 437 diff --git a/docs/chapters/Personal Profiles.txt b/docs/chapters/Personal Profiles.txt new file mode 100644 index 0000000000000000000000000000000000000000..4e076b8519327057303781e01240f6ca232a5864 --- /dev/null +++ b/docs/chapters/Personal Profiles.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:240af5e253d2329ae0c88cc1d86d5fb56d54e5d8e124de273337bb49862d748c +size 3895 diff --git a/docs/chapters/Personal Safety System.txt b/docs/chapters/Personal Safety System.txt new file mode 100644 index 0000000000000000000000000000000000000000..c531f069082f145ad94bccbf1900bc1ae9a29e24 --- /dev/null +++ b/docs/chapters/Personal Safety System.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:309fd80539426ec7a8d6caf3303a9fdd6a789628a47718834e8ef9b36c00e848 +size 1364 diff --git a/docs/chapters/Personalized Settings.txt b/docs/chapters/Personalized Settings.txt new file mode 100644 index 0000000000000000000000000000000000000000..c98f839467e8c959a762870b60209d33c9abb416 --- /dev/null +++ b/docs/chapters/Personalized Settings.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65f4a9645446694ccb0f28048fd93f27e44f2fba654a60d4df7a55630897072b +size 620 diff --git a/docs/chapters/Phone.txt b/docs/chapters/Phone.txt new file mode 100644 index 0000000000000000000000000000000000000000..7968409727bcfb5ae971e02fd0bd7cd69148fc7c --- /dev/null +++ b/docs/chapters/Phone.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1440db2548bbd9204713fde79cfea6f3810632ef5f903aed20ce60c70fa83dae +size 5170 diff --git a/docs/chapters/Pickup Bed.txt b/docs/chapters/Pickup Bed.txt new file mode 100644 index 0000000000000000000000000000000000000000..836a0f62923c120de4a0ae8c3ef9e3be30e53b98 --- /dev/null +++ b/docs/chapters/Pickup Bed.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f09935f85e99566fa47e76ed2bc6d9769f04d11ed45797e885b44a649f4e09e +size 4491 diff --git a/docs/chapters/Power Outlet - Vehicles With: 120v Power Outlet.txt b/docs/chapters/Power Outlet - Vehicles With: 120v Power Outlet.txt new file mode 100644 index 0000000000000000000000000000000000000000..7753ff3c67dcd9ea9e1d081c92ff5176ed714516 --- /dev/null +++ b/docs/chapters/Power Outlet - Vehicles With: 120v Power Outlet.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c862a72db2d0454dd20c2418f867b0a6561a69c1b0646ab0a40ef285a9cb819 +size 3239 diff --git a/docs/chapters/Power Outlet - Vehicles With: 12v Power Outlet.txt b/docs/chapters/Power Outlet - Vehicles With: 12v Power Outlet.txt new file mode 100644 index 0000000000000000000000000000000000000000..a3acdbf6a6efa737d5f1891e7757e8a2afc189a0 --- /dev/null +++ b/docs/chapters/Power Outlet - Vehicles With: 12v Power Outlet.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a38dac7440c647b390fc64ed8c1566548964aa295233801bed58f600acd0171f +size 1464 diff --git a/docs/chapters/Power Running Boards.txt b/docs/chapters/Power Running Boards.txt new file mode 100644 index 0000000000000000000000000000000000000000..78445d5248f25a9ec000050e46d41958859c1060 --- /dev/null +++ b/docs/chapters/Power Running Boards.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8fc6094621050b79b711b088585d2c3de9e4fb4af71be79ff1aac7d858edb0e +size 4022 diff --git a/docs/chapters/Pre-Collision Assist.txt b/docs/chapters/Pre-Collision Assist.txt new file mode 100644 index 0000000000000000000000000000000000000000..46ea188a977d47c50ca4ee87e83aa0da04cf02e0 --- /dev/null +++ b/docs/chapters/Pre-Collision Assist.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:230a60ca07a22a007d20c8d880f2f651b1c3decff7c6fd7e863367ee350ed661 +size 14517 diff --git a/docs/chapters/Rear Occupant Alert System.txt b/docs/chapters/Rear Occupant Alert System.txt new file mode 100644 index 0000000000000000000000000000000000000000..308a7f82579091525fd11530971df5e1e006c1a6 --- /dev/null +++ b/docs/chapters/Rear Occupant Alert System.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:963a6be365f670c4523fdbb64df20fe7e454aebf1f12d571b125f9cbd2452743 +size 3151 diff --git a/docs/chapters/Rear Seats - Crew Cab.txt b/docs/chapters/Rear Seats - Crew Cab.txt new file mode 100644 index 0000000000000000000000000000000000000000..a633509eea0494ea05196c6edd19579b0b930b93 --- /dev/null +++ b/docs/chapters/Rear Seats - Crew Cab.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67ba7cd2ac1bbf807c640daf484b2c4e57d28b1139aa72e63f2700f1cdb0a761 +size 2103 diff --git a/docs/chapters/Rear View Camera.txt b/docs/chapters/Rear View Camera.txt new file mode 100644 index 0000000000000000000000000000000000000000..f097042b3dceb621421a8bd173b02d65d25b225d --- /dev/null +++ b/docs/chapters/Rear View Camera.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15f33d5c8249ab4ceee852d717e583c067cba5a3a276006d4e95272934016491 +size 3601 diff --git a/docs/chapters/Remote Start.txt b/docs/chapters/Remote Start.txt new file mode 100644 index 0000000000000000000000000000000000000000..5060816b433f8e7bbd5e68bfb15a53c75dd892e1 --- /dev/null +++ b/docs/chapters/Remote Start.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f278e80a09071861d31ce9db2fa47cdcccb34b5e5cbcfebc0b80be84cca178d +size 4482 diff --git a/docs/chapters/Reverse Braking Assist.txt b/docs/chapters/Reverse Braking Assist.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd092571fbeabb48abe97e02f9afd63e63292f76 --- /dev/null +++ b/docs/chapters/Reverse Braking Assist.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cb63693f583130152da3c6a6ed17f0f408a52b33b90e73c44729a030af9c89d +size 5560 diff --git a/docs/chapters/Scheduled Maintenance.txt b/docs/chapters/Scheduled Maintenance.txt new file mode 100644 index 0000000000000000000000000000000000000000..69ccfd7e56f317ac3c416019e1c7b623ee2bb19b --- /dev/null +++ b/docs/chapters/Scheduled Maintenance.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ccf67185603172313d43c7831bd6dbfcd7f8ddd4f4b173b1f2dae533f9c348f +size 18968 diff --git a/docs/chapters/Seatbelts.txt b/docs/chapters/Seatbelts.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2c6805d1807c0fde8130c5635575b4549fd5a2e --- /dev/null +++ b/docs/chapters/Seatbelts.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b69886455edcf70ac8c63e167370061b19484dcdd30098fc1a4f25d10f8f5cb +size 15759 diff --git a/docs/chapters/Security.txt b/docs/chapters/Security.txt new file mode 100644 index 0000000000000000000000000000000000000000..15a3d0277bfe3c7c6c03c9df0fa36c84df01dc28 --- /dev/null +++ b/docs/chapters/Security.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e069bde788865f07b9e4536bd6e1260f09ebe4892fb50a35d60b4827f9789a38 +size 4343 diff --git a/docs/chapters/Smart Hitch.txt b/docs/chapters/Smart Hitch.txt new file mode 100644 index 0000000000000000000000000000000000000000..7773d33fbf2bea7e8e2cb47f9d98b7a2d1f3eca5 --- /dev/null +++ b/docs/chapters/Smart Hitch.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fe5b69cce1f4a8c7be8a076138a3a986d95bf4981b8959a4862fc7b4d2f9bfd +size 3726 diff --git a/docs/chapters/Snow Plowing - Vehicles With: Snow Plow Mode.txt b/docs/chapters/Snow Plowing - Vehicles With: Snow Plow Mode.txt new file mode 100644 index 0000000000000000000000000000000000000000..82f9897d35e8f1b39d3056a59b4e0b28df2a18f8 --- /dev/null +++ b/docs/chapters/Snow Plowing - Vehicles With: Snow Plow Mode.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f7e764885f0e7cb9f235339cd3406801a7388f6e8a6cee9057447c3396123ac +size 5545 diff --git a/docs/chapters/Snow Plowing - Vehicles Without: Snow Plow Mode.txt b/docs/chapters/Snow Plowing - Vehicles Without: Snow Plow Mode.txt new file mode 100644 index 0000000000000000000000000000000000000000..ca401579bd350313dd9615f0b9da9d45dead9295 --- /dev/null +++ b/docs/chapters/Snow Plowing - Vehicles Without: Snow Plow Mode.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2aeed587afb64baa5e15b85ff46a400fd82718374f412a140007cbd1008188fe +size 225 diff --git a/docs/chapters/Speed Sign Recognition.txt b/docs/chapters/Speed Sign Recognition.txt new file mode 100644 index 0000000000000000000000000000000000000000..74f6d87474c0fd0de358959987d1ba038cd10626 --- /dev/null +++ b/docs/chapters/Speed Sign Recognition.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60f7f1e2e808a409356a5f02c04ce55daadb713e53f12b5e835e206bac5705bf +size 3151 diff --git a/docs/chapters/Stability Control.txt b/docs/chapters/Stability Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..17a2381d45088e24d6eeef10c50b0a8cf8a69d3a --- /dev/null +++ b/docs/chapters/Stability Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9571fda64753df95d6ba76bb20b9154886a70ae03548c7685681fff44dd95888 +size 5660 diff --git a/docs/chapters/Starting and Stopping the Engine.txt b/docs/chapters/Starting and Stopping the Engine.txt new file mode 100644 index 0000000000000000000000000000000000000000..e607cee002c0428eb38c2d465c23dc7f1f1ac5ba --- /dev/null +++ b/docs/chapters/Starting and Stopping the Engine.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2ba048854cce8f813d6d98cd6cdb95e2ff365c887ad31684dccd7f627dee39a +size 16760 diff --git a/docs/chapters/Steering Wheel.txt b/docs/chapters/Steering Wheel.txt new file mode 100644 index 0000000000000000000000000000000000000000..98f3aa2f0751737290a32226df6ea52f1b501211 --- /dev/null +++ b/docs/chapters/Steering Wheel.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81eb537b64bc4ef5c2e3323596b3f79c27a0169d748aef267f9616b95603f188 +size 2216 diff --git a/docs/chapters/Steering.txt b/docs/chapters/Steering.txt new file mode 100644 index 0000000000000000000000000000000000000000..4ac260c7e0be0a6051d1bdb1b67a5be61410edba --- /dev/null +++ b/docs/chapters/Steering.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7632a5291ecf048a79e2163ec03da52d4cd9b21c6f0f917b6895a1a3709eabb +size 5073 diff --git a/docs/chapters/Storage.txt b/docs/chapters/Storage.txt new file mode 100644 index 0000000000000000000000000000000000000000..a741d928d37091954e633c5eceda38da80dfab41 --- /dev/null +++ b/docs/chapters/Storage.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:350f7866dad7e285b873d1af5baa623df7c6476f4aa7eb5991f59659a2691a21 +size 2035 diff --git a/docs/chapters/Storing Your Vehicle.txt b/docs/chapters/Storing Your Vehicle.txt new file mode 100644 index 0000000000000000000000000000000000000000..25ff5f87277b4fc2d53f4dfc5d4d96bdf5a5baf6 --- /dev/null +++ b/docs/chapters/Storing Your Vehicle.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad064393219e5263ff9353ed97837115d86fc0654aa9a257d6d5b630feb2e857 +size 4239 diff --git a/docs/chapters/Tailgate - Vehicles With: Manual Tailgate.txt b/docs/chapters/Tailgate - Vehicles With: Manual Tailgate.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f0daf87b4be696d7d1b79e182929762d3e14aeb --- /dev/null +++ b/docs/chapters/Tailgate - Vehicles With: Manual Tailgate.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5263e97b07a94d2a4a6e075bac6c3702a4c045819594659be615515c6745ae69 +size 6205 diff --git a/docs/chapters/Tailgate - Vehicles With: Power Tailgate.txt b/docs/chapters/Tailgate - Vehicles With: Power Tailgate.txt new file mode 100644 index 0000000000000000000000000000000000000000..61bb2d727c2770843789af026073bdd16cb7c3f4 --- /dev/null +++ b/docs/chapters/Tailgate - Vehicles With: Power Tailgate.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1910fe7e1c98aceb41356f1009a8348958c1496b808c84cac864ead7aee9051b +size 9575 diff --git a/docs/chapters/Tailgate - Vehicles With: Remote Release Tailgate.txt b/docs/chapters/Tailgate - Vehicles With: Remote Release Tailgate.txt new file mode 100644 index 0000000000000000000000000000000000000000..0dba77b116bd47ba393b831b29b8f4fad910e2d2 --- /dev/null +++ b/docs/chapters/Tailgate - Vehicles With: Remote Release Tailgate.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e80feb692ed0c999b304989408b70376196fd9e2488b4bd33eb287e7371ed7c +size 7616 diff --git a/docs/chapters/Tire Care.txt b/docs/chapters/Tire Care.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f5ba82a194f79a31b290dbbfa9b61f6a13090af --- /dev/null +++ b/docs/chapters/Tire Care.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:041a65e60556eb91176d4edb8f87997ab2152c6c72176b2d32e4cf53dade5a39 +size 6183 diff --git a/docs/chapters/Tire Pressue Monitoring System.txt b/docs/chapters/Tire Pressue Monitoring System.txt new file mode 100644 index 0000000000000000000000000000000000000000..a8621aa46cebef110908a3bc58d89ab6a88b8a62 --- /dev/null +++ b/docs/chapters/Tire Pressue Monitoring System.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50a405ed3ae00d3cfe99477fe585bc2ca5f7c16879c6042e9a3d23d3d0ee9812 +size 13438 diff --git a/docs/chapters/Towing Your Vehicle.txt b/docs/chapters/Towing Your Vehicle.txt new file mode 100644 index 0000000000000000000000000000000000000000..7fb501793ce1a2fab4aa78eb051713072a6375b4 --- /dev/null +++ b/docs/chapters/Towing Your Vehicle.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fec3fa40fae5ae1fb4c75628773546585ae1b52d63f6b6bdf89067a4a1fa25a +size 7519 diff --git a/docs/chapters/Towing a Trailer.txt b/docs/chapters/Towing a Trailer.txt new file mode 100644 index 0000000000000000000000000000000000000000..5b350a4d3450a07ab1d75ea0e39ae54eb498b0ac --- /dev/null +++ b/docs/chapters/Towing a Trailer.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b0a886d8165bdc82c3da1522e6c7fd7d02d3eed4b118980f8295e0754b035104 +size 10387 diff --git a/docs/chapters/Traction Control.txt b/docs/chapters/Traction Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..e6fd42798016f41f04954dce806f72e896dc0c96 --- /dev/null +++ b/docs/chapters/Traction Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7671ca928b336ae04b455868062aca628ddbd058478f2695b8826e81872fb85 +size 2655 diff --git a/docs/chapters/Trail Control - Raptor-Tremor.txt b/docs/chapters/Trail Control - Raptor-Tremor.txt new file mode 100644 index 0000000000000000000000000000000000000000..48fd1548a5fbaa17bc458e97df72a344f0253e88 --- /dev/null +++ b/docs/chapters/Trail Control - Raptor-Tremor.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30a11ba2eb5a833db210b3cf1df5badf86d7d2c78334eb7256548012f9ebb39a +size 8876 diff --git a/docs/chapters/Trail Turn Assist.txt b/docs/chapters/Trail Turn Assist.txt new file mode 100644 index 0000000000000000000000000000000000000000..9946a7faea13652d515d5610e282e8e01bb20f8b --- /dev/null +++ b/docs/chapters/Trail Turn Assist.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d9e1731524598840864ecafad2498019ecf8ced8bd8629eb920944f7613acf3 +size 3650 diff --git a/docs/chapters/Trailer Backup Assistance.txt b/docs/chapters/Trailer Backup Assistance.txt new file mode 100644 index 0000000000000000000000000000000000000000..bcfda6618707d28df824c9cd9d6cb14ba7bec907 --- /dev/null +++ b/docs/chapters/Trailer Backup Assistance.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e4616b16c2c0385b9fd86270617158655b28e11e535188cf234508c13cd84c0 +size 16076 diff --git a/docs/chapters/Trailer Hitching Assistance.txt b/docs/chapters/Trailer Hitching Assistance.txt new file mode 100644 index 0000000000000000000000000000000000000000..584d76fca617dd8224609fc83fe3d6f816b931e3 --- /dev/null +++ b/docs/chapters/Trailer Hitching Assistance.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cabd4addf944451fc892f6f4dd8601120ecba0ce51f64519d4f7f88d8a15d69d +size 4890 diff --git a/docs/chapters/Trailer Reverse Guidance.txt b/docs/chapters/Trailer Reverse Guidance.txt new file mode 100644 index 0000000000000000000000000000000000000000..27636c5026352bb65739b5d69199593bdcc6e670 --- /dev/null +++ b/docs/chapters/Trailer Reverse Guidance.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8164a3e0da1aa19362fced26b182d00ae95593742b4ab153e2b625771fc783f7 +size 15029 diff --git a/docs/chapters/Trailer Sway Control.txt b/docs/chapters/Trailer Sway Control.txt new file mode 100644 index 0000000000000000000000000000000000000000..6a734ffb8ee9b78e466e66cf4b44743893f89ecc --- /dev/null +++ b/docs/chapters/Trailer Sway Control.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:303f57b2f4f88f954f751b02b274cc61e8002b95e6415f40fa68542bb1012983 +size 1521 diff --git a/docs/chapters/Trip Computer.txt b/docs/chapters/Trip Computer.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff8229de2009a0ba717b0be494c31ec1057ac0b1 --- /dev/null +++ b/docs/chapters/Trip Computer.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9b005b584390b1f948afc95c998f618b565b161ab8afb537481daf03328e0cf +size 966 diff --git a/docs/chapters/USB Ports.txt b/docs/chapters/USB Ports.txt new file mode 100644 index 0000000000000000000000000000000000000000..a7fe49be19fe817f0b3680a2a692f7a9a8cc8806 --- /dev/null +++ b/docs/chapters/USB Ports.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db59e99e68ee967b59cfda1deace759f379dee69769dfa0839b73d33f31bd95d +size 2911 diff --git a/docs/chapters/Vehicle Care.txt b/docs/chapters/Vehicle Care.txt new file mode 100644 index 0000000000000000000000000000000000000000..16833efdccf26a7ee272c70b499b0c62929fd5a3 --- /dev/null +++ b/docs/chapters/Vehicle Care.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99ea9d4a21b70849e6a9743ceed73269b20e74b76cb43acc80e3350c347dff1b +size 12651 diff --git a/docs/chapters/Vehicle Identification.txt b/docs/chapters/Vehicle Identification.txt new file mode 100644 index 0000000000000000000000000000000000000000..685def114594977d772989ecf68f8546e43df74f --- /dev/null +++ b/docs/chapters/Vehicle Identification.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a04b98d9d0b3133f4b13f7c9cdbe13780a0dcf34cee1b40c15c26f7103190ca +size 724 diff --git a/docs/chapters/Vehicle Software Updates.txt b/docs/chapters/Vehicle Software Updates.txt new file mode 100644 index 0000000000000000000000000000000000000000..28b1b515e74535ff594db38832b6d4a314f764fe --- /dev/null +++ b/docs/chapters/Vehicle Software Updates.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bcefe9bff67de080678150490c5547650618e5880d36edc1a0bd03290752f6e +size 4741 diff --git a/docs/chapters/Vehicle System Reset.txt b/docs/chapters/Vehicle System Reset.txt new file mode 100644 index 0000000000000000000000000000000000000000..567b255ea0bd323098af466ef53cbfa86165149b --- /dev/null +++ b/docs/chapters/Vehicle System Reset.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5071c7d5e1c5e0059e1b0fe6438f44979141023e695e219adb4a95e3b79a517 +size 370 diff --git a/docs/chapters/Vehicle Wi-Fi Hotspot.txt b/docs/chapters/Vehicle Wi-Fi Hotspot.txt new file mode 100644 index 0000000000000000000000000000000000000000..35e9ff9c628601adbfa6ea212a0cb4960b4e2ad5 --- /dev/null +++ b/docs/chapters/Vehicle Wi-Fi Hotspot.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd46c4c68ed8c92109f67f75903fd3703631f51d12689ab4b30227ef66beaaa4 +size 3303 diff --git a/docs/chapters/Visual Search.txt b/docs/chapters/Visual Search.txt new file mode 100644 index 0000000000000000000000000000000000000000..7a2315cb996feced064bf01cf47dc26c971593a8 --- /dev/null +++ b/docs/chapters/Visual Search.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:863c074c857ceec4522c7db2a54f20e3e76baa4c54a8ff2ce03ba3e418fdb556 +size 7838 diff --git a/docs/chapters/Voice Interaction.txt b/docs/chapters/Voice Interaction.txt new file mode 100644 index 0000000000000000000000000000000000000000..6adf54134773c0e95a120b69374074ed04e3c1dd --- /dev/null +++ b/docs/chapters/Voice Interaction.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd3d7cf98e0cb6206185c9fc9dfef1971ce7eef75c3298d19e3b6f595a2eb112 +size 2270 diff --git a/docs/chapters/Warranty Terms and Conditions - Raptor.txt b/docs/chapters/Warranty Terms and Conditions - Raptor.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a7e8222afc682f3b5aa5bd6c40b99eab7dce27e --- /dev/null +++ b/docs/chapters/Warranty Terms and Conditions - Raptor.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f8f29a57ddcaccb5b6ecf5a978a2b58c3fd0e1ab5c839dacc450acbbf4f8b31 +size 2083 diff --git a/docs/chapters/Wheel and Tire Information.txt b/docs/chapters/Wheel and Tire Information.txt new file mode 100644 index 0000000000000000000000000000000000000000..e18cc9d275fbc334d50d0bbae7403466a0540cfc --- /dev/null +++ b/docs/chapters/Wheel and Tire Information.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5ae4383ef34dfed295602e436cea3bfcbe1201d18258ededb6252bcb024159a +size 22436 diff --git a/docs/chapters/Windows.txt b/docs/chapters/Windows.txt new file mode 100644 index 0000000000000000000000000000000000000000..810ea1ab6e8d92975e36e3ba87b371f068c174a8 --- /dev/null +++ b/docs/chapters/Windows.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca42129a0341bdf16b5b5365c66b41343748bab46f824dae19ddfe855fa487cf +size 4383 diff --git a/docs/chapters/Wipers and Washers.txt b/docs/chapters/Wipers and Washers.txt new file mode 100644 index 0000000000000000000000000000000000000000..7bc49726d71d5ec1497f7584a62c0c04dea662aa --- /dev/null +++ b/docs/chapters/Wipers and Washers.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31d12f08811f191490296c90e4c514a4105587f350dcb4c49d6e57513b2d1451 +size 3929 diff --git a/docs/chapters/Wireless Accessory Charging.txt b/docs/chapters/Wireless Accessory Charging.txt new file mode 100644 index 0000000000000000000000000000000000000000..6f0fac57e4490738501e942cc0d57e365d831b80 --- /dev/null +++ b/docs/chapters/Wireless Accessory Charging.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:960c69262fcb2ce6787a65621b20f35de78df43cc6428ffdaefb8125c6be3d04 +size 2700 diff --git a/src/__pycache__/app.cpython-310.pyc b/src/__pycache__/app.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0e016e0d0d538461594b6827bcec18bf105c553d Binary files /dev/null and b/src/__pycache__/app.cpython-310.pyc differ diff --git a/src/__pycache__/gradio.cpython-310.pyc b/src/__pycache__/gradio.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..09116c7bcbe83e6f5879bc1195a6db990af78333 Binary files /dev/null and b/src/__pycache__/gradio.cpython-310.pyc differ diff --git a/src/app.py b/src/app.py new file mode 100644 index 0000000000000000000000000000000000000000..eaaca16edeab073963208825074db54011f84889 --- /dev/null +++ b/src/app.py @@ -0,0 +1,150 @@ +import json +import logging +import os +import sys +from threading import Lock + +import gradio as gr +import s3fs +import torch +from langchain.embeddings.huggingface import HuggingFaceEmbeddings +from llama_index import (ServiceContext, StorageContext, + load_index_from_storage, set_global_service_context) +from llama_index.agent import ContextRetrieverOpenAIAgent, OpenAIAgent +from llama_index.indices.vector_store import VectorStoreIndex +from llama_index.llms import ChatMessage, MessageRole, OpenAI +from llama_index.prompts import ChatPromptTemplate, PromptTemplate +from llama_index.query_engine import RetrieverQueryEngine +from llama_index.response_synthesizers import get_response_synthesizer +from llama_index.retrievers import RecursiveRetriever +from llama_index.tools import QueryEngineTool, ToolMetadata +from llama_index.vector_stores import PGVectorStore +from sqlalchemy import make_url + + +def get_embed_model(): + model_kwargs = {'device': 'cpu'} + if torch.cuda.is_available(): + model_kwargs['device'] = 'cuda' + if torch.backends.mps.is_available(): + model_kwargs['device'] = 'mps' + + encode_kwargs = {'normalize_embeddings': True} # set True to compute cosine similarity + print("Loading model...") + try: + model_norm = HuggingFaceEmbeddings( + model_name="thenlper/gte-small", + model_kwargs=model_kwargs, + encode_kwargs=encode_kwargs, + ) + except Exception as exception: + print(f"Model not found. Loading fake model...{exception}") + exit() + print("Model loaded.") + return model_norm + +embed_model = get_embed_model() +llm = OpenAI("gpt-4") +service_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model) +set_global_service_context(service_context) + +s3 = s3fs.S3FileSystem( + key=os.environ["AWS_CANONICAL_KEY"], + secret=os.environ["AWS_CANONICAL_SECRET"], +) + +titles = s3.ls("f150-user-manual/recursive-agent/") +titles = list(map(lambda x: x.split("/")[-1], titles)) + +agents = {} +for title in titles[:5]: + if(title == "vector_index"): + continue + + print(title) + # build vector index + storage_context = StorageContext.from_defaults(persist_dir=f"f150-user-manual/recursive-agent/{title}/vector_index", fs=s3) + vector_index = load_index_from_storage(storage_context) + + # define query engines + vector_query_engine = vector_index.as_query_engine( + similarity_top_k=2, + verbose=True + ) + agents[title] = vector_query_engine +print(f"Agents: {len(agents)}") +storage_context = StorageContext.from_defaults(persist_dir=f"f150-user-manual/recursive-agent/vector_index", fs=s3) +top_level_vector_index = load_index_from_storage(storage_context) +vector_retriever = top_level_vector_index.as_retriever(similarity_top_k=1) +recursive_retriever = RecursiveRetriever( + "vector", + retriever_dict={"vector": vector_retriever}, + query_engine_dict=agents, + verbose=True, +) +response_synthesizer = get_response_synthesizer( + response_mode="compact_accumulate", +) +query_engine = RetrieverQueryEngine.from_args( + recursive_retriever, + similarity_top_k=1, + # response_synthesizer=response_synthesizer, + service_context=service_context, +) + +lock = Lock() + +def predict(message): + print(message) + lock.acquire() + try: + output = str(query_engine.query(message)) + except Exception as e: + print(e) + raise e + finally: + lock.release() + return output + +def getanswer(question, history): + print("getting answer") + if hasattr(history, "value"): + history = history.value + if hasattr(question, "value"): + question = question.value + + history = history or [] + lock.acquire() + try: + output = str(query_engine.query(question)) + history.append((question, output)) + except Exception as e: + raise e + finally: + lock.release() + return history, history, gr.update(value="") + +with gr.Blocks() as demo: + with gr.Row(): + with gr.Column(scale=0.75): + with gr.Row(): + gr.Markdown("

F150 User Manual

") + chatbot = gr.Chatbot(elem_id="chatbot").style(height=600) + + with gr.Row(): + message = gr.Textbox( + label="", + placeholder="F150 User Manual", + lines=1, + ) + with gr.Row(): + submit = gr.Button(value="Send", variant="primary", scale=1) + + state = gr.State() + submit.click(getanswer, inputs=[message, state], outputs=[chatbot, state, message]) + message.submit(getanswer, inputs=[message, state], outputs=[chatbot, state, message]) + + predictBtn = gr.Button(value="Predict", visible=False) + predictBtn.click(predict, inputs=[message], outputs=[message]) + +demo.launch(debug=True) \ No newline at end of file diff --git a/src/index.py b/src/index.py new file mode 100755 index 0000000000000000000000000000000000000000..0c8aa359c34aa6cc0863bd0528b15260d348496c --- /dev/null +++ b/src/index.py @@ -0,0 +1,164 @@ +#!/usr/bin/env python +import json +import logging +import os +import sys + +import psycopg2 +import s3fs +import torch +from langchain.embeddings.huggingface import HuggingFaceEmbeddings +from llama_index import (ServiceContext, SimpleDirectoryReader, StorageContext, + SummaryIndex, get_response_synthesizer, + set_global_service_context) +from llama_index.indices.document_summary import DocumentSummaryIndex +from llama_index.indices.vector_store import VectorStoreIndex +from llama_index.llms import OpenAI +from llama_index.schema import IndexNode +from llama_index.vector_stores import PGVectorStore +from sqlalchemy import make_url + + +# logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) +# logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout)) +def get_embed_model(): + model_kwargs = {'device': 'cpu'} + if torch.cuda.is_available(): + model_kwargs['device'] = 'cuda' + if torch.backends.mps.is_available(): + model_kwargs['device'] = 'mps' + + encode_kwargs = {'normalize_embeddings': True} # set True to compute cosine similarity + print("Loading model...") + try: + model_norm = HuggingFaceEmbeddings( + model_name="thenlper/gte-small", + model_kwargs=model_kwargs, + encode_kwargs=encode_kwargs, + ) + except Exception as exception: + print(f"Model not found. Loading fake model...{exception}") + exit() + print("Model loaded.") + return model_norm + +def create_table(db_name, connection_string): + conn = psycopg2.connect(connection_string) + conn.autocommit = True + + with conn.cursor() as c: + c.execute(f"DROP DATABASE IF EXISTS {db_name}") + c.execute(f"CREATE DATABASE {db_name}") + return + +def create_vector_store(): + db_name = "helm" + connection_string = "postgresql://adrian@localhost:5432/postgres" + create_table(db_name, connection_string) + url = make_url(connection_string) + vector_store = PGVectorStore.from_params( + database=db_name, + host=url.host, + password=url.password, + port=url.port, + user=url.username, + table_name="f150_manual", + embed_dim=384, + hybrid_search=True, + text_search_config="english", + ) + return vector_store + +def get_remote_filesystem(): + AWS_KEY = "AKIAWCUHDQXX3H7PPRXN" + AWS_SECRET = "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" + + s3 = s3fs.S3FileSystem( + key=AWS_KEY, + secret=AWS_SECRET, + ) + return s3 + +def create_vector_index(): + docs = SimpleDirectoryReader(input_dir="docs/chapters").load_data() + vector_store = create_vector_store() + storage_context = StorageContext.from_defaults(vector_store=vector_store) + vector_index = VectorStoreIndex.from_documents( + docs, + storage_context=storage_context, + embedding_model=None, + show_progress=True, + chunk_size=1024, + chunk_overlap=20) + return vector_index + +def create_recursive_index(): + doc_dir = "./docs/chapters/" + doc_summaries = {} + titles = [] + for filename in os.listdir(doc_dir): + print(filename) + title = filename.split(".")[0] + titles.append(title) + docs = SimpleDirectoryReader(input_files=[f"{doc_dir}{filename}"]).load_data() + docs[0].doc_id = title + doc_summaries[title] = docs + + context_window = 4096 + embed_model = get_embed_model() + chatgpt = OpenAI(temperature=0, model="gpt-3.5-turbo-16k") + service_context = ServiceContext.from_defaults( + llm=chatgpt, + embed_model=embed_model, + chunk_size=1024, + context_window=context_window) + + s3 = get_remote_filesystem() + nodes = [] + for title in titles: + print(title) + # build vector index + storage_context = StorageContext.from_defaults() + vector_index = VectorStoreIndex.from_documents( + doc_summaries[title], + service_context=service_context, + verbose=True, + storage_context=storage_context, + show_progress=True, + ) + vector_index.storage_context.persist(f"f150-user-manual/recursive-agent/{title}/vector_index", fs=s3) + # build summary index + response_synthesizer = get_response_synthesizer( + response_mode="compact_accumulate", use_async=False + ) + storage_context = StorageContext.from_defaults() + summary_index = DocumentSummaryIndex.from_documents( + doc_summaries[title], + service_context=service_context, + response_synthesizer=response_synthesizer, + verbose=True, + storage_context=storage_context, + show_progress=True, + ) + print(summary_index.get_document_summary(title)) + node = IndexNode(text=summary_index.get_document_summary(title), index_id=title) + nodes.append(node) + + storage_context = StorageContext.from_defaults() + vector_index = VectorStoreIndex( + nodes, + service_context=service_context, + verbose=True, + storage_context=storage_context, + show_progress=True,) + vector_index.storage_context.persist("f150-user-manual/recursive-agent/vector_index", fs=s3) + +def main(): + embed_model = get_embed_model() + service_context = ServiceContext.from_defaults(embed_model=embed_model) + set_global_service_context(service_context) + create_vector_index(); + create_recursive_index(); + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/src/inference.py b/src/inference.py new file mode 100755 index 0000000000000000000000000000000000000000..3de85f2518dec26720e440e8df80c26a70405c23 --- /dev/null +++ b/src/inference.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python +#!/usr/bin/env python +import json +import logging +import os +import sys + +import psycopg2 +import s3fs +import torch +from langchain.embeddings.huggingface import HuggingFaceEmbeddings +from llama_index import ServiceContext, set_global_service_context +from llama_index.indices.vector_store import VectorStoreIndex +from llama_index.llms import OpenAI +from llama_index.prompts import PromptTemplate +from llama_index.vector_stores import PGVectorStore +from sqlalchemy import make_url + +# logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) +# logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout)) + +QA_TEMPLATE = """ +You are an intelligent and helpful AI Assistant, able to have normal interactions as well as answer questions about my 2023 Ford F150. +Below are excerpts from my F150's User Manual. You must only use the information in the context below to formulate your response. +If there is not enough information to formulate a response, you must respond with: "I'm sorry, I can't find the answer to your question in the user manual." + +{context_str} + +{query_str} +""" + +def get_embed_model(): + model_kwargs = {'device': 'cpu'} + if torch.cuda.is_available(): + model_kwargs['device'] = 'cuda' + if torch.backends.mps.is_available(): + model_kwargs['device'] = 'mps' + + encode_kwargs = {'normalize_embeddings': True} # set True to compute cosine similarity + print("Loading model...") + try: + model_norm = HuggingFaceEmbeddings( + model_name="thenlper/gte-small", + model_kwargs=model_kwargs, + encode_kwargs=encode_kwargs, + ) + except Exception as exception: + print(f"Model not found. Loading fake model...{exception}") + exit() + print("Model loaded.") + return model_norm + +def get_vector_store(): + db_name = "helm" + connection_string = "postgresql://adrian@localhost:5432/postgres" + url = make_url(connection_string) + vector_store = PGVectorStore.from_params( + database=db_name, + host=url.host, + password=url.password, + port=url.port, + user=url.username, + table_name="f150_manual", + embed_dim=384, + hybrid_search=True, + text_search_config="english", + ) + return vector_store + +def main(): + embed_model = get_embed_model() + llm = OpenAI("gpt-4") + service_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model) + set_global_service_context(service_context) + vector_store = get_vector_store() + vector_index = VectorStoreIndex.from_vector_store(vector_store=vector_store) + query_engine = vector_index.as_query_engine( + text_qa_template=PromptTemplate(QA_TEMPLATE), + similarity_top_k=2, + verbose=True) + + # Recommended tire pressure + # Recommended oil + # Instructions on how to change a flat tire + # Fuel tank capacity and fuel grade + # How to change the keypad code. + while True: + try: + # Read + user_input = input(">>> ") + + # Evaluate and Print + if user_input == 'exit': + break + else: + response = query_engine.query(user_input) + print(response) + + except Exception as e: + # Handle exceptions + print("Error:", e) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/src/prepare.py b/src/prepare.py new file mode 100755 index 0000000000000000000000000000000000000000..a6ea449613b15aee0f768eeff041484ef5f3ed11 --- /dev/null +++ b/src/prepare.py @@ -0,0 +1,159 @@ +#!/usr/bin/env python + +from PyPDF2 import PdfReader +from PyPDF2.generic import ContentStream + +OFFSET = 4 + +TITLE_IDX = 0 +START_IDX = 1 +END_IDX = 2 + +# FOOTER_TEXT = "2023 F-150 (TFD) Canada/United States of America, enUSA, Edition date: 202206, DOM" +FOOTER_TEXT = "2023 F-150 (TFD ) Cana da/Unit ed States of Americ a, enU SA, Edition da te: 202206 , DOM" +TOC = [ + ("About Us - Raptor", 21 + OFFSET - 1 , 21 + OFFSET), + ("Contacting Us", 22 + OFFSET - 1 , 22 + OFFSET), + ("Introduction", 24 + OFFSET - 1 , 25 + OFFSET), + ("Data Privacy", 29 + OFFSET - 1 , 32 + OFFSET), + ("At a Glance - Raptor", 33 + OFFSET - 1 , 33 + OFFSET), + ("Visual Search", 35 + OFFSET - 1 , 49 + OFFSET), + ("Child Safety", 50 + OFFSET - 1 , 63 + OFFSET), + ("Seatbelts", 64 + OFFSET - 1 , 71 + OFFSET), + ("Personal Safety System", 72 + OFFSET - 1 , 72 + OFFSET), + ("Airbags", 73 + OFFSET - 1 , 86 + OFFSET), + ("Pedestrian Alert System - Hybrid Electric Vehicle (HEV)", 87 + OFFSET - 1 , 87 + OFFSET), + ("911 Assist", 88 + OFFSET - 1 , 89 + OFFSET), + ("Keys and Remote Controls", 90 + OFFSET - 1 , 98 + OFFSET), + ("MyKey - Vehicles With: MyKey", 99 + OFFSET - 1 , 102 + OFFSET), + ("Doors and Locks", 104 + OFFSET - 1 , 106 + OFFSET), + ("Keyless Entry", 108 + OFFSET - 1 , 109 + OFFSET), + ("Keyless Entry Keypad", 110 + OFFSET - 1 , 111 + OFFSET), + ("Easy Entry and Exit", 112 + OFFSET - 1 , 112 + OFFSET), + ("Tailgate - Vehicles With: Manual Tailgate", 113 + OFFSET - 1 , 117 + OFFSET), + ("Tailgate - Vehicles With: Power Tailgate", 119 + OFFSET - 1 , 125 + OFFSET), + ("Tailgate - Vehicles With: Remote Release Tailgate", 127 + OFFSET - 1 , 132 + OFFSET), + ("Security", 134 + OFFSET - 1 , 136 + OFFSET), + ("Power Running Boards", 138 + OFFSET - 1 , 139 + OFFSET), + ("Steering Wheel", 140 + OFFSET - 1 , 141 + OFFSET), + ("Adjustable Pedals", 142 + OFFSET - 1 , 142 + OFFSET), + ("Wipers and Washers", 143 + OFFSET - 1 , 145 + OFFSET), + ("Exterior Lighting", 147 + OFFSET - 1 , 157 + OFFSET), + ("Interior Lighting", 159 + OFFSET - 1 , 160 + OFFSET), + ("Windows", 161 + OFFSET - 1 , 162 + OFFSET), + ("Interior Mirror", 163 + OFFSET - 1 , 163 + OFFSET), + ("Exterior Mirrors", 164 + OFFSET - 1 , 165 + OFFSET), + ("Moonroof", 166 + OFFSET - 1 , 167 + OFFSET), + ("Instrument Cluster", 168 + OFFSET - 1 , 173 + OFFSET), + ("Instrument Cluster Display", 175 + OFFSET - 1 , 178 + OFFSET), + ("Personalized Settings", 179 + OFFSET - 1 , 179 + OFFSET), + ("Trip Computer", 180 + OFFSET - 1 , 180 + OFFSET), + ("Remote Start", 181 + OFFSET - 1 , 182 + OFFSET), + ("Climate Control - Vehicles With: Automatic Temperature Control", 184 + OFFSET - 1 , 187 + OFFSET), + ("Climate Control - Vehicles With: Manual Climate Control", 189 + OFFSET - 1 , 191 + OFFSET), + ("Interior Air Quality", 192 + OFFSET - 1 , 192 + OFFSET), + ("Front Seats", 193 + OFFSET - 1 , 200 + OFFSET), + ("Rear Seats - Crew Cab", 202 + OFFSET - 1 , 203 + OFFSET), + ("Rear Occupant Alert System", 205 + OFFSET - 1 , 206 + OFFSET), + ("Memory Function", 207 + OFFSET - 1 , 207 + OFFSET), + ("Garage Door Openeer", 208 + OFFSET - 1 , 211 + OFFSET), + ("USB Ports", 212 + OFFSET - 1 , 213 + OFFSET), + ("Power Outlet - Vehicles With: 120v Power Outlet", 214 + OFFSET - 1 , 215 + OFFSET), + ("Power Outlet - Vehicles With: 12v Power Outlet", 216 + OFFSET - 1 , 216 + OFFSET), + ("Onboard Generator", 217 + OFFSET - 1 , 223 + OFFSET), + ("Center Console Work Surface", 225 + OFFSET - 1 , 227 + OFFSET), + ("Wireless Accessory Charging", 228 + OFFSET - 1 , 228 + OFFSET), + ("Storage", 229 + OFFSET - 1 , 232 + OFFSET), + ("Starting and Stopping the Engine", 233 + OFFSET - 1 , 240 + OFFSET), + ("Hybrid Electric Vehicle Information - Hybrid Electric Vehicle (HEV)", 244 + OFFSET - 1 , 247 + OFFSET), + ("Auto - Start - Stop", 248 + OFFSET - 1 , 249 + OFFSET), + ("Fuel and Refueling", 251 + OFFSET - 1 , 260 + OFFSET), + ("Cataytic Converter", 262 + OFFSET - 1 , 262 + OFFSET), + ("High Voltage Battery - Hybrid Electric Vehicle (HEV)", 263 + OFFSET - 1 , 263 + OFFSET), + ("Automatic Transmission", 264 + OFFSET - 1 , 273 + OFFSET), + ("Four-Wheel Drive", 274 + OFFSET - 1 , 280 + OFFSET), + ("Electronic Locking Differential", 284 + OFFSET - 1 , 290 + OFFSET), + ("Brakes", 291 + OFFSET - 1 , 292 + OFFSET), + ("Electric Parking Brake", 294 + OFFSET - 1 , 295 + OFFSET), + ("Reverse Braking Assist", 297 + OFFSET - 1 , 299 + OFFSET), + ("Cross Traffic Braking", 301 + OFFSET - 1 , 302 + OFFSET), + ("Hill Start Assist", 304 + OFFSET - 1 , 304 + OFFSET), + ("Auto Hold", 305 + OFFSET - 1 , 305 + OFFSET), + ("Traction Control", 307 + OFFSET - 1 , 308 + OFFSET), + ("Stability Control", 309 + OFFSET - 1 , 311 + OFFSET), + ("Trail Control - Raptor-Tremor", 312 + OFFSET - 1 , 315 + OFFSET), + ("Trail Turn Assist", 316 + OFFSET - 1 , 317 + OFFSET), + ("Hill Descent Control", 318 + OFFSET - 1 , 319 + OFFSET), + ("Steering", 320 + OFFSET - 1 , 321 + OFFSET), + ("Parking Aids", 323 + OFFSET - 1 , 327 + OFFSET), + ("Rear View Camera", 329 + OFFSET - 1 , 330 + OFFSET), + ("360 Degree Camera", 332 + OFFSET - 1 , 334 + OFFSET), + ("Active Park Assist", 336 + OFFSET - 1 , 338 + OFFSET), + ("Cruise Control", 340 + OFFSET - 1 , 341 + OFFSET), + ("Adaptive Cruise Control", 342 + OFFSET - 1 , 354 + OFFSET), + ("BlueCruise", 356 + OFFSET - 1 , 360 + OFFSET), + ("Drive Mode Control", 362 + OFFSET - 1 , 373 + OFFSET), + ("Lane Keeping System", 375 + OFFSET - 1 , 379 + OFFSET), + ("Blind Spot Information System", 382 + OFFSET - 1 , 386 + OFFSET), + ("Cross Traffic Alert", 387 + OFFSET - 1 , 389 + OFFSET), + ("Pre-Collision Assist", 390 + OFFSET - 1 , 397 + OFFSET), + ("Driver Alert", 399 + OFFSET - 1 , 400 + OFFSET), + ("Speed Sign Recognition", 401 + OFFSET - 1 , 402 + OFFSET), + ("Load Carrying", 404 + OFFSET - 1 , 407 + OFFSET), + ("Pickup Bed", 409 + OFFSET - 1 , 411 + OFFSET), + ("Connecting a Trailer", 414 + OFFSET - 1 , 417 + OFFSET), + ("Towing a Trailer", 418 + OFFSET - 1 , 423 + OFFSET), + ("Integrated Trailer Brake Controller", 425 + OFFSET - 1 , 428 + OFFSET), + ("Trailer Sway Control", 430 + OFFSET - 1 , 430 + OFFSET), + ("Trailer Hitching Assistance", 431 + OFFSET - 1 , 433 + OFFSET), + ("Smart Hitch", 435 + OFFSET - 1 , 437 + OFFSET), + ("Onboard Scales", 437 + OFFSET - 1 , 437 + OFFSET), + ("Trailer Backup Assistance", 439 + OFFSET - 1 , 447 + OFFSET), + ("Trailer Reverse Guidance", 454 + OFFSET - 1 , 460 + OFFSET), + ("Driving Hints", 466 + OFFSET - 1 , 473 + OFFSET), + ("Snow Plowing - Vehicles Without: Snow Plow Mode", 475 + OFFSET - 1 , 475 + OFFSET), + ("Snow Plowing - Vehicles With: Snow Plow Mode", 476 + OFFSET - 1 , 477 + OFFSET), + ("Crash and Breakdown Information", 478 + OFFSET - 1 , 484 + OFFSET), + ("Towing Your Vehicle", 485 + OFFSET - 1 , 487 + OFFSET), + ("Fuses", 488 + OFFSET - 1 , 497 + OFFSET), + ("Maintenance", 498 + OFFSET - 1 , 528 + OFFSET), + ("Vehicle Care", 529 + OFFSET - 1 , 534 + OFFSET), + ("Storing Your Vehicle", 535 + OFFSET - 1 , 536 + OFFSET), + ("Wheel and Tire Information", 537 + OFFSET - 1 , 547 + OFFSET), + ("Tire Care", 550 + OFFSET - 1 , 552 + OFFSET), + ("Tire Pressue Monitoring System", 554 + OFFSET - 1 , 559 + OFFSET), + ("Changing a Road Wheel", 561 + OFFSET - 1 , 576 + OFFSET), + ("Capacities and Specifications", 578 + OFFSET - 1 , 619 + OFFSET), + ("Vehicle Identification", 620 + OFFSET - 1 , 620 + OFFSET), + ("Connected Vehicle", 621 + OFFSET - 1 , 622 + OFFSET), + ("Vehicle Wi-Fi Hotspot", 624 + OFFSET - 1 , 625 + OFFSET), + ("Audio System", 626 + OFFSET - 1 , 633 + OFFSET), + ("Center Display Overview", 637 + OFFSET - 1 , 639 + OFFSET), + ("Voice Interaction", 640 + OFFSET - 1 , 640 + OFFSET), + ("Alexa Built-In", 642 + OFFSET - 1 , 642 + OFFSET), + ("Phone", 644 + OFFSET - 1 , 648 + OFFSET), + ("Bluetooth", 649 + OFFSET - 1 , 649 + OFFSET), + ("Apps", 650 + OFFSET - 1 , 651 + OFFSET), + ("Personal Profiles", 652 + OFFSET - 1 , 653 + OFFSET), + ("Navigation", 654 + OFFSET - 1 , 656 + OFFSET), + ("Vehicle Software Updates", 657 + OFFSET - 1 , 658 + OFFSET), + ("Vehicle System Reset", 659 + OFFSET - 1 , 659 + OFFSET), + ("Accessories", 660 + OFFSET - 1 , 660 + OFFSET), + ("Auxiliary Switches", 661 + OFFSET - 1 , 662 + OFFSET), + ("Warranty Terms and Conditions - Raptor", 664 + OFFSET - 1 , 664 + OFFSET), + ("Ford Protect", 665 + OFFSET - 1 , 665 + OFFSET), + ("Scheduled Maintenance", 667 + OFFSET - 1 , 676 + OFFSET), + ("Decommissioning the Vehicle - Police Responder", 680 + OFFSET - 1 , 680 + OFFSET), + ("Customer Information", 681 + OFFSET - 1 , 749 + OFFSET), + ("Electromagnetic Compatibility", 751 + OFFSET - 1 , 751 + OFFSET), +] + +reader = PdfReader("docs/2023_Ford_F-150_OM_PL3J_19A321_AA_EN_V1.pdf") +for chapter in TOC: + pages = reader.pages[chapter[START_IDX]:chapter[END_IDX]] + title = chapter[TITLE_IDX] + print(title) + content = "\n\n".join([p.extract_text() for p in pages]) + content = f"{title}\n\n{content}" + content = content.replace(FOOTER_TEXT, "") + open(f"docs/chapters/{chapter[TITLE_IDX]}.txt", "w").write(content) \ No newline at end of file diff --git a/src/recursive_inference.py b/src/recursive_inference.py new file mode 100755 index 0000000000000000000000000000000000000000..5e3588e366257a08bd57f62e074bf7ae20933e60 --- /dev/null +++ b/src/recursive_inference.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python + +import json +import logging +import os +import sys + +import s3fs +import torch +from langchain.embeddings.huggingface import HuggingFaceEmbeddings +from llama_index import (ServiceContext, StorageContext, + load_index_from_storage, set_global_service_context) +from llama_index.agent import ContextRetrieverOpenAIAgent, OpenAIAgent +from llama_index.indices.vector_store import VectorStoreIndex +from llama_index.llms import ChatMessage, MessageRole, OpenAI +from llama_index.prompts import ChatPromptTemplate, PromptTemplate +from llama_index.query_engine import RetrieverQueryEngine +from llama_index.response_synthesizers import get_response_synthesizer +from llama_index.retrievers import RecursiveRetriever +from llama_index.tools import QueryEngineTool, ToolMetadata +from llama_index.vector_stores import PGVectorStore +from sqlalchemy import make_url + +# logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) +# logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout)) + +def get_embed_model(): + model_kwargs = {'device': 'cpu'} + if torch.cuda.is_available(): + model_kwargs['device'] = 'cuda' + if torch.backends.mps.is_available(): + model_kwargs['device'] = 'mps' + + encode_kwargs = {'normalize_embeddings': True} # set True to compute cosine similarity + print("Loading model...") + try: + model_norm = HuggingFaceEmbeddings( + model_name="thenlper/gte-small", + model_kwargs=model_kwargs, + encode_kwargs=encode_kwargs, + ) + except Exception as exception: + print(f"Model not found. Loading fake model...{exception}") + exit() + print("Model loaded.") + return model_norm + +QA_TEMPLATE = """ +You are a chatbot, able to have normal interactions as well as respond to question about my Ford F150. +Below are excerpts from my F150's user manual. You must only use the information in the context below to formulate your response. +If there is not enough information to formulate a response, you must respond with: "I'm sorry, I can't find the answer to your question." + +{context_str} + +{query_str} +""" + +def main(): + embed_model = get_embed_model() + llm = OpenAI("gpt-4") + service_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model) + set_global_service_context(service_context) + + AWS_KEY = "AKIAWCUHDQXX3H7PPRXN" + AWS_SECRET = "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" + + s3 = s3fs.S3FileSystem( + key=AWS_KEY, + secret=AWS_SECRET, + ) + + titles = s3.ls("f150-user-manual/recursive-agent/") + titles = list(map(lambda x: x.split("/")[-1], titles)) + + agents = {} + for title in titles[:5]: + if(title == "vector_index"): + continue + + print(title) + # build vector index + storage_context = StorageContext.from_defaults(persist_dir=f"f150-user-manual/recursive-agent/{title}/vector_index", fs=s3) + vector_index = load_index_from_storage(storage_context) + + # define query engines + vector_query_engine = vector_index.as_query_engine( + similarity_top_k=2, + verbose=True + ) + agents[title] = vector_query_engine + print(f"Agents: {len(agents)}") + + storage_context = StorageContext.from_defaults(persist_dir=f"f150-user-manual/recursive-agent/vector_index", fs=s3) + top_level_vector_index = load_index_from_storage(storage_context) + vector_retriever = top_level_vector_index.as_retriever(similarity_top_k=1) + recursive_retriever = RecursiveRetriever( + "vector", + retriever_dict={"vector": vector_retriever}, + query_engine_dict=agents, + verbose=True, + ) + response_synthesizer = get_response_synthesizer( + response_mode="compact_accumulate", + ) + query_engine = RetrieverQueryEngine.from_args( + recursive_retriever, + similarity_top_k=1, + # response_synthesizer=response_synthesizer, + service_context=service_context, + ) + + while True: + try: + # Read + user_input = input(">>> ") + + # Evaluate and Print + if user_input == 'exit': + break + else: + response = query_engine.query(user_input) + print(response) + + except Exception as e: + # Handle exceptions + print("Error:", e) + +if __name__ == '__main__': + main() \ No newline at end of file