智能机票助手 --Spring AI Alibaba
智能机票助手-接入Ollama本地模型 --知识库公开
智能机票助手 ,构建业务智能体应用。
Ollama 本地对话模型
可跳过
1. 下载安装 Ollama
2. 拉取运行对话模型
qwen3 的qwen3:4b
shell
// 拉取模型
ollama pull qwen3:4b
// 运行模型
ollama run qwen3:4b
智能机票助手
使用 RAG 增加机票退改签规则
嵌入模型,向量存储
src/main/resources
/rag/terms-of-service.txt
log
2025-08-09T14:43:17.493+08:00 INFO 970 --- [ restartedMain] o.s.ai.vectorstore.SimpleVectorStore : Calling EmbeddingModel for document id = 4e399543-2980-4ca3-bfbc-da4e3c97dd13
2025-08-09T14:43:18.284+08:00 INFO 970 --- [ restartedMain] a.s.demo.ai.playground.AgentApplication : Similar Document: These Terms of Service govern your experience with Funnair. By booking a flight, you agree to these terms.
1. Booking Flights
- Book via our website or mobile app.
- Full payment required at booking.
- Ensure accuracy of personal information (Name, ID, etc.) as corrections may incur a $25 fee.
2. Changing Bookings
- Changes allowed up to 24 hours before flight.
- Change via online or contact our support.
- Change fee: $50 for Economy, $30 for Premium Economy, Free for Business Class.
3. Cancelling Bookings
- Cancel up to 48 hours before flight.
- Cancellation fees: $75 for Economy, $50 for Premium Economy, $25 for Business Class.
- Refunds processed within 7 business days.
游乐场航班预订-控制台

1. 机票预定详细信息
完整的交互指令
你好,我需要获取机票预定详细信息,姓名是云小宝,预订号是101。
你好,我需要
获取机票预定详细信息
,我的
姓名是云小宝
,
预订号是101
。
diff
// 用户消息
你好,我需要获取机票预定详细信息,姓名是云小宝,预订号是101。
// 助手消息
<think>
好的,用户需要获取机票预定详细信息,提供了姓名云小宝和预订号101。首先,我需要确认这些信息是否正确。 根据之前的记忆,用户已经提供了预订号和姓名,所以可以直接调用getBookingDetails函数。检查工具中的函数签名,发现需要bookingNumber和name参数,这两个参数用户都已经提供,所以可以直接调用。 不需要其他参数,因此不需要进一步询问用户。接下来,我需要确保用户的问题在服务条款范围内。 根据条款1,用户需要准确的个人信息,但这里用户已经正确提供了信息,所以可以继续。然后,调用getBookingDetails函数,参数为bookingNumber:"101"和name:"云小宝"。确认无误后,返回工具调用的JSON结构。
</think>
<think>
好的,用户需要查询机票预定详细信息,已经提供了预订号和姓名。首先,我需要调用getBookingDetails函数,参数是预订号101和姓名云小宝。根据工具调用的结果,返回的信息包括日期是2025年8月11日,状态是CONFIRMED,从青岛到成都,商务舱。
现在需要把信息整理成用户友好的回复。要确认用户的问题是否已经解决,是否需要进一步操作。根据用户的历史消息,用户只是询问详细信息,所以应该直接给出查询结果,不需要其他操作。同时,要确保回复清晰,包含所有关键信息,比如日期、航班状态、出发地、目的地和舱位等级。另外,注意语气友好,使用中文,并且避免使用专业术语,让用户容易理解。检查是否有需要进一步询问的地方,但根据当前信息,用户的需求已经满足,所以直接回复即可。
</think>
您的机票预订详细信息如下:
-预订号:101
-姓名:云小宝
-出行日期:2025年8月11日
-航班状态:已确认(CONFIRMED)
-出发地:青岛
-目的地:成都
-舱位等级:商务舱(BUSINESS)
如有其他问题,欢迎随时联系!😊

模型输入和输出日志,见知识库的文章。
2. 机票改签
机票预定信息

