用于演示通过Azure OpenAI使用自然语言转化成 GraphQL 再调用公共的接口。为演示方便,当前仅支持无验证的公开接口。运行此程序,需要先设置2个环境变量:
setx AZURE_OPENAI_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
再到 index.js 中修改 deploymentId 的值,改为你在 Azure OpenAI 中创建的 deployment ID
// Change your deployment ID here
const deploymentId = 'gpt35';
交互语言默认使用中文,也可改成其它语言。修改 index.js 中的 userLanguage 的值即可。
// Change your language here:
const userLanguage = 'Chinese';
然后运行 npm start -- https://countries.trevorblades.com/
即可。
https://countries.trevorblades.com/
- 基本的国家数据https://space-courses-api.herokuapp.com/
- 虚构的太空课程https://rickandmortyapi.com/graphql
- 瑞克和莫蒂https://comet-cruises-api.herokuapp.com/
- 微型示例位置服务https://comet-cruises-activities.herokuapp.com/
- 微型示例活动服务https://api.react-finland.fi/graphql/
- 关于芬兰 React 大会的数据https://barcelona-urban-mobility-graphql-api.netlify.app/graphql/
- 关于巴塞罗那自行车/地铁/公交车站的数据
使用 https://countries.trevorblades.com/ 进行地理问答。
npm start -- https://countries.trevorblades.com/
> chatgpt-graphql-schema@1.0.0 start
> node index.js https://countries.trevorblades.com/
379 tokens in schema, each question will cost about 0.15 cents
User input:
> 基里巴斯的ID是什么?
GraphQL query from ChatGPT:
```
{
country(code: "KI") {
code
}
}
```
Response from GraphQL endpoint:
{"data":{"country":{"code":"KI"}}}
Asking ChatGPT to interpret the results: I sent that query and got this response: `{"data":{"country":{"code":"KI"}}}`. Translate that response to `Chinese`.
ChatGPT's interpretation of response:
基里巴斯的ID是 "KI"。
User input:
> 请告诉我关于基里巴斯的所有信息。
GraphQL query from ChatGPT:
```
{
country(code: "KI") {
name
capital
code
currencies
currency
states {
name
}
languages {
name
native
}
continent {
name
countries {
name
}
}
}
}
```
ChatGPT's interpretation of response:
关于基里巴斯的详细信息如下:
- 名称为 "Kiribati"。
- 首都为 "South Tarawa"。
- ID 为 "KI"。
- 使用的货币为澳大利亚元 (AUD),货币代码为 "AUD"。
- 没有行政区划。
- 官方语言为英语,原生语言名称为 "English"
- 所在洲为大洋洲,包含多个国家,其中包括 American Samoa, Australia, Cook Islands, Fiji, Micronesia, Guam, Kiribati, Marshall Islands, Northern Mariana Islands, New Caledonia, Norfolk Island, Nauru, Niue, New Zealand, French Polynesia, Papua New Guinea, Pitcairn Islands, Palau, Solomon Islands, Tokelau, East Timor, Tonga, Tuvalu, U.S. Minor Outlying Islands, Vanuatu, Wallis and Futuna, 和 Samoa。