diff --git a/project.yaml b/project.yaml deleted file mode 100644 index 9fe7b53..0000000 --- a/project.yaml +++ /dev/null @@ -1,131 +0,0 @@ -kind: project -metadata: - name: mlopspedia-bot-yonis -spec: - params: - source: git://github.com/mlrun/demo-llm-tuning.git#main - default_image: yonishelach/mlrun-llm - functions: - - url: src/data_collection.py - name: data-collecting - kind: job - image: mlrun/mlrun - - url: src/data_preprocess.py - name: data-preparing - kind: job - - url: src/trainer.py - name: training - kind: job - - name: serving - spec: - kind: serving - metadata: - name: serving - project: mlopspedia-bot-yonis - spec: - command: '' - args: [] - image: yonishelach/mlrun-llm - build: - functionSourceCode: aW1wb3J0IGpzb24KaW1wb3J0IG9zCmltcG9ydCB6aXBmaWxlCmZyb20gdHlwaW5nIGltcG9ydCBBbnksIERpY3QKCmltcG9ydCBldmFsdWF0ZQppbXBvcnQgbWxydW4uYXJ0aWZhY3RzCmltcG9ydCBudW1weSBhcyBucAppbXBvcnQgdG9yY2gKaW1wb3J0IHRyYW5zZm9ybWVycwpmcm9tIG1scnVuLnNlcnZpbmcudjJfc2VydmluZyBpbXBvcnQgVjJNb2RlbFNlcnZlcgpmcm9tIHBlZnQgaW1wb3J0IFBlZnRNb2RlbAoKU1VCSkVDVF9NQVJLID0gIiMjIyBIdW1hbjogIgpDT05URU5UX01BUksgPSAiXG4jIyMgQXNzaXN0YW50OiAiClBST01QVF9GT1JNQVQgPSBTVUJKRUNUX01BUksgKyAie30iICsgQ09OVEVOVF9NQVJLCgoKZGVmIHByZXByb2Nlc3MocmVxdWVzdDogZGljdCkgLT4gZGljdDoKICAgICIiIgogICAgY29udmVydCB0aGUgcmVxdWVzdCB0byB0aGUgcmVxdWlyZWQgc3RydWN0dXJlIGZvciB0aGUgcHJlZGljdCBmdW5jdGlvbgoKICAgIDpwYXJhbSByZXF1ZXN0OiBBIGh0dHAgcmVxdWVzdCB0aGF0IGNvbnRhaW5zIHRoZSBwcm9tcHQKICAgICIiIgogICAgIyBSZWFkIGJ5dGVzOgogICAgaWYgaXNpbnN0YW5jZShyZXF1ZXN0LCBieXRlcyk6CiAgICAgICAgcmVxdWVzdCA9IGpzb24ubG9hZHMocmVxdWVzdCkKCiAgICAjIEdldCB0aGUgcHJvbXB0OgogICAgcHJvbXB0ID0gcmVxdWVzdC5wb3AoInByb21wdCIpCgogICAgIyBGb3JtYXQgdGhlIHByb21wdCBhcyBzdWJqZWN0OgogICAgcHJvbXB0ID0gUFJPTVBUX0ZPUk1BVC5mb3JtYXQoc3RyKHByb21wdCkpCgogICAgIyBVcGRhdGUgdGhlIHJlcXVlc3QgYW5kIHJldHVybjoKICAgIHJlcXVlc3QgPSB7ImlucHV0cyI6IFt7InByb21wdCI6IFtwcm9tcHRdLCAqKnJlcXVlc3R9XX0KICAgIHJldHVybiByZXF1ZXN0CgoKY2xhc3MgTExNTW9kZWxTZXJ2ZXIoVjJNb2RlbFNlcnZlcik6CiAgICAiIiIKICAgIFRoaXMgaXMgdGVtcG9yYXJ5IGFuZCB3aWxsIGJlIGJ1aWx0IGluIG1scnVuIDEuNS4wCiAgICAiIiIKCiAgICBkZWYgX19pbml0X18oCiAgICAgICAgc2VsZiwKICAgICAgICBjb250ZXh0OiBtbHJ1bi5NTENsaWVudEN0eCA9IE5vbmUsCiAgICAgICAgbmFtZTogc3RyID0gTm9uZSwKICAgICAgICBtb2RlbF9jbGFzczogc3RyID0gIkF1dG9Nb2RlbEZvckNhdXNhbExNIiwKICAgICAgICB0b2tlbml6ZXJfY2xhc3M6IHN0ciA9ICJBdXRvVG9rZW5pemVyIiwKICAgICAgICAjIG1vZGVsIGFyZ3M6CiAgICAgICAgbW9kZWxfYXJnczogZGljdCA9IE5vbmUsCiAgICAgICAgIyBMb2FkIGZyb20gTUxSdW4gYXJnczoKICAgICAgICBtb2RlbF9wYXRoOiBzdHIgPSBOb25lLAogICAgICAgICMgTG9hZCBmcm9tIGh1YiBhcmdzOgogICAgICAgIG1vZGVsX25hbWU6IHN0ciA9IE5vbmUsCiAgICAgICAgdG9rZW5pemVyX25hbWU6IHN0ciA9IE5vbmUsCiAgICAgICAgIyBEZWVwc3BlZWQgYXJnczoKICAgICAgICB1c2VfZGVlcHNwZWVkOiBib29sID0gRmFsc2UsCiAgICAgICAgbl9ncHVzOiBpbnQgPSAxLAogICAgICAgIGlzX2ZwMTY6IGJvb2wgPSBUcnVlLAogICAgICAgICMgcGVmdCBtb2RlbDoKICAgICAgICBwZWZ0X21vZGVsOiBzdHIgPSBOb25lLAogICAgICAgICMgSW5mZXJlbmNlIGFyZ3M6CiAgICAgICAgKipjbGFzc19hcmdzLAogICAgKToKICAgICAgICAjIEluaXRpYWxpemUgdGhlIGJhc2Ugc2VydmVyOgogICAgICAgIHN1cGVyKExMTU1vZGVsU2VydmVyLCBzZWxmKS5fX2luaXRfXygKICAgICAgICAgICAgY29udGV4dD1jb250ZXh0LAogICAgICAgICAgICBuYW1lPW5hbWUsCiAgICAgICAgICAgIG1vZGVsX3BhdGg9bW9kZWxfcGF0aCwKICAgICAgICAgICAgKipjbGFzc19hcmdzLAogICAgICAgICkKCiAgICAgICAgIyBTYXZlIGNsYXNzIG5hbWVzOgogICAgICAgIHNlbGYubW9kZWxfY2xhc3MgPSBtb2RlbF9jbGFzcwogICAgICAgIHNlbGYudG9rZW5pemVyX2NsYXNzID0gdG9rZW5pemVyX2NsYXNzCgogICAgICAgICMgU2F2ZSBodWIgbG9hZGluZyBwYXJhbWV0ZXJzOgogICAgICAgIHNlbGYubW9kZWxfbmFtZSA9IG1vZGVsX25hbWUKICAgICAgICBzZWxmLnRva2VuaXplcl9uYW1lID0gdG9rZW5pemVyX25hbWUgb3Igc2VsZi5tb2RlbF9uYW1lCgogICAgICAgICMgU2F2ZSBsb2FkIG1vZGVsIGFyZ3VtZW50czoKICAgICAgICBzZWxmLm1vZGVsX2FyZ3MgPSBtb2RlbF9hcmdzCgogICAgICAgICMgU2F2ZSBkZWVwc3BlZWQgcGFyYW1ldGVyczoKICAgICAgICBzZWxmLnVzZV9kZWVwc3BlZWQgPSB1c2VfZGVlcHNwZWVkCiAgICAgICAgc2VsZi5uX2dwdXMgPSBuX2dwdXMKICAgICAgICBzZWxmLmlzX2ZwMTYgPSBpc19mcDE2CgogICAgICAgICMgUEVGVCBwYXJhbWV0ZXJzOgogICAgICAgIHNlbGYucGVmdF9tb2RlbCA9IHBlZnRfbW9kZWwKCiAgICAgICAgIyBQcmVwYXJlIHZhcmlhYmxlcyBmb3IgZnV0dXJlIHVzZToKICAgICAgICBzZWxmLm1vZGVsID0gTm9uZQogICAgICAgIHNlbGYudG9rZW5pemVyID0gTm9uZQogICAgICAgIHNlbGYuX21vZGVsX2NsYXNzID0gTm9uZQogICAgICAgIHNlbGYuX3Rva2VuaXplcl9jbGFzcyA9IE5vbmUKCiAgICBkZWYgbG9hZChzZWxmKToKICAgICAgICAjIEdldCBjbGFzc2VzOgogICAgICAgIHNlbGYuX21vZGVsX2NsYXNzID0gZ2V0YXR0cih0cmFuc2Zvcm1lcnMsIHNlbGYubW9kZWxfY2xhc3MpCiAgICAgICAgc2VsZi5fdG9rZW5pemVyX2NsYXNzID0gZ2V0YXR0cih0cmFuc2Zvcm1lcnMsIHNlbGYudG9rZW5pemVyX2NsYXNzKQoKICAgICAgICAjIExvYWQgdGhlIG1vZGVsIGFuZCB0b2tlbml6ZXI6CiAgICAgICAgaWYgc2VsZi5tb2RlbF9wYXRoOgogICAgICAgICAgICBzZWxmLl9sb2FkX2Zyb21fbWxydW4oKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHNlbGYuX2xvYWRfZnJvbV9odWIoKQoKICAgICAgICAjIFVzZSBkZWVwc3BlZWQgaWYgbmVlZGVkOgogICAgICAgIGlmIHNlbGYudXNlX2RlZXBzcGVlZDoKICAgICAgICAgICAgaW1wb3J0IGRlZXBzcGVlZAoKICAgICAgICAgICAgc2VsZi5tb2RlbCA9IGRlZXBzcGVlZC5pbml0X2luZmVyZW5jZSgKICAgICAgICAgICAgICAgIG1vZGVsPXNlbGYubW9kZWwsCiAgICAgICAgICAgICAgICBtcF9zaXplPXNlbGYubl9ncHVzLAogICAgICAgICAgICAgICAgZHR5cGU9dG9yY2guZmxvYXQxNiBpZiBzZWxmLmlzX2ZwMTYgZWxzZSB0b3JjaC5mbG9hdDMyLAogICAgICAgICAgICAgICAgcmVwbGFjZV9tZXRob2Q9ImF1dG8iLAogICAgICAgICAgICAgICAgcmVwbGFjZV93aXRoX2tlcm5lbF9pbmplY3Q9VHJ1ZSwKICAgICAgICAgICAgKQogICAgICAgIGlmIHNlbGYucGVmdF9tb2RlbDoKICAgICAgICAgICAgc2VsZi5fbG9hZF9wZWZ0X21vZGVsKCkKCiAgICBkZWYgX2V4dHJhY3RfbW9kZWwoc2VsZiwgdXJsKToKICAgICAgICAjIEdldCB0aGUgbW9kZWwgYXJ0aWZhY3QgYW5kIGZpbGU6CiAgICAgICAgKAogICAgICAgICAgICBtb2RlbF9maWxlLAogICAgICAgICAgICBtb2RlbF9hcnRpZmFjdCwKICAgICAgICAgICAgZXh0cmFfZGF0YSwKICAgICAgICApID0gbWxydW4uYXJ0aWZhY3RzLmdldF9tb2RlbCh1cmwpCgogICAgICAgICMgUmVhZCB0aGUgbmFtZToKICAgICAgICBtb2RlbF9uYW1lID0gbW9kZWxfYXJ0aWZhY3Quc3BlYy5kYl9rZXkKCiAgICAgICAgIyBFeHRyYWN0IGxvZ2dlZCBtb2RlbCBmaWxlczoKICAgICAgICBtb2RlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG1vZGVsX2ZpbGUpLCBtb2RlbF9uYW1lKQogICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKG1vZGVsX2ZpbGUsICJyIikgYXMgemlwX2ZpbGU6CiAgICAgICAgICAgIHppcF9maWxlLmV4dHJhY3RhbGwobW9kZWxfZGlyZWN0b3J5KQogICAgICAgIHJldHVybiBtb2RlbF9kaXJlY3RvcnkKCiAgICBkZWYgX2xvYWRfcGVmdF9tb2RlbChzZWxmKToKICAgICAgICBtb2RlbF9kaXJlY3RvcnkgPSBzZWxmLl9leHRyYWN0X21vZGVsKHNlbGYucGVmdF9tb2RlbCkKICAgICAgICBzZWxmLm1vZGVsID0gUGVmdE1vZGVsLmZyb21fcHJldHJhaW5lZChzZWxmLm1vZGVsLCBtb2RlbF9kaXJlY3RvcnkpCiAgICAgICAgc2VsZi5tb2RlbC5ldmFsKCkKCiAgICBkZWYgX2xvYWRfZnJvbV9tbHJ1bihzZWxmKToKICAgICAgICBtb2RlbF9kaXJlY3RvcnkgPSBzZWxmLl9leHRyYWN0X21vZGVsKHNlbGYubW9kZWxfcGF0aCkKCiAgICAgICAgIyBMb2FkaW5nIHRoZSBzYXZlZCBwcmV0cmFpbmVkIHRva2VuaXplciBhbmQgbW9kZWw6CiAgICAgICAgc2VsZi50b2tlbml6ZXIgPSBzZWxmLl90b2tlbml6ZXJfY2xhc3MuZnJvbV9wcmV0cmFpbmVkKG1vZGVsX2RpcmVjdG9yeSkKICAgICAgICBzZWxmLm1vZGVsID0gc2VsZi5fbW9kZWxfY2xhc3MuZnJvbV9wcmV0cmFpbmVkKAogICAgICAgICAgICBtb2RlbF9kaXJlY3RvcnksICoqc2VsZi5tb2RlbF9hcmdzCiAgICAgICAgKQoKICAgIGRlZiBfbG9hZF9mcm9tX2h1YihzZWxmKToKICAgICAgICAjIExvYWRpbmcgdGhlIHByZXRyYWluZWQgdG9rZW5pemVyIGFuZCBtb2RlbDoKICAgICAgICBzZWxmLnRva2VuaXplciA9IHNlbGYuX3Rva2VuaXplcl9jbGFzcy5mcm9tX3ByZXRyYWluZWQoCiAgICAgICAgICAgIHNlbGYudG9rZW5pemVyX25hbWUsCiAgICAgICAgICAgIG1vZGVsX21heF9sZW5ndGg9NTEyLAogICAgICAgICkKICAgICAgICBzZWxmLm1vZGVsID0gc2VsZi5fbW9kZWxfY2xhc3MuZnJvbV9wcmV0cmFpbmVkKAogICAgICAgICAgICBzZWxmLm1vZGVsX25hbWUsICoqc2VsZi5tb2RlbF9hcmdzCiAgICAgICAgKQoKICAgIGRlZiBwcmVkaWN0KHNlbGYsIHJlcXVlc3Q6IERpY3Rbc3RyLCBBbnldKSAtPiBkaWN0OgogICAgICAgICMgR2V0IHRoZSBpbnB1dHM6CiAgICAgICAga3dhcmdzID0gcmVxdWVzdFsiaW5wdXRzIl1bMF0KICAgICAgICBwcm9tcHQgPSBrd2FyZ3MucG9wKCJwcm9tcHQiKVswXQoKICAgICAgICAjIFRva2VuaXplOgogICAgICAgIGlucHV0cyA9IHNlbGYudG9rZW5pemVyKHByb21wdCwgcmV0dXJuX3RlbnNvcnM9InB0IilbImlucHV0X2lkcyJdCiAgICAgICAgaWYgc2VsZi5tb2RlbC5kZXZpY2UudHlwZSA9PSAiY3VkYSI6CiAgICAgICAgICAgIGlucHV0cyA9IGlucHV0cy5jdWRhKCkKCiAgICAgICAgIyBHZXQgdGhlIHBhZCB0b2tlbiBpZDoKICAgICAgICBwYWRfdG9rZW5faWQgPSBzZWxmLnRva2VuaXplci5lb3NfdG9rZW5faWQKCiAgICAgICAgIyBJbmZlciB0aHJvdWdoIHRoZSBtb2RlbDoKICAgICAgICBvdXRwdXQgPSBzZWxmLm1vZGVsLmdlbmVyYXRlKAogICAgICAgICAgICBpbnB1dF9pZHM9aW5wdXRzLAogICAgICAgICAgICBkb19zYW1wbGU9VHJ1ZSwKICAgICAgICAgICAgbnVtX3JldHVybl9zZXF1ZW5jZXM9MSwKICAgICAgICAgICAgcGFkX3Rva2VuX2lkPXBhZF90b2tlbl9pZCwKICAgICAgICAgICAgKiprd2FyZ3MsCiAgICAgICAgKQoKICAgICAgICAjIERldG9rZW5pemU6CiAgICAgICAgcHJlZGljdGlvbiA9IHNlbGYudG9rZW5pemVyLmRlY29kZShvdXRwdXRbMF0sIHNraXBfc3BlY2lhbF90b2tlbnM9VHJ1ZSkKCiAgICAgICAgcmV0dXJuIHsicHJlZGljdGlvbiI6IHByZWRpY3Rpb24sICJwcm9tcHQiOiBwcm9tcHR9CgogICAgZGVmIGV4cGxhaW4oc2VsZiwgcmVxdWVzdDogRGljdCkgLT4gc3RyOgogICAgICAgIHJldHVybiBmIkxMTSBtb2RlbCBzZXJ2ZXIgbmFtZWQge3NlbGYubmFtZX0iCgoKZGVmIHBvc3Rwcm9jZXNzKGlucHV0czogZGljdCkgLT4gZGljdDoKICAgICIiIgogICAgUG9zdHByb2Nlc3NpbmcgdGhlIGdlbmVyYXRlZCBvdXRwdXQgb2YgdGhlIG1vZGVsCiAgICAiIiIKICAgICMgUmVhZCB0aGUgcHJlZGljdGlvbjoKICAgIHByZWRpY3Rpb24gPSBpbnB1dHNbIm91dHB1dHMiXVsicHJlZGljdGlvbiJdCgogICAgIyBMb29rIGZvciBhICdDb250ZW50OiAnIG1hcmsgdG8ga25vdyB0aGUgbW9kZWwgZm91bmQgdGhlIHN1YmplY3QsIG90aGVyd2lzZSwgaXQgaXMgcHJvYmFibHkgZ2FyYmFnZToKICAgIGNvbnRlbnRfaW5kZXggPSBwcmVkaWN0aW9uLmZpbmQoQ09OVEVOVF9NQVJLKQogICAgaWYgY29udGVudF9pbmRleCA9PSAtMToKICAgICAgICBvdXRwdXQgPSBmIkknbSBub3Qgc3VyZSBhYm91dCBpdCBidXQgSSdsbCBkbyBteSBiZXN0OiB7cHJlZGljdGlvbn0iCiAgICBlbHNlOgogICAgICAgIG91dHB1dCA9IHByZWRpY3Rpb25bY29udGVudF9pbmRleCArIGxlbihDT05URU5UX01BUkspIDpdCgogICAgcmV0dXJuIHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7InByZWRpY3Rpb24iOiBvdXRwdXQuc3RyaXAoKSwgInByb21wdCI6IGlucHV0c1sib3V0cHV0cyJdWyJwcm9tcHQiXX0KICAgICAgICBdCiAgICB9CgoKY2xhc3MgVG94aWNpdHlDbGFzc2lmaWVyTW9kZWxTZXJ2ZXIoVjJNb2RlbFNlcnZlcik6CiAgICAiIiIKICAgIG1vZGVsIHRoYXQgY2hlY2tzIGlmIHRoZSB0ZXh0IGNvbnRhaW4gdG94aWNpdHkgbGFuZ3VhZ2UuCiAgICAiIiIKCiAgICBkZWYgX19pbml0X18oc2VsZiwgY29udGV4dCwgbmFtZTogc3RyLCB0aHJlc2hvbGQ6IGZsb2F0ID0gMC43LCAqKmNsYXNzX2FyZ3MpOgogICAgICAgICMgSW5pdGlhbGl6ZSB0aGUgYmFzZSBzZXJ2ZXI6CiAgICAgICAgc3VwZXIoVG94aWNpdHlDbGFzc2lmaWVyTW9kZWxTZXJ2ZXIsIHNlbGYpLl9faW5pdF9fKAogICAgICAgICAgICBjb250ZXh0PWNvbnRleHQsCiAgICAgICAgICAgIG5hbWU9bmFtZSwKICAgICAgICAgICAgbW9kZWxfcGF0aD1Ob25lLAogICAgICAgICAgICAqKmNsYXNzX2FyZ3MsCiAgICAgICAgKQoKICAgICAgICAjIFN0b3JlIHRoZSB0aHJlc2hvbGQgb2YgdG94aWNpdHk6CiAgICAgICAgc2VsZi50aHJlc2hvbGQgPSB0aHJlc2hvbGQKCiAgICBkZWYgbG9hZChzZWxmKToKICAgICAgICBzZWxmLm1vZGVsID0gZXZhbHVhdGUubG9hZCgidG94aWNpdHkiLCBtb2R1bGVfdHlwZT0ibWVhc3VyZW1lbnQiKQoKICAgIGRlZiBwcmVkaWN0KHNlbGYsIGlucHV0czogRGljdCkgLT4gc3RyOgogICAgICAgICMgUmVhZCB0aGUgdXNlcidzIGlucHV0IGFuZCBtb2RlbCBvdXRwdXQ6CiAgICAgICAgcHJlZGljdGlvbiA9IGlucHV0c1siaW5wdXRzIl1bMF1bInByZWRpY3Rpb24iXQogICAgICAgIHByb21wdCA9IGlucHV0c1siaW5wdXRzIl1bMF1bInByb21wdCJdCgogICAgICAgICMgSW5mZXIgdGhyb3VnaCB0aGUgZXZhbHVhdG9yIG1vZGVsOgogICAgICAgIHJlc3VsdCA9IHNlbGYubW9kZWwuY29tcHV0ZShwcmVkaWN0aW9ucz1bcHJlZGljdGlvbiwgcHJvbXB0XSlbInRveGljaXR5Il0KICAgICAgICBpZiBhbnkobnAuYXJyYXkocmVzdWx0KSA+IHNlbGYudGhyZXNob2xkKToKICAgICAgICAgICAgcmV0dXJuICJUaGlzIGJvdCBkbyBub3QgcmVzcG9uZCB0byB0b3hpY2l0eS4iCgogICAgICAgIHJldHVybiBwcmVkaWN0aW9uCgogICAgZGVmIGV4cGxhaW4oc2VsZiwgcmVxdWVzdDogRGljdCkgLT4gc3RyOgogICAgICAgIHJldHVybiBmIlRleHQgdG94aWNpdHkgY2xhc3NpZmllciBzZXJ2ZXIgbmFtZWQge3NlbGYubmFtZX0iCgpmcm9tIG1scnVuLnJ1bnRpbWVzIGltcG9ydCBudWNsaW9faW5pdF9ob29rCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICBudWNsaW9faW5pdF9ob29rKGNvbnRleHQsIGdsb2JhbHMoKSwgJ3NlcnZpbmdfdjInKQoKZGVmIGhhbmRsZXIoY29udGV4dCwgZXZlbnQpOgogICAgcmV0dXJuIGNvbnRleHQubWxydW5faGFuZGxlcihjb250ZXh0LCBldmVudCkK - source: ./ - commands: [] - code_origin: http://github.com/mlrun/demo-llm-tuning#refs/heads/main#91145f96f3cd627431de34d0bae3547efbdd7097 - origin_filename: src/serving.py - requirements: [] - description: '' - default_handler: '' - disable_auto_mount: false - clone_target_dir: '' - env: - - name: V3IO_API - value: '' - - name: V3IO_USERNAME - value: '' - - name: V3IO_ACCESS_KEY - value: '' - - name: V3IO_FRAMESD - value: '' - resources: - requests: - memory: 1Mi - cpu: 25m - limits: - nvidia.com/gpu: 1 - priority_class_name: igz-workload-medium - preemption_mode: prevent - min_replicas: 1 - max_replicas: 4 - source: '' - function_kind: serving_v2 - readiness_timeout: 3000 - function_handler: serving:handler - base_image_pull: false - graph: - steps: - preprocess: - kind: task - handler: preprocess - after: [] - mlopspedia: - kind: task - class_name: LLMModelServer - class_args: - model_args: - load_in_8bit: true - device_map: cuda:0 - trust_remote_code: true - tokenizer_name: tiiuae/falcon-7b - model_name: tiiuae/falcon-7b - peft_model: store://artifacts/mlopspedia-bot-yonis/falcon-7b-mlrun - after: - - preprocess - postprocess: - kind: task - handler: postprocess - after: - - mlopspedia - toxicity-classifier: - kind: task - class_name: ToxicityClassifierModelServer - class_args: - threshold: 0.7 - after: - - postprocess - responder: true - engine: async - secret_sources: [] - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: app.iguazio.com/lifecycle - operator: NotIn - values: - - preemptible - - key: eks.amazonaws.com/capacityType - operator: NotIn - values: - - SPOT - - key: node-lifecycle - operator: NotIn - values: - - spot - tolerations: null - security_context: {} - verbose: false - workflows: - - path: src/training_workflow.py - name: training_workflow - artifacts: [] - conda: '' - source: git://github.com/mlrun/demo-llm-tuning.git#main - origin_url: http://github.com/mlrun/demo-llm-tuning#refs/heads/main - load_source_on_run: true - desired_state: online - default_image: yonishelach/mlrun-llm - build: - commands: [] - requirements: [] - custom_packagers: [] diff --git a/project_setup.py b/project_setup.py index d19f24e..00740af 100644 --- a/project_setup.py +++ b/project_setup.py @@ -33,7 +33,7 @@ def setup( name="image-builder", handler="assert_build", kind="job", - image="mlrun/ml-models-gpu", + image="mlrun/mlrun-gpu", requirements=[ "torch", "transformers[deepspeed]", @@ -45,7 +45,9 @@ def setup( ) assert image_builder.deploy() default_image = image_builder.spec.image - project.set_default_image(project.get_param("default_image")) + project.set_default_image(default_image) + else: + project.set_default_image(project.get_param("default_image")) # Set the project git source: diff --git a/tutorial.ipynb b/tutorial.ipynb index 10e5e1a..ab0e565 100644 --- a/tutorial.ipynb +++ b/tutorial.ipynb @@ -208,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "d771e4ba-43a4-4bcf-8ae0-d35c0f80d259", "metadata": {}, "outputs": [ @@ -229,7 +229,6 @@ " user_project=True,\n", " parameters={\n", " \"source\": \"git://github.com/mlrun/demo-llm-tuning.git#main\",\n", - " \"default_image\": \"yonishelach/mlrun-llm\",\n", " })" ] }, @@ -250,7 +249,18 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, + "id": "d92854a4", + "metadata": {}, + "outputs": [], + "source": [ + "# the absolute path to the file as it is in the local file system\n", + "html_links = \"/User/demo-llm-tuning/data/html_urls.txt\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, "id": "b1ea5ec6-cb78-44db-aac7-97e52ce591db", "metadata": {}, "outputs": [ @@ -400,7 +410,7 @@ "workflow_run = project.run(\n", " name=\"training_workflow\",\n", " arguments={\n", - " \"html_links\": \"/User/demo-llm-tuning/data/html_urls.txt\",\n", + " \"html_links\": html_links,\n", " \"model_name\": \"falcon-7b-mlrun\",\n", " \"pretrained_tokenizer\": model_name,\n", " \"pretrained_model\": model_name,\n",