完整的交互指令
bash
你好,我需要改签机票,我的姓名是云小宝。
我的预订号是101。
改签到2025年8月12日,不需要调整出发地/目的地。
我同意支付$30的改签费用,新航班日期符合我的要求,确认需要改签。
你好,我需要
改签机票
,
姓名是云小宝
。
arduino
// 用户消息
你好,我需要改签机票,我的姓名是云小宝。
// 助手消息
<think>
好的,用户说他需要改签机票,姓名是云小宝。首先,我需要确认他的预订号,因为根据之前的指示,改签之前必须获取预订号和客户姓名。 用户已经提供了姓名,但没有预订号。这时候应该先询问预订号,但需要检查历史记录是否有之前提到过。不过根据提供的MEMORY部分,目前没有预订号的信息。所以必须要求用户输入预订号。不过用户可能已经提到过,但在这里可能没有。所以接下来应该提示用户输入预订号。不过根据用户当前的信息,他只提到了姓名,所以需要先获取预订号。然后才能调用changeBooking函数。另外,根据条款,改签需要在起飞前24小时进行,用户需要确认日期是否符合。 但首先必须获取预订号。所以回复应该先询问预订号,然后根据用户提供的信息继续处理。
</think>
为了帮助您完成机票改签,请提供您的预订号。 另外,您需要告知改签后的具体日期和航班信息(如出发地和目的地) ,以便我们为您处理。

模型输入和输出日志,见知识库的文章。
我的
预订号是101
。
javascript
// 用户消息
我的预订号是101。
// 助手消息
<think>
好的,用户提供了预订号是101,姓名是云小宝,现在需要处理机票改签。首先,我需要调用getBookingDetails函数来获取当前的预订详细信息,包括原定航班、日期等信息。 这样可以确认用户需要改签的航班和日期,以及是否符合改签的时间限制(起飞前24小时)。接下来,用户可能需要提供新的日期和航班信息,但根据当前的信息,先获取现有预订的详细情况是必要的。同时,要确保用户了解改签可能产生的费用,比如是否需要支付 $50 的费用。 在获取到详细信息后,再进一步询问用户新的行程细节,以便进行下一步操作。此外,需要检查用户提供的预订号是否有效,以及是否在允许改签的时间范围内。 如果用户的信息不正确或已经过了改签时间,需要及时告知用户并提供解决方案。
</think>
<think>
好的,用户需要改签机票,已经提供了预订号101和姓名云小宝。首先,我需要确认用户的改签需求是否符合条款。 根据之前的工具调用结果,用户的当前航班是2025年8月11日从广州到杭州,商务经济舱已确认。
接下来,用户可能需要更改航班日期,但需要明确新的日期和航班信息。 根据条款,改签必须在起飞前24小时进行。当前日期是2025年8月9日,原航班是8月11日,还有时间可以改签。但用户没有提供新的日期,所以需要询问用户希望改签到什么日期,以及是否有新的航班信息。此外,改签可能需要费用,特别是商务经济舱,费用是30美元。需要确认用户是否同意支付费用,并获取必要的信息来调用changeBooking函数。 同时,要确保用户提供的新日期符合航空公司的政策,避免在起飞前24小时改签。因此,下一步应该提示用户提供新的日期和航班细节,以便继续处理。
</think>
您的当前航班信息如下:
-出发地:广州
-目的地:杭州
-航班日期:2025年8月11日
-座位等级:商务经济舱(PREMIUM_ECONOMY)
请问您希望改签到什么日期的航班?是否需要调整出发地/目的地? (注:改签需在起飞前24小时申请,商务经济舱改签需支付 $30手续费)

模型输入和输出日志,见知识库的文章。
改签到2025年8月12日
,不需要调整出发地/目的地。
javascript
// 用户消息
改签到2025年8月12日,不需要调整出发地/目的地。
// 助手消息
<think>
好的,用户希望将机票改签到2025年8月12日,不需要调整出发地和目的地。首先,我需要确认用户提供的信息是否符合改签的条件。根据之前的工具调用结果,用户的原航班是8月11日,现在需要改签到8月12日。根据条款,改签必须在起飞前24小时进行,当前日期是8月9日,还有时间,所以时间上是允许的。
接下来,用户没有提到调整出发地或目的地,所以from和to参数可以保持原样。但根据函数参数,changeBooking需要from和to参数,可能需要填写原出发地和目的地,或者可能用户没有提供,但根据之前的查询,用户已经提供了原出发地广州和目的地杭州,所以这里可能需要确认是否需要填写这些信息。不过根据用户当前的请求,可能不需要调整,所以可能可以留空或者填写原信息。
另外,改签费用是$30,需要确认用户是否同意支付费用。用户没有提到费用问题,所以需要询问用户是否同意支付$30的改签费用,并确认新的航班日期。因此,下一步应该提示用户确认费用和新的日期,然后调用changeBooking函数。
</think>
您的改签申请需要确认以下信息:
1.您同意支付$30的改签费用吗?
2.新航班日期为2025年8月12日,是否符合您的要求?
(注:改签需在起飞前24小时申请,当前时间2025-08-09仍符合改签条件)

