Skip to content

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)
http请求
{
    "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}

查询一个模型实例,提供模型基本信息,例如:拥有者和权限