From 803f72b03121452472d2158fd310440ea8949a5e Mon Sep 17 00:00:00 2001 From: Jael Gu Date: Tue, 7 Feb 2023 16:02:33 +0800 Subject: [PATCH] udpate Signed-off-by: Jael Gu --- README.md | 24 ++++++++---------------- result.png | Bin 13031 -> 14220 bytes 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 0034355..77291f6 100644 --- a/README.md +++ b/README.md @@ -19,27 +19,19 @@ Use the pre-trained model "microsoft/unixcoder-base" to generate text embeddings for given text description "return max value" and code "def max(a,b): if a>b: return a else return b". -*Write the pipeline*: +*Write a pipeline with explicit inputs/outputs name specifications:* ```python -import towhee +from towhee.dc2 import pipe, ops, DataCollection -( - towhee.dc(['find max value', 'def max(a,b): if a>b: return a else return b']) - .code_search.unixcoder(model_name='microsoft/unixcoder-base') +p = ( + pipe.input('text') + .map('text', 'embedding', ops.code_search.unixcoder()) + .output('text', 'embedding') ) -``` - -*Write a same pipeline with explicit inputs/outputs name specifications:* -```python -import towhee - -( - towhee.dc['text'](['return max value', 'def max(a,b): if a>b: return a else return b']) - .code_search.unixcoder['text', 'embedding']() - .show() -) +DataCollection(p('find max value')).show() +DataCollection(p('def max(a,b): if a>b: return a else return b')).show() ``` diff --git a/result.png b/result.png index 1b767b8f9978bd0e19f81b8851f0195cb442feaf..b442d85084dd69f6f6a6b4302693dd716e9ccf30 100644 GIT binary patch literal 14220 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 IV;1y30F6tOEC2ui literal 13031 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