模型输入和输出日志,见知识库的文章。
我
同意支付
$30的
改签费用,新航班日期符合我的要求,确认需要改签
。
vbnet
// 用户消息
我同意支付$30的改签费用,新航班日期符合我的要求,确认需要改签。
// 助手消息
<think>
好的,用户已经确认要支付$30的改签费用,并且同意改签到2025年8月12日。现在需要调用changeBooking函数来处理改签请求。根据用户提供的信息,预订号是101,姓名是云小宝,新的日期是2025年8月12日,出发地和目的地保持不变,即广州到杭州。
首先,需要确认函数参数是否正确。changeBooking需要的参数包括bookingNumber、date、from、name、to。用户已经提供了所有必要的信息,所以可以填入这些参数。需要注意的是,用户之前查询时已经确认了from和to是广州和杭州,所以这里可以直接使用这些值。
接下来,检查是否有任何可能的错误。例如,日期是否在允许的范围内,但根据之前的条款,改签在起飞前24小时进行,当前时间是8月9日,改签到12日是符合要求的。另外,用户已经同意支付费用,所以不需要再询问确认。
因此,调用changeBooking函数,参数为bookingNumber:"101",date:"2025-08-12",from:"广州",name:"云小宝",to:"杭州"。这应该能成功处理用户的改签请求。
</think>
<think>
好的,用户已经确认了改签的信息,现在需要调用changeBooking函数来处理改签请求。根据用户提供的信息,预订号是101,新日期是2025年8月12日,出发地和目的地保持不变,用户也同意支付$30的改签费用。
首先,我需要确认函数参数是否正确。根据之前的工具定义,changeBooking需要bookingNumber、date、from、name、to参数。用户已经提供了所有必要的信息,所以可以直接调用。
接下来,需要检查是否符合改签的条款。根据用户提供的条款,改签需要在起飞前24小时进行,当前日期是2025-08-09,原航班是8月11日,改签到8月12日,时间上是符合的。同时,用户同意支付$30的费用,这与商务经济舱的改签费用一致。
然后,调用函数后,需要向用户确认改签成功,并提供新的航班信息。同时,提醒用户注意新的航班日期和可能的费用。此外,需要确保用户知道如果需要进一步调整,可以随时联系支持。
最后,确保回复友好且信息清晰,让用户了解下一步操作和可能的后续步骤。
</think>
您的机票已成功改签至2025年8月12日(广州→杭州,商务经济舱) 。改签费用 $30已收取 ,新航班信息如下:
-航班日期:2025年8月12日
-座位等级:商务经济舱(PREMIUM_ECONOMY)
如需调整其他信息或有其他需求,请随时告知。祝您旅途愉快!

模型输入和输出日志,见知识库的文章。
3. 取消机票预定
机票预定信息

完整的交互指令
你好,我需要取消机票预定,姓名是王通义,预订号是104。
我确认取消此预订。
你好,我需要
取消机票预定
,
姓名是王通义
,
预订号是104
。
diff
// 用户消息
你好,我需要取消机票预定,姓名是王通义,预订号是104。
// 助手消息
<think>
好的,用户需要取消机票预定,姓名是王通义,预订号是104。首先,我需要确认用户提供的信息是否正确。根据记忆中的工具,取消预订需要预订号和姓名,用户已经提供了这两个信息,所以可以直接调用cancelBooking函数。
接下来,我需要检查取消预订的条款是否允许。根据提供的条款,取消预订必须在起飞前48小时进行。用户的预订号是104,但当前日期是2025年8月9日,用户没有提到航班的具体日期。因此,我需要先查询预订详情,确认航班日期,再判断是否符合取消条件。
不过,用户已经直接要求取消,可能希望尽快处理。但根据流程,必须先确认航班日期是否在允许取消的时间范围内。因此,我应该先调用getBookingDetails函数,获取航班信息,再决定是否可以取消。但用户可能没有提供足够的信息,比如航班日期,所以需要先查询。
不过,根据用户提供的信息,可能已经足够调用取消函数,但根据条款,必须确保在48小时前提前取消。如果用户当前日期是2025年8月9日,假设航班日期是8月15日,那么取消时间在48小时前,即8月10日之前,用户现在在8月9日,可能还在允许范围内。但需要确认航班的具体日期。
因此,正确的步骤是先调用getBookingDetails获取航班详情,确认日期,再判断是否符合取消条件。但用户已经直接要求取消,可能需要先确认是否符合条款。不过根据用户提供的信息,可能无法确定航班日期,因此必须先查询。
所以,现在需要调用getBookingDetails函数,参数是预订号104和姓名王通义,获取航班信息,然后根据航班日期判断是否符合取消条件。如果符合,再继续取消流程,否则告知用户无法取消。
</think>
<think>
好的,用户想要取消机票预定,预订号是104,姓名王通义。首先我需要确认他的航班信息。根据之前的工具调用结果,他的航班是2025年8月17日从天津到武汉,商务舱,状态是确认的。
接下来,我需要检查取消政策。根据提供的条款,取消预订必须在起飞前48小时进行。用户的航班是8月17日,今天是8月9日,所以还有时间。不过,用户可能没有意识到航班日期,需要确认是否正确。
然后,查看取消费用。商务舱的取消费用是25美元。需要确认用户是否同意支付这个费用。用户可能希望知道退款时间,通常是7个工作日内的处理。
另外,用户可能没有提到航班的具体时间,但根据之前的回复,航班日期是17号,可能需要确认是否正确。如果有误,可能需要协助更正,但根据当前信息,只能按现有数据处理。
最后,需要礼貌地告知用户取消选项,并询问是否继续。同时提醒费用和退款时间,确保用户了解所有细节。
</think>
您预订的机票信息如下:
-预订号:104
-姓名:王通义
-航班日期:2025年8月17日
-起飞地:天津
-目的地:武汉
-座位等级:商务舱
根据条款,取消预订需在起飞前48小时(即2025年8月14日24:00前)完成。目前您的航班尚在可取消范围内。
取消费用为25美元(商务舱),退款将在7个工作日内处理。
您是否确认取消此预订?

