system.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { BaseMessage, BaseMessageChunk, mergeContent, _mergeDicts, } from "./base.js";
  2. /**
  3. * Represents a system message in a conversation.
  4. */
  5. export class SystemMessage extends BaseMessage {
  6. static lc_name() {
  7. return "SystemMessage";
  8. }
  9. _getType() {
  10. return "system";
  11. }
  12. constructor(fields,
  13. /** @deprecated */
  14. kwargs) {
  15. super(fields, kwargs);
  16. }
  17. }
  18. /**
  19. * Represents a chunk of a system message, which can be concatenated with
  20. * other system message chunks.
  21. */
  22. export class SystemMessageChunk extends BaseMessageChunk {
  23. static lc_name() {
  24. return "SystemMessageChunk";
  25. }
  26. _getType() {
  27. return "system";
  28. }
  29. constructor(fields,
  30. /** @deprecated */
  31. kwargs) {
  32. super(fields, kwargs);
  33. }
  34. concat(chunk) {
  35. return new SystemMessageChunk({
  36. content: mergeContent(this.content, chunk.content),
  37. additional_kwargs: _mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
  38. response_metadata: _mergeDicts(this.response_metadata, chunk.response_metadata),
  39. id: this.id ?? chunk.id,
  40. });
  41. }
  42. }
  43. export function isSystemMessage(x) {
  44. return x._getType() === "system";
  45. }
  46. export function isSystemMessageChunk(x) {
  47. return x._getType() === "system";
  48. }