Skip to content

master into develop after release #6776

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Jun 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/_data/sidenav/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,10 @@ sections:
title: Destination Functions
- path: /connections/functions/insert-functions
title: Destination Insert Functions
- path: /connections/functions/copilot
title: Functions Copilot
- path: /connections/functions/functions-copilot-nutrition-facts
title: Functions Copilot Nutrition Facts Label
- path: /connections/functions/environment
title: Functions Environment
- path: /connections/functions/usage
Expand Down
151 changes: 151 additions & 0 deletions src/_includes/content/functions-copilot-nutrition-facts.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
<style type="text/css">
@font-face {
font-family: 'SF Pro Text';
src: url('fonts/sf-pro/SFProText-Regular.eot');
src: url('fonts/sf-pro/SFProText-Regular.eot?#iefix') format('embedded-opentype');
font-style: normal;
}
doc-content.ol{margin:0;padding:0}
doc-content.table td,table th{padding:0}
.c9{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:3pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:3pt;border-top-style:solid;border-left-style:solid;border-bottom-width:3pt;width:468pt;border-top-color:#000000;border-bottom-style:solid}
.c28{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:3pt;border-right-width:3pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:3pt;border-top-style:solid;border-left-style:solid;border-bottom-width:6pt;width:468pt;border-top-color:#000000;border-bottom-style:solid}
.c6{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:1pt;border-right-width:3pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:3pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:468pt;border-top-color:#000000;border-bottom-style:solid}
.c26{border-right-style:solid;padding:5pt 5pt 5pt 5pt;border-bottom-color:#000000;border-top-width:6pt;border-right-width:3pt;border-left-color:#000000;vertical-align:top;border-right-color:#000000;border-left-width:3pt;border-top-style:solid;border-left-style:solid;border-bottom-width:1pt;width:468pt;border-top-color:#000000;border-bottom-style:solid}
.c0{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:12pt;font-family:"SF Pro Text";font-style:normal}
.c7{color:#000000;font-weight:400;text-decoration:none;vertical-align:baseline;font-size:11pt;font-family:"SF Pro Text";font-style:normal}
.c8{color:#000000;font-weight:700;text-decoration:none;vertical-align:baseline;font-size:12pt;font-family:"SF Pro Text";font-style:normal}
.c11{padding-top:0pt;padding-bottom:10pt;line-height:1.0;orphans:2;widows:2;text-align:left;height:11pt}
.c20{margin-left:216pt;padding-top:0pt;padding-bottom:10pt;line-height:1.0;orphans:2;widows:2;text-align:left}
.c3{margin-left:13.5pt;padding-top:0pt;padding-bottom:0pt;line-height:1.15;text-align:left}
.c12{color:#000000;text-decoration:none;vertical-align:baseline;font-style:normal}
.c10{padding-top:0pt;padding-bottom:0pt;line-height:1.0;text-align:left}
.c2{border-spacing:0;border-collapse:collapse;margin-right:auto}
.c14{padding-top:0pt;padding-bottom:0pt;line-height:1.15;text-align:left}
.c27{color:#ffffff;text-decoration:none;vertical-align:baseline;font-style:normal}
.c23{background-color:#ffffff;max-width:468pt;padding:72pt 72pt 72pt 72pt}
.c15{font-weight:400;font-size:11pt;font-family:"SF Pro Text"}
.c25{font-size:25pt;font-family:"SF Pro Text";font-weight:700}
.c18{orphans:2;widows:2;height:11pt}
.c21{font-size:10pt;font-family:"SF Pro Text";font-weight:700}
.c24{font-weight:400;font-size:11pt;font-family:"SF Pro Text"}
.c13{font-size:12pt;font-family:"SF Pro Text";font-weight:700}
.c22{font-size:12pt;font-family:"SF Pro Text";font-weight:400}
.c1{font-size:9pt;font-family:"SF Pro Text";font-weight:400}
.c17{font-weight:400;font-size:18pt;font-family:"SF Pro Text"}
.c29{font-weight:400;font-size:10pt;font-family:"SF Pro Text"}
.c16{font-weight:400;font-size:10pt;font-family:"SF Pro Text"}
.c19{background-color:#000000}
.c5{height:63.5pt}.c4{height:0pt}
.c4{height:0pt}
doc-content.title{padding-top:0pt;color:#000000;font-size:26pt;padding-bottom:3pt;font-family:"SF Pro Text";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}
doc-content.subtitle{padding-top:0pt;color:#666666;font-size:15pt;padding-bottom:16pt;font-family:"SF Pro Text";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}
doc-content.li{color:#000000;font-size:11pt;font-family:"SF Pro Text"}
doc-content.p{margin:0;color:#000000;font-size:11pt;font-family:"SF Pro Text"}
doc-content.h1{padding-top:20pt;color:#000000;font-size:20pt;padding-bottom:6pt;font-family:"SF Pro Text";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}
doc-content.h2{padding-top:18pt;color:#000000;font-size:16pt;padding-bottom:6pt;font-family:"SF Pro Text";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}
doc-content.h3{padding-top:16pt;color:#434343;font-size:14pt;padding-bottom:4pt;font-family:"SF Pro Text";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}
doc-content.h4{padding-top:14pt;color:#666666;font-size:12pt;padding-bottom:4pt;font-family:"SF Pro Text";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}
doc-content.h5{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"SF Pro Text";line-height:1.15;page-break-after:avoid;orphans:2;widows:2;text-align:left}
doc-content.h6{padding-top:12pt;color:#666666;font-size:11pt;padding-bottom:4pt;font-family:"SF Pro Text";line-height:1.15;page-break-after:avoid;font-style:italic;orphans:2;widows:2;text-align:left}
.nf-right-align{float:right;width:50%;text-align:right;}
.nf-indent{padding-left:1.5em}
</style>

<p class="c11"><span class="c7"></span></p><a id="t.454197d3f7d8252a28377abc8231c14367b7f8e7"></a><a id="t.0"></a>
<table class="c2"><tr class="c5">
<td class="c28" colspan="1" rowspan="1">
<p class="c14"><span class="c25">AI Nutrition Facts</span>
<br />
<br />
<span class="c0">Customer AI Functions Copilot</span></p>
</td>
</tr><tr class="c4">
<td class="c26" colspan="1" rowspan="1">
<p class="c10"><span class="c8">Description</span>
<br />
<br />
<span class="c1"> Functions Copilot is an AI-powered coding assistant designed to streamline the development of custom integrations, and enrich and transform Segment Functions.</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Privacy Ladder Level </span>
<span class="c0 nf-right-align">1</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10">
<span class="c13">Feature is Optional</span>
<span class="c0 nf-right-align">Yes</span></p>
</td>
</tr><tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Model Type </span>
<span class="c12 c15 nf-right-align">Generative</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Base Model </span>
<span class="c12 c15 nf-right-align">OpenAI - GPT-4</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6 c19" colspan="1" rowspan="1"><p class="c10"><span class="c13 c27">Trust Ingredients</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1">
<p class="c10"><span class="c13">Base Model Trained with Customer Data</span>
<span class="c0 nf-right-align">No</span>
<br />
<br />
<span class="c1 c12"></span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Customer Data Shared with Model Vendor</span>
<span class="c0 nf-right-align">No</span>
<br />
<br />
<span class="c12 c1"></span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Training Data Anonymized &nbsp; </span>
<span class="c0 nf-right-align">N/A</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Data Deletion</span>
<span class="c0 nf-right-align">Yes</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c14"><span class="c13">Human in the Loop </span>
<span class="c0 nf-right-align">Yes</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Data Retention </span>
<span class="c22 nf-right-align">N/A</span></p>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><span class="c8">Compliance &nbsp; &nbsp; </span><br />
<span class="c13 nf-indent">Logging &amp; Auditing </span>
<span class="c0 nf-right-align">N/A</span><br />
<span class="c13 nf-indent">Guardrails</span>
<span class="c0 nf-right-align">N/A</span>
</td>
</tr>
<tr class="c4">
<td class="c6" colspan="1" rowspan="1"><p class="c10"><span class="c13">Input/Output Consistency</span>
<span class="c0 nf-right-align">Yes</span></p>
</td>
</tr>
<tr class="c4">
<td class="c9" colspan="1" rowspan="1"><p class="c10"><span class="c8">Other Resources</span>
<br />
<br />
<span class="c12 c1">Learn more at: <a href="https://twilio.com/en-us/customer-ai" target="_blank">https://twilio.com/en-us/customer-ai</a> </span></p>
</td>
</tr>
</table>
56 changes: 56 additions & 0 deletions src/connections/functions/copilot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: Functions Copilot
---

Functions Copilot helps you generate JavaScript code for functions using natural language prompts.

> info "Functions Copilot Public Beta"
> Functions Copilot is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available.

## Functions Copilot benefits

Powered by OpenAI, Functions Copilot improves efficiency and productivity by streamlining the process of creating and managing custom functions.

Functions Copilot can help you:

- Generate JavaScript code for custom integrations and data transformations.
- Analyze existing code and provide optimization suggestions.
- Secure sensitive data with minimal effort.
- Simplify code testing and maintenance.

## Example prompts

This table lists example prompts you can use with Functions Copilot:

| Function Type | Example Prompts |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Source Functions** | "Transform incoming data into a track event."<br><br>"Enrich user data with additional demographic details using an external API." |
| **Destination Functions** | "Create a function that enriches an Identify event using the Profile API."<br><br>"Remove PII data and hash email addresses in an Identify event." |
| **Destination Insert Functions** | "Enrich an Identify event using an external API."<br><br>"Tokenize PII data before sending it downstream." |

## Best practices and limitations

Follow this guidance when you use Functions Copilot:

- Avoid using personally identifiable information (PII) or sensitive data.
- Write specific prompts. Specificity leads to more accurate CustomerAI function generation. Use the names of existing events, related attributes, and properties.
- Iterate on your prompts. If you don't get the result you're looking for, try rewriting the prompt.

### Limitations

Keep the following limitations in mind as you work with Functions Copilot:

- **Context limitations**: Functions Copilot generates code based on Segment-specific terminology and the prompts you write. As a result, the generated output may not always be accurate. If the function doesn't initially meet your needs, try to refine or rewrite your prompt.
- **Language support**: Functions Copilot only supports English prompts. Using other languages may impact the accurancy of the generated output.
- **Regional support**: Functions Copilot is only available for US region Segment workspaces.

## Segment's generative AI service

<!-- PW/June 2024: Stealing this from Generative Audiences, but we should probably centralize this info at some point -->
For Copilot to generate a function, Segment sends your query to OpenAI, Segment’s third-party AI service. All queries sent to OpenAI from Segment are anonymized, meaning that OpenAI won’t be able to identify from whom the query was sent unless you include uniquely identifiable information in the input.

GPT is OpenAI’s state-of-the-art natural language generation tool powered by artificial intelligence. It can perform a variety of natural language tasks like text generation, completion, and classification. CustomerAI uses the service to inspire segmentation and build functions and audiences.

According to OpenAI’s policy, OpenAI will not use data sent from Segment to train or improve their models, and they will delete the data after 30 days. Any content generated using GPT belongs to you. Segment will not claim copyright ownership of such content and makes no warranty regarding any AI generated content.

For more information, see the [Functions Copilot Nutrition Facts Label](/docs/connections/functions/functions-copilot-nutrition-facts/).
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Functions Copilot Nutrition Facts Label
---

Twilio’s [AI Nutrition Facts](https://nutrition-facts.ai/){:target="_blank"} provide an overview of the AI feature you’re using, so you can better understand how the AI is working with your data. Function Copilot's AI qualities are outlined in the following Nutrition Facts label. For more information, including the glossary regarding the AI Nutrition Facts label, refer to the [AI Nutrition Facts](https://nutrition-facts.ai/){:target="_blank"} page.

{% include content/functions-copilot-nutrition-facts.html %}
8 changes: 7 additions & 1 deletion src/connections/functions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,10 @@ Use cases:
- Transform outgoing data with advanced filtration and computation
- Ensure data compliance by performing tokenisation, encryption, or decryption before sending data downstream

To learn more, visit [destination insert functions](/docs/connections/functions/insert-functions).
To learn more, visit [destination insert functions](/docs/connections/functions/insert-functions).

#### Functions Copilot

With Functions Copilot, you can instrument custom integrations, enrich and transform data, and even secure sensitive data nearly instantaneously without writing a line of code.

To learn more, visit the [Functions Copilot documentation](//docs/connections/functions/functions-copilot).
Loading