模型输入和输出日志,见知识库的文章。
我确认取消此预订
。
javascript
// 用户消息
我确认取消此预订。
// 助手消息
<think>
好的,用户已经确认取消预订,现在需要处理取消流程。首先,根据之前的对话,用户提供了预订号104和姓名王通义,所以可以直接调用cancelBooking函数。
接下来,需要确认取消是否符合条款。根据用户提供的航班日期是2025年8月17日,今天是8月9日,确实在起飞前48小时范围内,所以可以取消。费用方面,商务舱的取消费用是25美元,用户已经同意,所以需要执行取消操作。
然后,需要调用cancelBooking函数,参数是预订号和姓名。之后,告知用户取消成功,并说明退款将在7个工作日内处理。同时,提醒用户如果有任何问题可以随时联系。确保回复友好且信息准确。
</think>
<think>
好的,用户已经确认取消预订,现在需要处理取消操作。首先,根据之前的工具调用结果,用户的信息是正确的,预订号104,姓名王通义,航班是2025年8月17日的天津到武汉商务舱。
接下来,需要确认取消是否符合条款。根据条款3,取消必须在起飞前48小时,即8月14日24:00前。用户今天是8月9日,所以时间上是符合的。取消费用是25美元,用户应该已经同意这个费用。
然后,需要调用cancelBooking函数来执行取消操作。参数是预订号和姓名,已经正确提供。取消后,需要告知用户退款将在7个工作日内处理,并提醒他们注意航班日期是否正确,避免混淆。
最后,确保回复友好且信息完整,让用户知道下一步操作和可能的后续步骤。同时,检查是否有其他需要用户确认的地方,比如是否需要改签或其他服务,但根据当前问题,用户只提到取消,所以不需要额外询问。
</think>
您的取消请求已提交。 根据条款,取消费用为25美元(商务舱),退款将在7个工作日内处理。
请注意,您的航班日期为2025年8月17日,若需改签或其他协助,请随时告知。
祝您旅途愉快!

