API详情
悠然大模型是成都考拉悠然科技自主研发的超大规模语言模型,能够在用户自然语言输入的基础上,通过自然语言理解和语义分析,理解用户意图,在不同领域、任务内为用户提供服务和帮助。您可以通过提供尽可能清晰详细的指令,来获取更符合您预期的结果。
模型具备的能力包括但不限于:
创作文字,如写故事、写公文、写邮件、写剧本、写诗歌等
编写代码
提供各类语言的翻译服务,如英语、日语、法语、西班牙语等
进行文本润色和文本摘要等工作
扮演角色进行对话
制作图表
悠然大模型以用户以文本形式输入的指令(prompt)以及不定轮次的对话历史(history)作为输入,返回模型生成的回复作为输出。在这一过程中,文本将被转换为语言模型可以处理的token序列。Token是模型用来表示自然语言文本的基本单位,可以直观的理解为“字”或“词”。对于中文文本来说,1个token通常对应一个汉字;对于英文文本来说,1个token通常对应3至4个字母或1个单词。例如,中文文本“你好”会被转换成序列['你', '好'],而英文文本"Nice to meet you."则会被转换成['Nice', ' to', ' meet', ' you', '.']。
由于模型调用的计算量与token序列长度相关,输入或输出token数量越多,模型的计算时间越长,我们将根据模型输入和输出的token数量计费。可以从API返回结果的 usage 字段中了解到您每次调用时使用的token数量。
模型预览
模型名 | 模型介绍 |
---|---|
koala-mm | 悠然多模态大模型,支持中文英文等不同语言输入。 |
vicuna-13b-v1.5 | vicuna语言模型,支持中文英文等不同语言输入。 |
gpt-3.5-turbo | openai语言模型,支持中文英文等不同语言输入。 |
sqlcoder | 自然语言生成sql |
Baichuan2-13B-Chat | 百川2对话模型,支持中文英文等不同语言输入。 |
SDK使用
语音
语音转录(敬请期待)
语音翻译(敬请期待)
会话
生成会话
POST http://{ip:port}/v1/chat/completions
为一个给定的对话生成一个模型响应结果
请求参数
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
messages | list[dict] | [] | 用户与模型的对话历史,list中的每个元素是形式为{"user":"用户输入","bot":"模型输出"}的一轮对话,多轮对话按时间正序排列。 |
model | string | - | 指定用于对话的通义千问模型名,目前仅支持 koala-mm 。 |
stream (可选) | bool | False | 是否使用流式输出。当以stream模式输出结果时,接口返回结果为generator,需要通过迭代获取结果,每个输出为当前生成的整个序列,最后一次输出为最终全部生成结果。 |
temperature (可选) | 1.0 | False | 用于控制随机性和多样性的程度。具体来说,temperature值控制了生成文本时对每个候选词的概率分布进行平滑的程度。较高的temperature值会降低概率分布的峰值,使得更多的低概率词被选择,生成结果更加多样化;而较低的temperature值则会增强概率分布的峰值,使得高概率词更容易被选择,生成结果更加确定。取值范围: (0, 2) |
响应参数
参数 | 类型 | 说明 |
---|---|---|
id | string | 会话的唯一标识。 |
choices | array | 一列会话的旋转,可能会多余一个。 |
choices | integer | 对话创建时的Unix 时间戳 (秒) |
model | string | 这次对话使用的模型。 |
object | string | 对象类型,恒为chat.completion |
usage | object | 本次请求的使用统计 |
请求示例
python示例
import uraninsight
uraninsight.api_base = "http://192.168.2.59:9015/v1"
completion = uraninsight.ChatCompletion.create(
model="Baichuan-13B-Chat",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(completion.choices[0].message)
{
"temperature": 0,
"messages": [
{
"role": "system",
"content": "你是笑话故事专家,请为用户讲笑话:"
},
{
"role": "user",
"content": "讲个鬼故事"
}
],
"model": "Baichuan2-13B-Chat"
}
响应示例
{
"id": "chatcmpl-UGUGb4wTubCSQFSC34wfzn",
"object": "chat.completion",
"created": 1697168925,
"model": "Baichuan2-13B-Chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "好的,讲一个鬼故事给你听。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 16,
"total_tokens": 415,
"completion_tokens": 399
}
}
文本补全
创建文本补全
POST http://{ip:port}/v1/completions
基于提供的提示词和参数进行文本补全。
请求参数
响应参数
python示例
import uraninsight
completion = uraninsight.Completion.create(
model="Baichuan-13B-Chat",
prompt="Say this is a test"
)
print(completion)
请求示例
{
"temperature": 0.5,
"prompt": "今天老谋理想吃",
"model": "Baichuan-13B-Chat"
}
响应示例
{
"id": "cmpl-3chcbH7UbuMLHySmh2Wtqs",
"object": "text_completion",
"created": 1698754120,
"model": "Baichuan-13B-Chat",
"choices": [
{
"index": 0,
"text": "火锅,于是他决定去一家火锅店。他走进火锅店,发现里面已经坐满了人,他决定等一会儿。过了一会儿,他终于找到了一个空位坐下。\n\n老谋理想点一份鸳鸯锅底,但是服务员告诉他这家店没有鸳鸯锅底,只有麻辣和清汤。老谋理想了想,决定点一份麻辣锅底,因为他觉得清汤锅底太清淡,吃不惯。\n\n点完锅底,老谋理想点一些火锅必备的食材,如毛肚、鸭肠、豆芽、豆腐等。他还想尝试一些新奇的食材,如鱼豆腐、午餐肉、蟹肉棒等。\n\n火锅煮好后,老谋理想先涮一些豆芽和豆腐,让锅底更加浓郁。接着,他开始涮毛肚和鸭肠,这些食材在麻辣锅底中翻滚,味道更加美味。\n\n老谋理想涮一些鱼豆腐、午餐肉和蟹肉棒,这些食材在锅底中煮熟后,口感独特,让他大呼过瘾。他还尝试了一些蔬菜,如金针菇、莴苣等,这些蔬菜在锅底中煮熟后,味道鲜美,让他胃口大开。\n\n火锅吃得差不多的时候,老谋理想点了一些主食,如宽粉、年糕等,这些主食在锅底中煮熟后,味道更加美味,让他回味无穷。\n\n最后,老谋理想喝了一碗火锅汤,觉得这碗汤味道鲜美,让他回味无穷。\n\n吃完火锅后,老谋理想觉得这家火锅店的麻辣锅底味道非常棒,让他大呼过瘾。他决定下次还来这家火锅店,尝试更多的美食。",
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 5,
"total_tokens": 393,
"completion_tokens": 388
}
}
图像
图文对话
POST http://{ip:port}/v1/chat/completions
图文对话
请求参数 响应参数 请求示例
{
"temperature": 0,
"messages": [
{
"images":"http://www.osmagic.com/storage/files/1717389731978301442.jpg",
"role": "user",
"content": "图片里面有什么"
}
],
"model": "koala-mm",
"max_tokens":512
}
响应示例
{
"id": "chatcmpl-3ZUyaQskrgYk9xS2sFRmqN",
"object": "chat.completion",
"created": 1698743363,
"model": "koala-mm",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "图片里面有一个山顶上的停车场,停满了各种车辆,包括小车、大巴车和货车。这个停车场位于一个山顶上,可以俯瞰下面的山路和车辆。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 0,
"total_tokens": 0,
"completion_tokens": 0
}
}
图像生成(敬请期待)
图像编辑 (敬请期待)
创建图像变体 (敬请期待)
通用文本向量
生成文本向量
POST http://{ip:port}/v1/embeddings
为输入文字生成文本向量
请求参数
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
input | string | - | 可以是字符串,字符串列表。 |
model | string | - | 模型的英文名称。 |
响应参数
参数 | 类型 | 说明 |
---|---|---|
index | string | 特征列表的的特征索引。 |
embedding | string | 特征向量,其长度决定于特征模型。 |
请求示例
{
"input": "The food was delicious and the waiter...",
"model": "text2vec-large-chinese",
"encoding_format": "float"
}
响应示例
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.4897420406341553,
-0.9981815218925476,
....,
0.7993206977844238
],
"index": 0
}
],
"model": "text2vec-large-chinese",
"usage": {
"prompt_tokens": 0,
"total_tokens": 0
}
}
模型
列出模型
GET http://{ip:port}/v1/models
响应示例
{
"object": "list",
"data": [
{
"id": "koala-mm",
"object": "model",
"created": 1698807458,
"owned_by": "fastchat",
"root": "koala-mm",
"parent": null,
"permission": [
{
"id": "modelperm-jsZe7Vw2MJJyxKgadMYTq7",
"object": "model_permission",
"created": 1698807458,
"allow_create_engine": false,
"allow_sampling": true,
"allow_logprobs": true,
"allow_search_indices": true,
"allow_view": true,
"allow_fine_tuning": false,
"organization": "*",
"group": null,
"is_blocking": false
}
]
},
...
]
}
查询模型 (未实现)
GET http://{ip:port}/v1/models/{model}
查询一个模型实例,提供模型基本信息,例如:拥有者和权限