Skip to content
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

Doc for using vanilla gpt #90

Merged
merged 5 commits into from
Feb 7, 2024
Merged
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
64 changes: 64 additions & 0 deletions docs/4. Integrations/ChatGPT using OpenAI APIs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
> ###**3 minute read                                                                                                                         `Advanced`**

## Using ChatGPT within Glific using the OpenAI APIs

_**Leverage the capabilities of GPT models developed by OpenAI by using OpenAI APIs.**_

## Pre-requisites
1. Create an account in OpenAI platform [platform](https://openai.com/product)
2. Create new API keys
3. Make sure there is enough credit in OpenAI account to allow usage.
4. Pricing for API calls is as per OpenAI platform [pricing](https://openai.com/pricing)

<img width="1060" alt="Screenshot 2024-02-07 at 10 50 58 AM" src="https://github.com/glific/docs/assets/141305477/d3c22780-a4ae-4aaa-b196-1d079fce7eb5" />

_Above is a representative image from the OpenAI platform account_

## How it will work

1. Question is asked by the user after the flow is initiated
2. OpenAI API call is made using webhooks within the flow
3. Model being called to generate responses is `gpt-3.5-turbo-16k`
4. The response to the question is then sent to the user

## Steps to follow to set up OpenAI API in Glific platform
1. Go to `Settings`, find `OpenAI (ChatGPT) (Beta)`
2. Click on `is active` and paste the OpenAI API key from your OpenAI platform account

<img width="591" alt="Screenshot 2024-02-07 at 10 48 51 AM" src="https://github.com/glific/docs/assets/141305477/87adef8e-1858-4aa6-8b46-7f976cfbb9fb" />

## Using the webhook for OpenAI API call in a Glific flow

<img width="1069" alt="Screenshot 2024-02-07 at 9 59 24 AM" src="https://github.com/glific/docs/assets/141305477/babb9e27-fce5-4b2b-81d9-58017fd1a079" />

_Representative image to explain the steps in OpenAI API calls in a simple flow_

[Sample flow](https://drive.google.com/file/d/1jl0NWn73YlK1qMRedaPnGCQwDKHfG_7j/view?usp=drive_link)


1. Get the user question
2. In `call a webhook` node, select `function` and paste function name as `parse_via_chat_gpt`

<img width="684" alt="Screenshot 2024-02-07 at 10 52 49 AM" src="https://github.com/glific/docs/assets/141305477/f1165b6b-483c-43b4-9e8d-7bb6044d6e24" />

3. Share the following function body
` {
"contact": "@contact",
"results": "@results",
"question_text": "@results.question"
}`

here `question_text` is the parameter name corresponding to user question.

<img width="711" alt="Screenshot 2024-02-07 at 10 53 21 AM" src="https://github.com/glific/docs/assets/141305477/65622c0e-2dfb-41fb-8f6d-a836e8a0f81d" />

4. The response from GPT is shown as `@results.webhookresultname.parsed_msg`, in the given example `gpt_response` is the webhook result name.


## Limitations
1. At present, this is simple question answer with the GPT model `gpt-3.5-turbo-16k`
2. Selection of GPT model is not yet customizable from org Glific instances
3. Additional system prompt is not yet customizable from org Glific instances
4. Parameters like temperature, top P etc are not yet customizable from org Glific instances

_Reach out to the Glific team to flag any further customizations within this functionality_
Loading