模型输入和输出日志,见知识库的文章。
踩过的坑
model "mxbai-embed-large " not found, try pulling it first
错误提示信息
scss
org.springframework.ai.retry.NonTransientAiException: 404 - {"error":"model "mxbai-embed-large" not found, try pulling it first"}
2025-08-09T09:35:16.516+08:00 INFO 1448 --- [ restartedMain] .s.b.a.l.ConditionEvaluationReportLogger :
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2025-08-09T09:35:16.536+08:00 ERROR 1448 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed
org.springframework.ai.retry.NonTransientAiException: 404 - {"error":"model "mxbai-embed-large" not found, try pulling it first"}
at org.springframework.ai.retry.RetryUtils$1.handleError(RetryUtils.java:63) ~[spring-ai-retry-1.0.0.jar:1.0.0]
at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) ~[spring-web-6.1.21.jar:6.1.21]
at org.springframework.web.client.StatusHandler.lambda$fromErrorHandler$1(StatusHandler.java:71) ~[spring-web-6.1.21.jar:6.1.21]
at org.springframework.web.client.StatusHandler.handle(StatusHandler.java:146) ~[spring-web-6.1.21.jar:6.1.21]
at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.applyStatusHandlers(DefaultRestClient.java:709) ~[spring-web-6.1.21.jar:6.1.21]
at org.springframework.web.client.DefaultRestClient.readWithMessageConverters(DefaultRestClient.java:201) ~[spring-web-6.1.21.jar:6.1.21]
at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.readBody(DefaultRestClient.java:696) ~[spring-web-6.1.21.jar:6.1.21]
at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.body(DefaultRestClient.java:642) ~[spring-web-6.1.21.jar:6.1.21]
at org.springframework.ai.ollama.api.OllamaApi.embed(OllamaApi.java:181) ~[spring-ai-ollama-1.0.0.jar:1.0.0]
at org.springframework.ai.ollama.OllamaEmbeddingModel.lambda$call $2 (OllamaEmbeddingModel.java:123) ~[spring-ai-ollama-1.0.0.jar:1.0.0]
at io.micrometer.observation.Observation.observe(Observation.java:565) ~[micrometer-observation-1.13.15.jar:1.13.15]
at org.springframework.ai.ollama.OllamaEmbeddingModel.call(OllamaEmbeddingModel.java:122) ~[spring-ai-ollama-1.0.0.jar:1.0.0]
at org.springframework.ai.embedding.EmbeddingModel.embed(EmbeddingModel.java:67) ~[spring-ai-model-1.0.0.jar:1.0.0]
at org.springframework.ai.embedding.EmbeddingModel.embed(EmbeddingModel.java:49) ~[spring-ai-model-1.0.0.jar:1.0.0]
at org.springframework.ai.embedding.AbstractEmbeddingModel.dimensions(AbstractEmbeddingModel.java:70) ~[spring-ai-model-1.0.0.jar:1.0.0]
at org.springframework.ai.embedding.AbstractEmbeddingModel.dimensions(AbstractEmbeddingModel.java:95) ~[spring-ai-model-1.0.0.jar:1.0.0]
at org.springframework.ai.vectorstore.SimpleVectorStore.createObservationContextBuilder(SimpleVectorStore.java:244) ~[spring-ai-vector-store-1.0.0.jar:1.0.0]
at org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore.add(AbstractObservationVectorStore.java:79) ~[spring-ai-vector-store-1.0.0.jar:1.0.0]
at org.springframework.ai.vectorstore.VectorStore.accept(VectorStore.java:56) ~[spring-ai-vector-store-1.0.0.jar:1.0.0]
at org.springframework.ai.vectorstore.VectorStore.accept(VectorStore.java:41) ~[spring-ai-vector-store-1.0.0.jar:1.0.0]
at org.springframework.ai.document.DocumentWriter.write(DocumentWriter.java:30) ~[spring-ai-commons-1.0.0.jar:1.0.0]
at ai.spring.demo.ai.playground.AgentApplication.lambda$ingestTermOfServiceToVectorStore $1 (AgentApplication.java:49) ~[classes/:na]
at org.springframework.boot.SpringApplication.lambda$callRunner $5 (SpringApplication.java:790) ~[spring-boot-3.3.13.jar:3.3.13]
at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:82) ~[spring-core-6.1.21.jar:6.1.21]
at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60) ~[spring-core-6.1.21.jar:6.1.21]
at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:86) ~[spring-core-6.1.21.jar:6.1.21]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:798) ~[spring-boot-3.3.13.jar:3.3.13]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:789) ~[spring-boot-3.3.13.jar:3.3.13]
at org.springframework.boot.SpringApplication.lambda$callRunners $3 (SpringApplication.java:774) ~[spring-boot-3.3.13.jar:3.3.13]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[na:na]
at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[na:na]
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:774) ~[spring-boot-3.3.13.jar:3.3.13]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:342) ~[spring-boot-3.3.13.jar:3.3.13]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:149) ~[spring-boot-3.3.13.jar:3.3.13]
at ai.spring.demo.ai.playground.AgentApplication.main(AgentApplication.java:31) ~[ classes /:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.3.13.jar:3.3.13]
Process finished with exit code 0
AI 问答
ruby
以下Java异常错误,如何解决?
### 错误提示信息
org.springframework.ai.retry.NonTransientAiException: 404 - {"error":"model "mxbai-embed-large" not found, try pulling it first"}
【解法】拉取模型mxbai-embed-large
sql
ollama pull mxbai-embed-large:latest
调用模型验证
vbnet
curl http://localhost:11434/api/embeddings -d '{
"model": "mxbai-embed-large",
"prompt": "Represent this sentence for searching relevant passages: The sky is blue because of Rayleigh scattering"
}'
{"embedding":[-0.5294436812400818,0.08227244019508362,......,0.011698335409164429,-0.288446307182312]}%