浠婂ぉ鎴戜滑鐨凷pring AI婧愮爜鍒嗘瀽涓撻灏卞埌姝ょ粨鏉熶簡銆傛垜瀵规垜鎰熷叴瓒g殑鍩虹鐭ヨ瘑杩涜浜嗗交搴曠殑鍥為【锛屽苟涓庢偍鍒嗕韩杩欎釜鍒嗘瀽銆傚鏋滄偍瀵规涓婚鎰熷叴瓒o紝鍙互闃呰浠ヤ笅鏂囩珷銆傛瘡绡囨枃绔犲眰灞傞?掕繘锛屾繁鍏ユ帰璁ㄧ浉鍏冲唴瀹广?傝?冭檻鍒版枃绔犺繃闀垮彲鑳戒細璁╁ぇ瀹舵劅鍒扮柌鍔筹紝鎵?浠ユ垜閲囧彇浜嗗惊搴忔笎杩涚殑鏂瑰紡锛屼繚璇佹瘡涓?绡囨枃绔犵畝娲佹槗鎳傘?傚笇鏈涜兘涓烘偍鎻愪緵鏈変环鍊肩殑鍙傝?冿紒 Spring AI鐨勫熀鏈敤娉曪細AI鐨勯樆濉炶姹傚拰鍝嶅簲鏈哄埗鐨勬牳蹇冮?昏緫锛欰I鐨勬祦寮忓簲绛旀簮鐮佸垎鏋愶細AI妗嗘灦濡備綍鏈夋晥瑙e喅杩欎竴鎸戞垬銆傞?氳繃瀵规鏋剁殑璁捐鍜屽疄鐜扮殑娣卞叆鍒嗘瀽锛屾垜浠笇鏈涘悜鎮ㄥ睍绀哄浣曞皢AI鑳藉姏骞虫粦鍦拌瀺鍏ュ埌Java搴旂敤涓紝鎺ㄥ姩涓氬姟鐨勮繘涓?姝ュ彂灞曘?傛澶栵紝鍑芥暟璋冪敤鍑芥暟鍥炶皟涔熸槸AI鎶?鏈殑涓?涓噸瑕佺壒寰併?傞偅涔堬紝Spring AI 鏄浣曞簲瀵硅繖涓?鎸戞垬鐨勫憿锛熶粖澶╂垜浠氨娣卞叆鐮旂┒杩欎釜闂锛屽垎鏋怱pring AI妗嗘灦濡備綍鏈夋晥澶勭悊鍑芥暟鍥炶皟锛屽寮篈I涓嶫av鈥嬧?媋绋嬪簭鐨勪氦浜掋?傚疄浣撶被鍦↗ava绋嬪簭涓捣鐫?涓嶅彲鎴栫己鐨勪綔鐢ㄣ?傛棤璁烘槸杩涜鍐呴儴鎿嶄綔锛岃繕鏄悜鍓嶇RESTful鎺ュ彛杩斿洖鏁版嵁锛屽疄浣撶被閮芥槸涓氬姟涓俊鎭紶閫掔殑鏍稿績銆傚湪Spring AI妗嗘灦涓紝鎴戜滑鍙互鏈夋晥鎺у埗AI鐨勭瓟妗堬紝淇濊瘉鍏惰兘澶熸纭槧灏勫埌瀹炰綋绫汇?傛帴涓嬫潵鎴戜滑灏辨潵鎺㈣涓?涓婼pring AI鏄浣曞疄鐜拌繖涓姛鑳界殑銆傚熀鏈敤娉曞涓嬶細 浠g爜璇█锛?java copy @GetMapping("/ai-Entity")ActorFilms GenerationByEntity() { ActorFilms actorFilms = chatClient.prompt() .user("鐢熸垚闅忔満婕斿憳鐨勭墖鐩??) 銆?call() .entity(ActorFilms.class); return actorFilms;}婧愮爜鍒嗘瀽 杩欓噷鎴戜滑涓嶅啀鐩存帴璋冪敤content鏂规硶锛岃?屾槸閫夋嫨浣跨敤entity鏂规硶浣滀负杩斿洖绫诲瀷銆傝繖涓?鍙樺寲鎰忓懗鐫?鎴戜滑闇?瑕佸叧娉ㄥ疄浣撶殑瀹炴柦鍙婂叾鍦ㄦ暣涓祦绋嬩腑鐨勪綔鐢ㄣ?傛帴涓嬫潵鎴戜滑閫氳繃涓?涓唬鐮佺ず渚嬫潵娣卞叆鍒嗘瀽杩欎釜鍏抽敭閮ㄥ垎锛?浠g爜璇█锛?java copy public TEntity(Class type) { Assert.notNull(type, "璇ョ被蹇呴』闈炵┖" ); var boc = new BeanOutputConverter(type); return doSingleWithBeanOutputConverter(boc);} 杩欓噷浣跨敤浜嗕竴涓悕涓?BeanOutputConverter 鐨勮浆鎹㈠櫒銆傛帴涓嬫潵鎴戜滑璇︾粏鐪嬩竴涓媎oSingleWithBeanOutputConverter鏂规硶鐨勫叿浣撳疄鐜般?備唬鐮佽瑷?锛歫ava copy private T doSingleWithBeanOutputConverter(StructuredOutputConverter boc) { var chatResponse = doGetObservableChatResponse(this.request, boc.getFormat()); var stringResponse = chatResponse.getResult().getOutput().getContent( );杩斿洖 boc.convert(stringResponse); }杩欓噷鎴戜滑瑕佽璁虹殑doGetObservableChatResponse鏂规硶涓昏璐熻矗涓庣涓夋柟API鐨勪氦浜掕繃绋嬨?傜敱浜庢垜浠湪鍓嶉潰鐨勮瑙d腑宸茬粡瀵硅亰澶╄皟鐢ˋPI鏂规硶鐨勫疄鐜拌繘琛屼簡璇︾粏鐨勫垎鏋愶紝鍥犳杩欐鎴戜滑涓嶅啀娣辩┒鍏跺叿浣撳唴瀹癸紝鑰屾槸閲嶇偣鍏虫敞璇ユ柟娉曠殑鏍稿績鍔熻兘鍜屽簲鐢ㄥ満鏅?傝繖閲屽疄浣撶被鎻愮ず璇嶆湁闄愶紝鎴戜滑鐪嬩竴涓媌oc.getFormat()鏂规硶銆傝鏂规硶杩斿洖涓?涓彁绀鸿瘝锛岃繖浜涙彁绀鸿瘝鏍规嵁涓嶅悓鐨勭被鍨嬩細鏈夋墍涓嶅悓銆備负浜嗘洿濂界殑鐞嗚В锛屾垜浠彲浠ュ叿浣撳垎鏋愪竴涓嬪崟涓狟ean瀹炰綋绫诲搴旂殑鎻愮ず璇嶆牸寮忋?傚浘鐗囪缁嗕俊鎭涓嬶細 浠g爜璇█锛歫ava copy public String getFormat() { String template = """ 鎮ㄧ殑鍝嶅簲搴旇鏄?JSON 鏍煎紡銆備笉瑕佸寘鍚换浣曡В閲婏紝浠呮彁渚涢伒寰鏍煎紡涓斾笉甯﹀亸宸殑 RFC 鍏煎 JSON 鍝嶅簲銆備笉瑕佸湪鍝嶅簲涓寘鍚?markdown 浠g爜鍧椼?備粠杈撳嚭涓垹闄?``json markdown 杩欐槸鎮ㄧ殑杈撳嚭蹇呴』閬靛惊鐨?JSON 鏋舵瀯瀹炰緥锛歚```%s```` """; return String.format(template, this .jsonSchema);杩欏叾瀹炲緢绠?鍗曘?傞?氳繃浣跨敤鎻愮ず璇嶆潵鏄庣‘闄愬埗AI杩斿洖鐨勬牸寮忥紝鎴戜滑鍙互鏈?濂藉湴纭繚鍏惰緭鍑烘弧瓒虫垜浠殑瑕佹眰銆傝繖绉嶆柟娉曞彲浠ヨSpring鏈夋晥瑙f瀽锛岃?宩sonSchema鍙槸鎴戜滑浼犻?掔殑瀹炰綋绫荤殑鍚勭淇℃伅銆傚皝瑁呭疄浣撶被 boc.convert 鏂规硶璐熻矗灏嗘暟鎹皝瑁呭埌瀹炰綋绫讳腑鐨勮繃绋嬨?傚叿浣撴潵璇达紝瀹冩帴鏀跺師濮嬫暟鎹紝骞堕?氳繃鍐呴儴閫昏緫瀵瑰叾杩涜杞崲锛岀敓鎴愮鍚堟垜浠畾涔夌殑瀹炰綋绫荤粨鏋勩?備粠琛ㄩ潰涓婃垜浠彲浠ユ竻妤氬湴鐪嬪埌杩欎釜杩囩▼娑夊強鍒癑SON搴忓垪鍖栵紝灏嗘暟鎹皝瑁呮垚鎴戜滑鏈熸湜鐨勫璞℃牸寮忋?備絾闇?瑕佹敞鎰忕殑鏄紝铏界劧AI鎻愮ず璇嶇殑璁捐鐩殑鏄敖鍙兘闄愬埗鍏跺洖澶嶇殑鍐呭锛屼娇鍏跺敖鍙兘婊¤冻鎴戜滑鐨勮姹傦紝浣嗙敱浜庡悇绉嶅洜绱犵殑褰卞搷锛屾垜浠棤娉曚繚璇佸畠杩斿洖鐨勬牸寮忓皢瀹屽叏鎸夌収棰勮鐨勬柟寮忚繘琛屻?傚洜姝わ紝涓轰簡淇濊瘉绋嬪簭鐨勫仴澹?у拰鍙潬鎬э紝鍦ㄦ杩囩▼涓紩鍏ヤ簡寮傚父鎹曡幏鏈哄埗銆傝繖绉嶆満鍒跺彲浠ユ湁鏁堝鐞嗘綔鍦ㄧ殑鏍煎紡涓嶄竴鑷存垨閿欒锛岀‘淇濆簲鐢ㄧ▼搴忓湪闈㈠涓嶇鍚堥鏈熺殑鏁版嵁鏃惰兘澶熼『鍒╄繍琛岃?屼笉浼氬穿婧冦?傚嚱鏁板洖璋傾I鐩墠鑳藉鍙戞尌涓?瀹氱殑浣滅敤锛屼富瑕佸緱鐩婁簬妯″瀷鐨勫嚱鏁拌皟鐢ㄥ姛鑳姐?傚鏋滀粎浠呬緷闈犺缁冩ā鍨嬫潵鍥炵瓟鑱婂ぉ锛屽畠鐨勫疄闄呬环鍊肩浉瀵规湁闄愶紝鍥犱负杩欑鏂规硶鐨勬垚鏈潪甯搁珮锛屽緢澶氫紒涓氭棤娉曟壙鎷呫?傜劧鑰岋紝闅忕潃鍑芥暟鍥炶皟鍑芥暟鐨勫紩鍏ワ紝AI鍙互瀹炴椂璁块棶鍜屽埄鐢ㄥ悇绉嶆暟鎹紝鍖呮嫭瀹炴椂鏁版嵁鍜屼笟鍔℃暟鎹紝浣垮叾鑳藉鏍规嵁鎵?鎻愪緵鐨勪俊鎭仛鍑烘洿鍑嗙‘鏈夋晥鐨勭瓟妗堬紝浠庤?屽叿鏈夊疄璐ㄦ?х殑涓氬姟鑳藉姏銆傛帴涓嬫潵鎴戜滑鐪嬬湅Spring AI鏄浣曞疄鐜拌繖涓?鐐圭殑銆傚熀鏈敤娉?鍦ㄤ簡瑙d簡鍓嶉潰鐨?Spring AI 浣跨敤鏂囩珷鍚庯紝鎮ㄥ彲鑳藉凡缁忕煡閬撳浣曞垱寤?Function 鍑芥暟銆傛帴涓嬫潵锛屾垜浠皢娣卞叆鎺㈣濡備綍灏嗘鍔熻兘娣诲姞鍒版垜浠殑椤圭洰涓?備唬鐮佽瑷?锛歫ava copy @PostMapping("/ai-function")ChatDataPO functionGenerationByText(@RequestParam("userInput") String userInput) { String content = this.myChatClientWithSystem.prompt() .user(userInput) .functions("CurrentWeather" ) .call() .content(); log.info("鍐呭锛歿}"锛屽唴瀹?; ChatDataPO chatDataPO = ChatDataPO.builder().code("text").data(ChildData.builder().text( content).build()).build();; return chatDataPO;} 鍦ㄦ垜浠殑椤圭洰涓紝functions鍑芥暟鍏佽娣诲姞澶氱鍑芥暟锛岃?屼笉浠呬粎灞?闄愪簬鍗曚釜宸ュ叿鐨勮皟鐢ㄣ?備緥濡傦紝鍦ㄥ崈甯咥ppBuilder绛夊彲瑙嗗寲浠g悊鐨勫簲鐢ㄤ腑锛屾垜浠彲浠ヨ瀵熷埌鎬濊?冭疆鐨勪娇鐢紝鍏朵腑娑夊強鍒板涓伐鍏风殑璋冪敤銆傝繖绉嶆柟娉曚负鎴戜滑鐨勪唬鐞嗘彁渚涗簡鏇翠赴瀵岀殑鍔熻兘鍜岀伒娲绘?с?傛帴涓嬫潵锛屾垜浠皢杩涜涓?涓嚱鏁拌皟鐢ㄦ潵瀹為檯婕旂ず鍏舵晥鏋溿??杩欓噷鎴戜滑浣跨敤鍥哄畾鐨?30搴︿綔涓虹ず渚嬪?硷紝浣嗘槸鎮ㄥ彲浠ラ?氳繃鍑芥暟鏂规硶鍐呴儴鐨勬帴鍙h皟鐢ㄥ叾浠栫涓夋柟鏈嶅姟鏉ヨ幏鍙栧疄鏃舵暟鎹?傚洜姝わ紝閫氳繃闆嗘垚澶栭儴鏁版嵁婧愶紝鎮ㄥ彲浠ュ疄鐜版洿鍔犳櫤鑳姐?侀?傚簲鎬ф洿寮虹殑鍔熻兘銆傛簮浠g爜鍒嗘瀽杩樿寰楁垜浠箣鍓嶈璁鸿繃鐨勫悧锛熷湪绛旀鐨勬渶鍚庯紝鎴戜滑浼氳繘琛屽垽鏂紝鍒ゆ柇褰撳墠杈撳嚭鏄惁鏄嚱鏁拌皟鐢ㄣ?傝繖涓繃绋嬫槸纭繚绯荤粺鑳藉鍑嗙‘璇嗗埆鍜屾墽琛屽姛鑳界殑閲嶈涓?姝ャ?傛帴涓嬫潵鎴戜滑閫氳繃灞曠ず鐩稿叧婧愮爜鏉ユ洿娣卞叆鐨勪簡瑙h鏈哄埗鐨勫叿浣撳疄鐜帮細 浠g爜璇█锛歫ava copy if (isToolCall(chatResponse, Set.of(ChatCompletionFinishReason.TOOL_CALLS.name(), ChatCompletionFinishReason.STOP.name) ()))) { var toolCallConversation = handleToolCalls(prompt, chatResponse); // 浣跨敤鍖呭惈璋冪敤鍝嶅簲鐨勫伐鍏疯皟鐢ㄦ秷鎭?// 瀵硅瘽閫掑綊璋冪敤璋冪敤鏂规硶銆?return this.call(new Prompt(toolCallConversation, Prompt.getOptions ()));} 杩欓噷鎴戜篃璁剧疆浜嗕竴涓柇鐐癸紝浠ヤ究澶у鍙互娓呮鐨勭湅鍒版祦绋嬨?傝繖涓柇鐐瑰府鍔╂垜浠‘璁よ繑鍥炵殑缁撴灉瀹屽叏鏄敱AI鐢熸垚鐨勩?傚湪姝ゅ熀纭?涓婏紝鎴戜滑浼氳繘涓?姝ュ垽鏂槸鍚﹂渶瑕佽皟鐢ㄨ鍔熻兘宸ュ叿銆?image鎺ヤ笅鏉ユ垜浠氨杩涘叆鍑芥暟璋冪敤鐨勮繃绋嬩簡銆傝繖涓?姝ヨ嚦鍏抽噸瑕侊紝鍥犱负鍑芥暟鐨勮繑鍥炲?煎皢鍐嶆鎻愪緵缁橝I锛屼綔涓哄悗缁瓟妗堢殑鍙傝?冦?傛垜浠潵鐪嬬湅鍑芥暟璋冪敤鏄浣曡繘琛岀殑銆傝櫧鐒舵垜宸茬粡鎵惧埌浜嗙浉鍏崇殑婧愮爜锛屼絾鏄负浜嗚澶у鏇村鏄撶悊瑙f祦绋嬶紝鎴戣繕鏄彁渚涗竴涓洿瑙傜殑鍥剧墖銆傝鍥惧儚灏嗘竻妤氬湴鏄剧ず鍑芥暟璋冪敤鐨勬祦绋嬩互鍙婅繑鍥炲?煎浣曢泦鎴愬埌浜哄伐鏅鸿兘鐨勭瓟妗堜腑銆?image涔嬫墍浠ュ彂閫佽繖浜涘弬鏁帮紝鏄洜涓哄湪鍙戝嚭璇锋眰鏃跺凡缁忚缃簡鐩稿叧闄愬埗銆備互涓嬫槸鎴戞埅鑾风殑璇锋眰鍙傛暟锛歵ools=[FunctionTool[type=FUNCTION, function=Function[description=鑾峰彇鎸囧畾鍦扮偣鐨勫ぉ姘旀儏鍐碉紝name=CurrentWeather,parameters={$schema= type=object,properties={ location= {type=string}, unit={type=string, enum=C, F}}}]]]鐩墠锛屽嚑涔庢墍鏈夌涓夋柟AI鎺ュ彛閮芥彁渚涗簡涓?涓悕涓簍ools鐨勫弬鏁帮紝鐢ㄤ簬浼犻?掓垜浠渶?鐨勫弬鏁般?備互OpenAI涓轰緥锛氬浘鍍忚皟鐢ㄥ嚱鏁版帴鍙c?傜敱浜庢垜浠殑鍑芥暟瀹炵幇浜咢FunctionalInterface鎺ュ彛锛屽洜姝よ皟鐢ㄧ嚎瀹為檯涓婁細璋冪敤鎴戜滑瀹氫箟鐨刟pply鎺ュ彛銆傜敱浜庢垜浠殑鍙傛暟鏄疄浣撹褰曪紝绯荤粺鍦ㄨ皟鐢ㄤ箣鍓嶄細瀵瑰叾杩涜JSON杞崲骞跺皝瑁呫?傚叿浣撹繃绋嬪涓嬶細 浠g爜璇█锛歫ava copy public String call(String functionArguments) { // 灏嗗伐鍏疯皟鐢↗SON鍙傛暟杞崲涓篔ava鍑芥暟璇锋眰瀵硅薄銆傛垜璇锋眰 = fromJson(functionArguments, inputType); // 浣跨敤鍑芥暟鍝嶅簲鎵╁睍瀵硅瘽銆傝繑鍥?this.andThen(this.responseConverter).apply(request);鍥犳锛屽嵆浣挎墍鏈夋搷浣滈兘缁撴潫浜嗭紝濡傛灉涓嬩竴娆I鍒ゆ柇鏃惰繕闇?瑕佽皟鐢ㄨ宸ュ叿锛岀郴缁熶細缁х画寰幆锛岀洿鍒版墍鏈夐棶棰橀兘瀹屾垚涓烘锛岀洿鑷崇粰鍑虹瓟妗堛?傝繖绉嶈璁$‘淇濅簡鏁翠釜杩囩▼鐨勮繛璐?у拰瀹屾暣鎬с?傛?荤粨 鍦ㄦ湰娆¤璁轰腑锛屾垜浠繁鍏ユ帰璁ㄤ簡Spring AI妗嗘灦濡備綍涓嶫ava绋嬪簭瀹岀編闆嗘垚锛屾彁鍗囦笟鍔¤兘鍔涖?傞殢鐫?AI鎶?鏈殑涓嶆柇鍙戝睍锛屽叾鍦↗ava搴旂敤涓殑闆嗘垚鎴愪负鎻愰珮寮?鍙戞晥鐜囧拰鐢ㄦ埛浣撻獙鐨勫叧閿?傛垜浠笉浠呭垎鏋愪簡瀹炰綋绫荤殑鏄犲皠鍜屾帶鍒讹紝杩樻帰绱簡鍑芥暟鍥炶皟鐨勫己澶у姛鑳斤紝灞曠ず浜嗗浣曢?氳繃 Spring AI 鏈夋晥澶勭悊杩欎簺澶嶆潅鐨勪氦浜掋?傚笇鏈涜繖浜涘垎鏋愯兘澶熷澶у瀵逛汉宸ユ櫤鑳界殑搴旂敤鏈夋墍鍚彂锛岄紦鍔卞ぇ瀹跺湪鑷繁鐨勯」鐩腑澶ц儐灏濊瘯锛屽皢浜哄伐鏅鸿兘鎶?鏈瀺鍏ュ埌涓氬姟娴佺▼涓?傛垜鏈熷緟灏嗘潵鐪嬪埌鎮ㄧ殑鎯虫硶鐨勫疄鏂藉拰搴旂敤锛佹拻鑺卞畬姣曪紒 Spring AI绯诲垪婧愮爜鍒嗘瀽鍒版缁撴潫銆傚鏋滀互鍚庤繕鏈夊叾浠栨湁瓒g殑鍒囧叆鐐癸紝鎴戜細缁х画缁欏ぇ瀹跺甫鏉ュ垎鏋愶紒鎴戞槸灏忓畤锛屼竴鍚嶅嫟濂嬬殑Java鏈嶅姟鍣ㄧ▼搴忓憳锛岃嚧鍔涗簬鐮旂┒AI鎶?鏈殑濂ョ銆傛垜鐑埍鎶?鏈氦娴佸拰鍒嗕韩锛屽寮?婧愮ぞ鍖哄厖婊$儹鎯呫?傚悓鏃朵篃鏄吘璁簯鍒涙剰鏄庢槦銆侀樋閲屼簯涓撳鍗氫富銆佸崕涓轰簯浜戝垎浜笓瀹躲?佹帢閲戜紭绉?浣滆?呫??馃挕鎴戜細姣笉鐘硅鲍鍦板垎浜垜涓汉鍦ㄦ妧鏈亾璺笂鐨勬帰绱㈠拰缁忛獙锛屽笇鏈涜兘缁欎綘鐨勫涔犲拰鎴愰暱甯︽潵涓?浜涘惎鍙戝拰甯姪銆?馃専娆㈣繋鍏虫敞鍔姏鐨勫皬瀹囷紒 馃専
站长声明
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件
举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
相关文章
-
据投资界8月27日消息,内向基金(洞察基金)正式完成首期基金首轮超亿元募资,目标规模2亿元,将重点关注消费升级领域的股权投资。 据了解,引进基金是与新经济精品投行“穆棉资本”联合设立的私募股权投资基金。 它是由孙婷婷和Stefanie应金峰共同创立的。 两人在风险投资行
06-17
-
东方航天完成近6亿元B轮融资,重力2号中大型可回收液体火箭加速! |远景家族 远景资本 远景资本 远景资本 微信 IDvisionpluscapital 关于专题 远景资本公众平台汇聚创新趋势,以分享启发 01-25 17:12发布于浙江 近日,东方空间完成近6亿元B轮融资,本轮投资被梁溪科技创新产业
06-18
-
合肥市人民政府 据合肥市人民政府消息,5月5日,合肥市晶和集成电路股份有限公司在上海证券交易所上市。 成功登陆科创板,成为安徽省首家成功登陆资本市场的纯晶圆代工企业。 本次发行价格为19.86元。 超额配售选择权全额行使后,募集资金5500万元,在科创板上市公司融资规模
06-06
-
投资界(ID:pedaily)5月29日消息,国内质子交换膜电解槽核心材料及器件提供商合肥动量守恒绿色动力节能股份有限公司(以下简称“动力节能”)近日正式完成领投方数千万元天使轮融资。 本次完成交割的天使轮领投方为当看同创资本,元和资本担任天使轮融资独家投资方。 本轮融
06-18
-
投资界4月26日消息,近日,“新基建”全栈工业互联网产品提供商“退风科技完成5亿元B轮融资。 本轮融资由中金传输基金、深创投、交银国际、越秀金控联合领投,招商致远、青控招商、云启资本、亿唐宏图集成电路及互联网投资基金跟投老股东继续投资。 据悉,德丰科技在10个月内
06-18
-
Wind数据显示,截至2月3日,年初以来累计设立基金,发行规模7900万元。 其中,仅1月份就成立了一只基金,发行规模达4000万元,是继今年7月之后历史上第二高的单月发行规模。
06-18
-
投资界(ID:pedaily)4月24日消息,合肥登特菲医疗器械有限公司近日公告完成数千万元Pre-A轮融资。 本轮融资由海恒资本、宏博资本、创谷资本、合肥天使投资基金共同投资。 本轮融资完成后,登特菲将继续加大智能高端口腔医疗设备的创新研发,加大量产线建设,加速产品迭代和
06-17
-
2019年6月6日,北京安好时代科技发展有限公司发布了公司首款移动产品——安好APP,目前活跃用户量已达45万。 据悉,安好时代整合了大量医疗资源,打造了一支由数十名专职医生组成的团队。 不少医生入驻安好医生平台,开设个人诊所。 2019年6月28日,安好联合中国老年保健协会
06-17
-
Midjourney是一款基于AI的图像生成工具,专注于通过文字描述创建高质量的视觉内容。 主要功能: 1.图像生成:Midjourney接受用户通过文字输入的描述,并将这些描述转换为详细的图片。 用户可以指定样式、主题、颜色和其他元素。 2.风格模仿:该工具能够模仿艺术家已知作品的各
06-17
-
2018年,全球宏观经济和各类资产的表现大幅超出市场年初的悲观预期。 它已经悄然到来。 新的一年,投资者可能面临全球经济、政策和政治环境的哪些变化?如何调整投资策略应对风险并实现资产增值? 据投资界1月10日消息,宜信财富正式发布《年资产配置策略指引》(以下简
06-18
-
“罗哥,坚果没了”。 “嗯,是好事。 ”近日,字节跳动宣布暂停手机业务,原锤子科技团队成立的新石实验室,并入教育硬件团队。 业务方面,合并后的硬件团队将专注于教育领域,不再开发坚果手机、TNT显示器等其他无关产品。 坚果手机补充称,售后和系统维护将继续进行,手机
06-17
-
阿维塔11单电机版纯电动SUV介绍华为官宣M5高端智能手机驱动版氪倡议:联合抵制网络水军。 比亚迪即将推出“云柴系统”,疑似与底盘有关。 比亚迪新专利:可通过静脉识别解锁车辆理想ONE突然断电,售后服务需要保密协议。 阿维塔11单电机纯电动SUV今日发布。 在晚间的新品发布
06-21
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用